Diff of /trunk/src/osm-gps-map.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 61 by harbaum, Tue Aug 18 14:32:45 2009 UTC revision 62 by harbaum, Tue Aug 18 20:33:08 2009 UTC
# Line 112  struct _OsmGpsMapPrivate Line 112  struct _OsmGpsMapPrivate
112      struct {      struct {
113          GdkPixmap *backup;          GdkPixmap *backup;
114          gint backup_x, backup_y;          gint backup_x, backup_y;
   
   
115          //        GdkPixbuf *pixbuf;          //        GdkPixbuf *pixbuf;
116      } osd;      } osd;
117  #endif  #endif
# Line 915  osm_gps_map_tile_download_complete (Soup Line 913  osm_gps_map_tile_download_complete (Soup
913              }              }
914              else              else
915              {              {
916                  g_warning("Error creating tile download directory: %s", dl->folder);                  g_warning("Error creating tile download directory: %s",
917                              dl->folder);
918                    perror("perror:");
919              }              }
920          }          }
921    
# Line 1422  osm_gps_map_draw_osd_controls (OsmGpsMap Line 1422  osm_gps_map_draw_osd_controls (OsmGpsMap
1422    
1423      /* backup previous contents */      /* backup previous contents */
1424      if(!priv->osd.backup)      if(!priv->osd.backup)
1425          priv->osd.backup = gdk_pixmap_new(priv->pixmap, OSD_W, OSD_H, -1);          priv->osd.backup = gdk_pixmap_new(priv->pixmap, OSD_W+2, OSD_H+2, -1);
1426    
1427      gint x = OSD_X + EXTRA_BORDER + xoffset;      gint x = OSD_X + EXTRA_BORDER + xoffset;
1428      gint y = OSD_Y + EXTRA_BORDER + yoffset;      gint y = OSD_Y + EXTRA_BORDER + yoffset;
# Line 1430  osm_gps_map_draw_osd_controls (OsmGpsMap Line 1430  osm_gps_map_draw_osd_controls (OsmGpsMap
1430      /* create backup of background */      /* create backup of background */
1431      gdk_draw_drawable(priv->osd.backup,      gdk_draw_drawable(priv->osd.backup,
1432          GTK_WIDGET(map)->style->fg_gc[GTK_WIDGET_STATE(GTK_WIDGET(map))],          GTK_WIDGET(map)->style->fg_gc[GTK_WIDGET_STATE(GTK_WIDGET(map))],
1433                        priv->pixmap, x, y, 0, 0, OSD_W, OSD_H);                        priv->pixmap, x-1, y-1, 0, 0, OSD_W+2, OSD_H+2);
1434      priv->osd.backup_x = x;      priv->osd.backup_x = x-1;
1435      priv->osd.backup_y = y;      priv->osd.backup_y = y-1;
1436    
1437  #if 0  #if 0
1438      /* create pixbuf for osd */      /* create pixbuf for osd */
# Line 1462  osm_gps_map_draw_osd_controls (OsmGpsMap Line 1462  osm_gps_map_draw_osd_controls (OsmGpsMap
1462  #define LEN  15  #define LEN  15
1463  #define WID  15  #define WID  15
1464    
1465    #define Z_STEP   -5
1466    #define Z_RAD    15
1467    #define Z_TOP    2*RAD+Z_STEP
1468    #define Z_MID    Z_TOP+Z_RAD
1469    #define Z_BOT    Z_MID+Z_RAD
1470    #define Z_LEFT   Z_RAD
1471    #define Z_RIGHT  2*RAD-Z_RAD
1472    
1473      /* --------- the direction "pad" shape and shadow ----------- */      /* --------- the direction "pad" shape and shadow ----------- */
1474    
1475        cairo_move_to (cr, x+Z_LEFT+5,    y+Z_TOP+5);
1476        cairo_line_to (cr, x+Z_RIGHT+5,   y+Z_TOP+5);
1477        cairo_arc     (cr, x+Z_RIGHT+5,   y+Z_MID+5, Z_RAD, -M_PI/2,  M_PI/2);
1478        cairo_line_to (cr, x+Z_LEFT+5,    y+Z_BOT+5);
1479        cairo_arc     (cr, x+Z_LEFT+5,    y+Z_MID+5, Z_RAD,  M_PI/2, -M_PI/2);
1480        cairo_close_path (cr);
1481    
1482        cairo_set_source_rgba (cr, 0, 0, 0, 0.2);
1483        cairo_fill (cr);
1484        cairo_stroke (cr);
1485    
1486      cairo_arc (cr, x+RAD+5, y+RAD+5, RAD, 0, 2 * M_PI);      cairo_arc (cr, x+RAD+5, y+RAD+5, RAD, 0, 2 * M_PI);
1487        cairo_close_path (cr);
1488    
1489      cairo_set_source_rgba (cr, 0, 0, 0, 0.2);      cairo_set_source_rgba (cr, 0, 0, 0, 0.2);
1490      cairo_fill (cr);      cairo_fill (cr);
1491      cairo_stroke (cr);      cairo_stroke (cr);
1492    
1493    
1494        cairo_move_to (cr, x+Z_LEFT,    y+Z_TOP);
1495        cairo_line_to (cr, x+Z_RIGHT,   y+Z_TOP);
1496        cairo_arc     (cr, x+Z_RIGHT,   y+Z_MID, Z_RAD, -M_PI/2,  M_PI/2);
1497        cairo_line_to (cr, x+Z_LEFT,    y+Z_BOT);
1498        cairo_arc     (cr, x+Z_LEFT,    y+Z_MID, Z_RAD,  M_PI/2, -M_PI/2);
1499        cairo_close_path (cr);
1500    
     cairo_arc (cr, x+RAD, y+RAD, RAD, 0, 2 * M_PI);  
1501      cairo_set_source_rgb (cr, 1, 1, 1);      cairo_set_source_rgb (cr, 1, 1, 1);
1502      cairo_fill_preserve (cr);      cairo_fill_preserve (cr);
1503      cairo_set_source_rgb (cr, 0.6, 0.6, 1);      cairo_set_source_rgb (cr, 0.6, 0.6, 1);
1504      cairo_set_line_width (cr, 1);      cairo_set_line_width (cr, 1);
1505      cairo_stroke (cr);      cairo_stroke (cr);
1506    
1507      /* ---------- the zoom pad shape and shadow  -------------- */      cairo_arc (cr, x+RAD, y+RAD, RAD, 0, 2 * M_PI);
     cairo_move_to (cr, x,       y+2*RAD);  
     cairo_line_to (cr, x+2*RAD-10, y+2*RAD);  
     cairo_curve_to (cr, x+2*RAD, y+2*RAD,  
                         x+2*RAD, y+3*RAD,  
                         x+2*RAD-10, y+3*RAD);  
1508      cairo_close_path (cr);      cairo_close_path (cr);
1509    
1510        cairo_set_source_rgb (cr, 1, 1, 1);
1511      cairo_set_source_rgba (cr, 1, 1, 1, 1.0);      cairo_fill_preserve (cr);
1512      cairo_fill (cr);      cairo_set_source_rgb (cr, 0.6, 0.6, 1);
1513        cairo_set_line_width (cr, 1);
1514      cairo_stroke (cr);      cairo_stroke (cr);
1515    
1516        /* ---------- the zoom pad shape and shadow  -------------- */
1517    
1518    
1519    
1520      /* left arrow/triangle */      /* left arrow/triangle */
1521      cairo_move_to (cr, x+RAD-TIP, y+RAD);      cairo_move_to (cr, x+RAD-TIP, y+RAD);
# Line 1542  osm_gps_map_osd_restore (OsmGpsMap *map) Line 1570  osm_gps_map_osd_restore (OsmGpsMap *map)
1570          gdk_draw_drawable(priv->pixmap,          gdk_draw_drawable(priv->pixmap,
1571              GTK_WIDGET(map)->style->fg_gc[GTK_WIDGET_STATE(GTK_WIDGET(map))],              GTK_WIDGET(map)->style->fg_gc[GTK_WIDGET_STATE(GTK_WIDGET(map))],
1572                        priv->osd.backup, 0, 0,                        priv->osd.backup, 0, 0,
1573                        priv->osd.backup_x, priv->osd.backup_y, OSD_W, OSD_H);                        priv->osd.backup_x, priv->osd.backup_y, OSD_W+2, OSD_H+2);
1574      }      }
1575  }  }
1576    

Legend:
Removed from v.61  
changed lines
  Added in v.62