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

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

revision 69 by harbaum, Thu Aug 20 18:54:06 2009 UTC revision 87 by harbaum, Mon Aug 31 12:01:28 2009 UTC
# Line 65  typedef enum { Line 65  typedef enum {
65      OSM_GPS_MAP_SOURCE_NULL,      OSM_GPS_MAP_SOURCE_NULL,
66      OSM_GPS_MAP_SOURCE_OPENSTREETMAP,      OSM_GPS_MAP_SOURCE_OPENSTREETMAP,
67      OSM_GPS_MAP_SOURCE_OPENSTREETMAP_RENDERER,      OSM_GPS_MAP_SOURCE_OPENSTREETMAP_RENDERER,
68      OSM_GPS_MAP_SOURCE_OPENAERIALMAP,      OSM_GPS_MAP_SOURCE_OPENCYCLEMAP,
69      OSM_GPS_MAP_SOURCE_MAPS_FOR_FREE,      OSM_GPS_MAP_SOURCE_MAPS_FOR_FREE,
70      OSM_GPS_MAP_SOURCE_GOOGLE_STREET,      OSM_GPS_MAP_SOURCE_GOOGLE_STREET,
71      OSM_GPS_MAP_SOURCE_GOOGLE_SATELLITE,      OSM_GPS_MAP_SOURCE_GOOGLE_SATELLITE,
# Line 78  typedef enum { Line 78  typedef enum {
78      OSM_GPS_MAP_SOURCE_YAHOO_HYBRID      OSM_GPS_MAP_SOURCE_YAHOO_HYBRID
79  } OsmGpsMapSource_t;  } OsmGpsMapSource_t;
80    
81    #define OSM_GPS_MAP_SOURCE_LAST  (OSM_GPS_MAP_SOURCE_YAHOO_HYBRID)
82    
83  typedef struct {  typedef struct {
84      gint x, y, w, h;      gint x, y, w, h;
85  } OsmGpsMapRect_t;  } OsmGpsMapRect_t;
# Line 91  typedef enum { Line 93  typedef enum {
93      OSD_RIGHT,      OSD_RIGHT,
94      OSD_IN,      OSD_IN,
95      OSD_OUT,      OSD_OUT,
96      OSD_GPS      OSD_CUSTOM   // first custom buttom
97  } osd_button_t;  } osd_button_t;
98    
99    typedef void (*OsmGpsMapOsdCallback)(osd_button_t but, gpointer data);
100    #define OSM_GPS_MAP_OSD_CALLBACK(f) ((OsmGpsMapOsdCallback) (f))
101    
102    /* the osd structure mainly contains various callbacks */
103    /* required to draw and update the OSD */
104    typedef struct osm_gps_map_osd_s {
105        GtkWidget *widget;   // the main map widget (to get its stlye info)
106    
107        void(*render)(struct osm_gps_map_osd_s *);
108        void(*draw)(struct osm_gps_map_osd_s *, GdkDrawable *);
109        osd_button_t(*check)(struct osm_gps_map_osd_s *,gint, gint);       /* check if x/y lies within OSD */
110        gboolean(*busy)(struct osm_gps_map_osd_s *);
111        void(*free)(struct osm_gps_map_osd_s *);
112    
113        OsmGpsMapOsdCallback cb;
114        gpointer data;
115    
116        gpointer priv;
117    } osm_gps_map_osd_t;
118    
119  typedef void (*OsmGpsMapBalloonCallback)(cairo_t *, OsmGpsMapRect_t *rect,  typedef void (*OsmGpsMapBalloonCallback)(cairo_t *, OsmGpsMapRect_t *rect,
120                                           gpointer data);                                           gpointer data);
121  #define OSM_GPS_MAP_BALLOON_CALLBACK(f) ((OsmGpsMapBalloonCallback) (f))  #define OSM_GPS_MAP_BALLOON_CALLBACK(f) ((OsmGpsMapBalloonCallback) (f))
122    
 typedef void (*OsmGpsMapOsdGpsCallback)(gpointer data);  
 #define OSM_GPS_MAP_OSD_GPS_CALLBACK(f) ((OsmGpsMapOsdGpsCallback) (f))  
   
123  GType osm_gps_map_get_type (void) G_GNUC_CONST;  GType osm_gps_map_get_type (void) G_GNUC_CONST;
124    
125  const char* osm_gps_map_source_get_friendly_name(OsmGpsMapSource_t source);  const char* osm_gps_map_source_get_friendly_name(OsmGpsMapSource_t source);
# Line 119  void osm_gps_map_clear_tracks (OsmGpsMap Line 138  void osm_gps_map_clear_tracks (OsmGpsMap
138  void osm_gps_map_add_image (OsmGpsMap *map, float latitude, float longitude, GdkPixbuf *image);  void osm_gps_map_add_image (OsmGpsMap *map, float latitude, float longitude, GdkPixbuf *image);
139  gboolean osm_gps_map_remove_image (OsmGpsMap *map, GdkPixbuf *image);  gboolean osm_gps_map_remove_image (OsmGpsMap *map, GdkPixbuf *image);
140  void osm_gps_map_clear_images (OsmGpsMap *map);  void osm_gps_map_clear_images (OsmGpsMap *map);
 void osm_gps_map_osd_speed (OsmGpsMap *map, float speed);  
141  void osm_gps_map_draw_gps (OsmGpsMap *map, float latitude, float longitude, float heading);  void osm_gps_map_draw_gps (OsmGpsMap *map, float latitude, float longitude, float heading);
142  void osm_gps_map_clear_gps (OsmGpsMap *map);  void osm_gps_map_clear_gps (OsmGpsMap *map);
143  coord_t osm_gps_map_get_co_ordinates (OsmGpsMap *map, int pixel_x, int pixel_y);  coord_t osm_gps_map_get_co_ordinates (OsmGpsMap *map, int pixel_x, int pixel_y);
# Line 137  void osm_gps_map_draw_balloon (OsmGpsMap Line 155  void osm_gps_map_draw_balloon (OsmGpsMap
155  void osm_gps_map_clear_balloon (OsmGpsMap *map);  void osm_gps_map_clear_balloon (OsmGpsMap *map);
156  #endif  #endif
157  #ifdef ENABLE_OSD  #ifdef ENABLE_OSD
158  void osm_gps_map_osd_enable_gps (OsmGpsMap *map, OsmGpsMapOsdGpsCallback cb, gpointer data);  void osm_gps_map_register_osd(OsmGpsMap *map, osm_gps_map_osd_t *osd);
159  osd_button_t osm_gps_map_osd_check(gint x, gint y);  void osm_gps_map_redraw (OsmGpsMap *map);
160    osm_gps_map_osd_t *osm_gps_map_osd_get(OsmGpsMap *map);
161    void osm_gps_map_repaint (OsmGpsMap *map);
162  #endif  #endif
163    
164    

Legend:
Removed from v.69  
changed lines
  Added in v.87