Mercurial > dwindows
comparison gtk3/dw.c @ 1524:010e1d916ee7
Added DW_DRAW_NOAA support on GTK3 for both pixmaps and windows.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sat, 31 Dec 2011 17:14:33 +0000 |
parents | 218c85939040 |
children | 5facb5380944 |
comparison
equal
deleted
inserted
replaced
1523:026c0b4d6ee9 | 1524:010e1d916ee7 |
---|---|
6920 } | 6920 } |
6921 else if(pixmap) | 6921 else if(pixmap) |
6922 cr = cairo_create(pixmap->image); | 6922 cr = cairo_create(pixmap->image); |
6923 if(cr) | 6923 if(cr) |
6924 { | 6924 { |
6925 GdkColor *foreground = pthread_getspecific(_dw_fg_color_key); | 6925 GdkColor *foreground = pthread_getspecific(_dw_fg_color_key); |
6926 | 6926 |
6927 if(flags & DW_DRAW_NOAA) | |
6928 cairo_set_antialias(cr, CAIRO_ANTIALIAS_NONE); | |
6929 | |
6927 gdk_cairo_set_source_color (cr, foreground); | 6930 gdk_cairo_set_source_color (cr, foreground); |
6928 cairo_set_line_width(cr, 1); | 6931 cairo_set_line_width(cr, 1); |
6929 cairo_move_to(cr, x[0], y[0]); | 6932 cairo_move_to(cr, x[0], y[0]); |
6930 for(z=1;z<npoints;z++) | 6933 for(z=1;z<npoints;z++) |
6931 { | 6934 { |
6970 cr = cairo_create(pixmap->image); | 6973 cr = cairo_create(pixmap->image); |
6971 if(cr) | 6974 if(cr) |
6972 { | 6975 { |
6973 GdkColor *foreground = pthread_getspecific(_dw_fg_color_key); | 6976 GdkColor *foreground = pthread_getspecific(_dw_fg_color_key); |
6974 | 6977 |
6978 if(flags & DW_DRAW_NOAA) | |
6979 cairo_set_antialias(cr, CAIRO_ANTIALIAS_NONE); | |
6980 | |
6975 gdk_cairo_set_source_color (cr, foreground); | 6981 gdk_cairo_set_source_color (cr, foreground); |
6976 cairo_set_line_width(cr, 1); | 6982 cairo_set_line_width(cr, 1); |
6977 cairo_move_to(cr, x, y); | 6983 cairo_move_to(cr, x, y); |
6978 cairo_line_to(cr, x, y + height); | 6984 cairo_line_to(cr, x, y + height); |
6979 cairo_line_to(cr, x + width, y + height); | 6985 cairo_line_to(cr, x + width, y + height); |
7026 double r = sqrt(dx*dx + dy*dy); | 7032 double r = sqrt(dx*dx + dy*dy); |
7027 double a1 = atan2((y1-yorigin), (x1-xorigin)); | 7033 double a1 = atan2((y1-yorigin), (x1-xorigin)); |
7028 double a2 = atan2((y2-yorigin), (x2-xorigin)); | 7034 double a2 = atan2((y2-yorigin), (x2-xorigin)); |
7029 int width = x2-x1; | 7035 int width = x2-x1; |
7030 float scale = (float)(y2-y1)/(float)width; | 7036 float scale = (float)(y2-y1)/(float)width; |
7031 | 7037 |
7038 if(flags & DW_DRAW_NOAA) | |
7039 cairo_set_antialias(cr, CAIRO_ANTIALIAS_NONE); | |
7040 | |
7032 gdk_cairo_set_source_color (cr, foreground); | 7041 gdk_cairo_set_source_color (cr, foreground); |
7033 cairo_set_line_width(cr, 1); | 7042 cairo_set_line_width(cr, 1); |
7034 if(scale != 1.0) | 7043 if(scale != 1.0) |
7035 cairo_scale(cr, 1.0, scale); | 7044 cairo_scale(cr, 1.0, scale); |
7036 if(flags & DW_DRAW_FULL) | 7045 if(flags & DW_DRAW_FULL) |