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)