X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/aa69d10622b9f0650b0b8da0603f3a66cd131ac7..14b9e3a4c4f3912bfe5e848e6b0bf8d7620a53a0:/src/vikmapsource.c diff --git a/src/vikmapsource.c b/src/vikmapsource.c index 98f4d50a..b5470f42 100644 --- a/src/vikmapsource.c +++ b/src/vikmapsource.c @@ -64,6 +64,7 @@ vik_map_source_class_init (VikMapSourceClass *klass) klass->get_copyright = NULL; klass->get_license = NULL; klass->get_license_url = NULL; + klass->get_logo = NULL; klass->get_uniq_id = NULL; klass->get_label = NULL; klass->get_tilesize_x = NULL; @@ -86,17 +87,27 @@ _supports_download_only_new (VikMapSource *self) return FALSE; } -const gchar * -vik_map_source_get_copyright (VikMapSource *self) +/** + * vik_map_source_get_copyright: + * @self: the VikMapSource of interest. + * @bbox: bounding box of interest. + * @zoom: the zoom level of interest. + * @fct: the callback function to use to return matching copyrights. + * @data: the user data to use to call the callbaack function. + * + * Retrieve copyright(s) for the corresponding bounding box and zoom level. + */ +void +vik_map_source_get_copyright (VikMapSource *self, LatLonBBox bbox, gdouble zoom, void (*fct)(VikViewport*,const gchar*), void *data) { VikMapSourceClass *klass; - g_return_val_if_fail (self != NULL, NULL); - g_return_val_if_fail (VIK_IS_MAP_SOURCE (self), NULL); + g_return_if_fail (self != NULL); + g_return_if_fail (VIK_IS_MAP_SOURCE (self)); klass = VIK_MAP_SOURCE_GET_CLASS(self); - g_return_val_if_fail (klass->get_copyright != NULL, NULL); + g_return_if_fail (klass->get_copyright != NULL); - return (*klass->get_copyright)(self); + (*klass->get_copyright)(self, bbox, zoom, fct, data); } const gchar * @@ -125,6 +136,19 @@ vik_map_source_get_license_url (VikMapSource *self) return (*klass->get_license_url)(self); } +const GdkPixbuf * +vik_map_source_get_logo (VikMapSource *self) +{ + VikMapSourceClass *klass; + g_return_val_if_fail (self != NULL, NULL); + g_return_val_if_fail (VIK_IS_MAP_SOURCE (self), NULL); + klass = VIK_MAP_SOURCE_GET_CLASS(self); + + g_return_val_if_fail (klass->get_logo != NULL, NULL); + + return (*klass->get_logo)(self); +} + guint8 vik_map_source_get_uniq_id (VikMapSource *self) {