X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/17281ebdbd8ec39f0a10450de309b9966cbc6351..5f95559592dfdbf92b2fc0d39906329facf1729e:/src/vikmapsource.c diff --git a/src/vikmapsource.c b/src/vikmapsource.c index b5470f42..217a619c 100644 --- a/src/vikmapsource.c +++ b/src/vikmapsource.c @@ -70,6 +70,7 @@ vik_map_source_class_init (VikMapSourceClass *klass) klass->get_tilesize_x = NULL; klass->get_tilesize_y = NULL; klass->get_drawmode = NULL; + klass->is_direct_file_access = NULL; klass->supports_download_only_new = _supports_download_only_new; klass->coord_to_mapcoord = NULL; klass->mapcoord_to_center_coord = NULL; @@ -214,6 +215,26 @@ vik_map_source_get_drawmode (VikMapSource *self) return (*klass->get_drawmode)(self); } +/** + * vik_map_source_is_direct_file_access: + * @self: the VikMapSource of interest. + * + * Return true when we can bypass all this download malarky + * Treat the files as a pre generated data set in OSM tile server layout: /%d/%d/%d.png + */ +gboolean +vik_map_source_is_direct_file_access (VikMapSource * self) +{ + VikMapSourceClass *klass; + g_return_val_if_fail (self != NULL, 0); + g_return_val_if_fail (VIK_IS_MAP_SOURCE (self), 0); + klass = VIK_MAP_SOURCE_GET_CLASS(self); + + g_return_val_if_fail (klass->is_direct_file_access != NULL, 0); + + return (*klass->is_direct_file_access)(self); +} + gboolean vik_map_source_supports_download_only_new (VikMapSource * self) {