X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/a25c4c508425a98c4aba9b5d72c6e57c985f9da2..5a37f6455110be56f334bd1e61c423f090421047:/src/vikmapslayer.h diff --git a/src/vikmapslayer.h b/src/vikmapslayer.h index 3df9e9d1..d32ca8eb 100644 --- a/src/vikmapslayer.h +++ b/src/vikmapslayer.h @@ -22,7 +22,10 @@ #ifndef _VIKING_MAPSLAYER_H #define _VIKING_MAPSLAYER_H +#include "vikcoord.h" #include "viklayer.h" +#include "vikviewport.h" +#include "mapcoord.h" #define VIK_MAPS_LAYER_TYPE (vik_maps_layer_get_type ()) #define VIK_MAPS_LAYER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIK_MAPS_LAYER_TYPE, VikMapsLayer)) @@ -40,4 +43,22 @@ GType vik_maps_layer_get_type (); typedef struct _VikMapsLayer VikMapsLayer; +typedef struct { + guint8 uniq_id; + guint16 tilesize_x; + guint16 tilesize_y; + guint drawmode; + gboolean (*coord_to_mapcoord) ( const VikCoord *src, gdouble xzoom, gdouble yzoom, MapCoord *dest ); + void (*mapcoord_to_center_coord) ( MapCoord *src, VikCoord *dest ); + int (*download) ( MapCoord *src, const gchar *dest_fn ); + /* TODO: constant size (yay!) */ +} VikMapsLayer_MapType; + +void maps_layer_register_type ( const char *label, guint id, VikMapsLayer_MapType *map_type ); +void maps_layer_download_section_without_redraw ( VikMapsLayer *vml, VikViewport *vvp, VikCoord *ul, VikCoord *br, gdouble zoom); +gint vik_maps_layer_get_map_type(VikMapsLayer *vml); +gchar *vik_maps_layer_get_map_label(VikMapsLayer *vml); +gchar *maps_layer_default_dir (); + + #endif