Commit a2dea0eeb45f145b7d8869111abb7c4d57a9f76c

Documentation of the new loading chain.

Added documentation comments for the new classes and functions. Some
minor function renames and moving around.

Signed-off-by: Jiří Techet <techet@gmail.com>
champlain/champlain-bounding-box.h
(4 / 0)
  
3333
3434/**
3535 * ChamplainBoundingBox:
36 * @left: left coordinate
37 * @bottom: bottom coordinate
38 * @right: right coordinate
39 * @top: top coordinate
3640 *
3741 * Defines the area of a ChamplainMapDataSource that contains data.
3842 *
champlain/champlain-error-tile-source.c
(19 / 0)
  
1717 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1818 */
1919
20/**
21 * SECTION:champlain-error-tile-source
22 * @short_description: A map source displaying error tiles
23 *
24 * #ChamplainErrorTileSource always fills a tile with error tile image.
25 * Applications can create their own error tile sources to change the look
26 * of the error tile.
27 */
28
2029#include "champlain-error-tile-source.h"
2130
2231G_DEFINE_TYPE (ChamplainErrorTileSource, champlain_error_tile_source, CHAMPLAIN_TYPE_TILE_SOURCE);
7474 priv->error_actor = NULL;
7575}
7676
77/**
78 * champlain_error_tile_source_new_full:
79 * @tile_size: size of the error tile
80 *
81 * Constructor of #ChamplainErrorTileSource.
82 *
83 * Returns: a constructed #ChamplainErrorTileSource
84 *
85 * Since: 0.6
86 */
7787ChamplainErrorTileSource* champlain_error_tile_source_new_full (guint tile_size)
7888{
7989 return g_object_new (CHAMPLAIN_TYPE_ERROR_TILE_SOURCE, "tile-size", tile_size, NULL);
champlain/champlain-file-cache.c
(98 / 0)
  
1717 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1818 */
1919
20/**
21 * SECTION:champlain-file-cache
22 * @short_description: Stores and loads cached tiles from the file system
23 *
24 * #ChamplainFileCache is a map source that stores and retrieves tiles from the
25 * file system. It can be temporary (deleted when the object is destroyed) or
26 * permanent. Tiles most frequently loaded gain in "popularity". This popularity
27 * is taken into account when purging the cache.
28 */
29
2030#define DEBUG_FLAG CHAMPLAIN_DEBUG_CACHE
2131#include "champlain-debug.h"
2232
329329 object_class->set_property = champlain_file_cache_set_property;
330330 object_class->constructed = champlain_file_cache_constructed;
331331
332 /**
333 * ChamplainFileCache:size-limit:
334 *
335 * The cache size limit in bytes.
336 *
337 * Note: this new value will not be applied until you call #champlain_cache_purge
338 *
339 * Since: 0.4
340 */
332341 pspec = g_param_spec_uint ("size-limit",
333342 "Size Limit",
334343 "The cache's size limit (Mb)",
347347 G_PARAM_CONSTRUCT | G_PARAM_READWRITE);
348348 g_object_class_install_property (object_class, PROP_SIZE_LIMIT, pspec);
349349
350 /**
351 * ChamplainFileCache:cache-dir:
352 *
353 * The directory where the tile database is stored.
354 *
355 * Since: 0.6
356 */
350357 pspec = g_param_spec_string ("cache-dir",
351358 "Cache Directory",
352359 "The directory of the cache",
383383 priv->stmt_update = NULL;
384384}
385385
386/**
387 * champlain_file_cache_new:
388 *
389 * Default constructor of #ChamplainFileCache.
390 *
391 * Returns: a constructed permanent cache of maximal size 100000000 B inside
392 * ~/.cache/champlain.
393 *
394 * Since: 0.6
395 */
386396ChamplainFileCache* champlain_file_cache_new (void)
387397{
388398 gchar *cache_path;
406406 return cache;
407407}
408408
409/**
410 * champlain_file_cache_new_full:
411 * @size_limit: maximal size of the cache in bytes
412 * @cache_dir: the directory where the cache is created. For temporary caches
413 * one more directory with random name is created inside this directory.
414 * When cache_dir == NULL, a cache in ~/.cache/champlain is used for permanent
415 * caches and /tmp for temporary caches.
416 * @persistent: if TRUE, the cache is persistent; otherwise the cache is
417 * temporary and will be deleted when the cache object is destructed.
418 *
419 * Constructor of #ChamplainFileCache.
420 *
421 * Returns: a constructed #ChamplainFileCache
422 *
423 * Since: 0.6
424 */
409425ChamplainFileCache* champlain_file_cache_new_full (guint size_limit,
410426 const gchar *cache_dir, gboolean persistent)
411427{
431431 return cache;
432432}
433433
434/**
435 * champlain_file_cache_get_size_limit:
436 * @file_cache: a #ChamplainCache
437 *
438 * Gets the cache size limit in bytes.
439 *
440 * Returns: size limit
441 *
442 * Since: 0.4
443 */
434444guint
435445champlain_file_cache_get_size_limit (ChamplainFileCache *file_cache)
436446{
450450 return priv->size_limit;
451451}
452452
453/**
454 * champlain_file_cache_get_cache_dir:
455 * @file_cache: a #ChamplainCache
456 *
457 * Gets the directory where the cache database is stored.
458 *
459 * Returns: the directory
460 *
461 * Since: 0.6
462 */
453463const gchar *
454464champlain_file_cache_get_cache_dir (ChamplainFileCache *file_cache)
455465{
469469 return priv->cache_dir;
470470}
471471
472/**
473 * champlain_file_cache_set_size_limit:
474 * @file_cache: a #ChamplainCache
475 * @size_limit: the cache limit in bytes
476 *
477 * Sets the cache size limit in bytes.
478 *
479 * Since: 0.4
480 */
472481void
473482champlain_file_cache_set_size_limit (ChamplainFileCache *file_cache,
474483 guint size_limit)
863863 return FALSE;
864864}
865865
866/**
867 * champlain_file_cache_purge_on_idle:
868 * @file_cache: a #ChamplainCache
869 *
870 * Purge the cache from the less popular tiles until cache's size limit is reached.
871 * This is a non blocking call as the purge will happen when the application is idle
872 *
873 * Since: 0.4
874 */
866875void
867876champlain_file_cache_purge_on_idle (ChamplainFileCache *file_cache)
868877{
879879 g_idle_add (purge_on_idle, file_cache);
880880}
881881
882/**
883 * champlain_file_cache_purge:
884 * @file_cache: a #ChamplainCache
885 *
886 * Purge the cache from the less popular tiles until cache's size limit is reached.
887 *
888 * Since: 0.4
889 */
882890void
883891champlain_file_cache_purge (ChamplainFileCache *file_cache)
884892{
champlain/champlain-map-data-source.c
(1 / 1)
  
193193 * champlain_map_data_source_get_map_data:
194194 * @data_source: a #ChamplainMapDataSource
195195 *
196 * Returns the #MemphisMap of the data source or NULL.
196 * Returns: the #MemphisMap of the data source or NULL.
197197 *
198198 * Since: 0.6
199199 */
champlain/champlain-map-source-chain.c
(42 / 2)
  
1616 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1717 */
1818
19/**
20 * SECTION:champlain-map-source-chain
21 * @short_description: A map source simplifying creation of source chains
22 *
23 * This map source simplifies creation of map chains by providing two
24 * functions for their creation and modification in a stack-like manner:
25 * champlain_map_source_chain_push() and champlain_map_source_chain_pop().
26 * For instance, to create a chain consisting of #ChamplainFileCache,
27 * #ChamplainNetworkTileSource and #ChamplainErrorTileSource, the map
28 * sources have to be pushed into the chain in the reverse order starting
29 * from #ChamplainErrorTileSource. After its creation, #ChamplainMapSourceChain
30 * behaves as a chain of map sources it contains.
31 */
32
1933#include "champlain-map-source-chain.h"
2034#include "champlain-tile-cache.h"
2135#include "champlain-tile-source.h"
6363 ChamplainMapSourceChainPrivate *priv = GET_PRIVATE(object);
6464
6565 while (priv->stack_top)
66 champlain_map_source_chain_pop_map_source (source_chain);
66 champlain_map_source_chain_pop (source_chain);
6767
6868 G_OBJECT_CLASS (champlain_map_source_chain_parent_class)->dispose (object);
6969}
105105 priv->sig_handler_id = 0;
106106}
107107
108/**
109 * champlain_map_source_chain_new:
110 *
111 * Constructor of #ChamplainMapSourceChain.
112 *
113 * Returns: a new empty #ChamplainMapSourceChain.
114 *
115 * Since: 0.6
116 */
108117ChamplainMapSourceChain* champlain_map_source_chain_new (void)
109118{
110119 return g_object_new (CHAMPLAIN_TYPE_MAP_SOURCE_CHAIN, NULL);
242242 g_signal_emit_by_name (source_chain, "reload-tiles", NULL);
243243}
244244
245/**
246 * champlain_map_source_chain_push:
247 * @source_chain: a #ChamplainMapSourceChain
248 * @map_source: the #ChamplainMapSource to be pushed into the chain
249 *
250 * Pushes a map source into the chain.
251 *
252 * Since: 0.6
253 */
245254void champlain_map_source_chain_push (ChamplainMapSourceChain *source_chain, ChamplainMapSource *map_source)
246255{
247256 ChamplainMapSourceChainPrivate *priv = GET_PRIVATE(source_chain);
288288 G_CALLBACK (reload_tiles_cb), source_chain);
289289}
290290
291void champlain_map_source_chain_pop_map_source (ChamplainMapSourceChain *source_chain)
291/**
292 * champlain_map_source_chain_pop:
293 * @source_chain: a #ChamplainMapSourceChain
294 *
295 * Pops the map source from the top of the stack from the chain.
296 *
297 * Since: 0.6
298 */
299void champlain_map_source_chain_pop (ChamplainMapSourceChain *source_chain)
292300{
293301 ChamplainMapSourceChainPrivate *priv = GET_PRIVATE(source_chain);
294302 ChamplainMapSource *old_stack_top = priv->stack_top;
champlain/champlain-map-source-chain.h
(1 / 1)
  
5454ChamplainMapSourceChain* champlain_map_source_chain_new (void);
5555
5656void champlain_map_source_chain_push (ChamplainMapSourceChain *source_chain, ChamplainMapSource *map_source);
57void champlain_map_source_chain_pop_map_source (ChamplainMapSourceChain *source_chain);
57void champlain_map_source_chain_pop (ChamplainMapSourceChain *source_chain);
5858
5959G_END_DECLS
6060
champlain/champlain-map-source-factory.c
(13 / 1)
  
1818
1919/**
2020 * SECTION:champlain-map-source-factory
21 * @short_description: Manages #ChamplainMapSource
21 * @short_description: Manages #ChamplainMapSource instances
2222 *
2323 * This factory manages the create of #ChamplainMapSource. It contains names
2424 * and constructor functions for each available map sources in libchamplain.
328328
329329/**
330330 * champlain_map_source_factory_dup_list:
331 * @factory: the Factory
331332 *
332333 * Returns: the list of registered map sources, the items should not be freed,
333334 * the list should be freed with #g_slist_free.
373373 return NULL;
374374}
375375
376/**
377 * champlain_map_source_factory_create_cached_source:
378 * @factory: the Factory
379 * @id: the wanted map source id
380 *
381 * Returns: a ready to use #ChamplainMapSourceChain consisting of
382 * #ChamplainFileCache, #ChamplainMapSource matching the given name, and
383 * #ChamplainErrorTileSource.
384 *
385 * Since: 0.6
386 */
376387ChamplainMapSource * champlain_map_source_factory_create_cached_source (ChamplainMapSourceFactory *factory,
377388 const gchar *id)
378389{
champlain/champlain-map-source.c
(249 / 2)
  
1616 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1717 */
1818
19/**
20 * SECTION:champlain-map-source
21 * @short_description: A base class for map sources
22 *
23 * #ChamplainTile objects come from map sources which are represented by
24 * #ChamplainMapSource. This is should be considered an abstract
25 * type as it does nothing of interest.
26 *
27 * When loading new tiles, #ChamplainView calls champlain_map_source_fill_tile()
28 * on the current #ChamplainMapSource passing it a #ChamplainTile to be filled
29 * with the image.
30 *
31 * Apart from being a base class of all map sources, #ChamplainMapSource
32 * also supports cooperation of multiple map sources by arranging them into
33 * chains. Every map source has the #ChamplainMapSource::next-source property
34 * that determines the next map source in the chain. When a function of
35 * a #ChamplainMapSource object is invoked, the map source may decide to
36 * delegate the work to the next map source in the chain by invoking the
37 * same function on it.
38
39 * To undertand the concept of chains, consider for instance a chain
40 * consisting of #ChamplainFileCache whose next source is
41 * #ChamplainNetworkTileSource whose next source is #ChamplainErrorTileSource.
42 * When champlain_map_source_fill_tile() is called on the first object of the
43 * chain, #ChamplainFileCache, the cache checks whether it contains the
44 * requested tile in its database. If it does, it returns the tile; otherwise,
45 * it calls champlain_map_source_fill_tile() on the next source in the chain
46 * (#ChamplainNetworkTileSource). The network tile source loads the tile
47 * from the network. When successful, it returns the tile; otherwise it requests
48 * the tile from the next source in the chain (#ChamplainErrorTileSource).
49 * #ChamplainErrorTileSource always generates an error tile, no matter what
50 * its next source is.
51 */
52
1953#include "champlain-map-source.h"
2054
2155#include <math.h>
170170 klass->get_min_zoom_level = NULL;
171171 klass->get_max_zoom_level = NULL;
172172 klass->get_tile_size = NULL;
173 klass->get_projection = NULL;
173174
174175 klass->fill_tile = NULL;
175176
177 /**
178 * ChamplainMapSource:next-source:
179 *
180 * Next source in the loading chain.
181 *
182 * Since: 0.6
183 */
176184 pspec = g_param_spec_object ("next-source",
177185 "Next Source",
178186 "Next source in the loading chain",
192192 * ChamplainMapSource::reload-tiles:
193193 * @map_source: the #ChamplainMapSource that received the signal
194194 *
195 * The ::reload-tiles signal is emitted when the map source changed
196 * its style or data
195 * The ChamplainMapSource::reload-tiles signal is emitted when the map source
196 * changed its style or data
197197 *
198198 * Since: 0.6
199199 */
212212 priv->sig_handler_id = 0;
213213}
214214
215/**
216 * champlain_map_source_get_next_source:
217 * @map_source: a #ChamplainMapSource
218 *
219 * Get the next source in the chain.
220 *
221 * Returns: the next source in the chain.
222 *
223 * Since: 0.6
224 */
215225ChamplainMapSource *
216226champlain_map_source_get_next_source (ChamplainMapSource *map_source)
217227{
238238 g_signal_emit_by_name (self, "reload-tiles", NULL);
239239}
240240
241/**
242 * champlain_map_source_set_next_source:
243 * @map_source: a #ChamplainMapSource
244 * @next_source: the next #ChamplainMapSource in the chain
245 *
246 * Sets the next map source in the chain.
247 *
248 * Since: 0.6
249 */
241250void
242251champlain_map_source_set_next_source (ChamplainMapSource *map_source,
243252 ChamplainMapSource *next_source)
278278 g_object_notify (G_OBJECT (map_source), "next-source");
279279}
280280
281/**
282 * champlain_map_source_get_id:
283 * @map_source: a #ChamplainMapSource
284 *
285 * Gets map source's id.
286 *
287 * Returns: the map source's id.
288 *
289 * Since: 0.4
290 */
281291const gchar *
282292champlain_map_source_get_id (ChamplainMapSource *map_source)
283293{
296296 return CHAMPLAIN_MAP_SOURCE_GET_CLASS (map_source)->get_id (map_source);
297297}
298298
299/**
300 * champlain_map_source_get_name:
301 * @map_source: a #ChamplainMapSource
302 *
303 * Gets map source's name.
304 *
305 * Returns: the map source's name.
306 *
307 * Since: 0.4
308 */
299309const gchar *
300310champlain_map_source_get_name (ChamplainMapSource *map_source)
301311{
314314 return CHAMPLAIN_MAP_SOURCE_GET_CLASS (map_source)->get_name (map_source);
315315}
316316
317/**
318 * champlain_map_source_get_license:
319 * @map_source: a #ChamplainMapSource
320 *
321 * Gets map source's license.
322 *
323 * Returns: the map source's license.
324 *
325 * Since: 0.4
326 */
317327const gchar *
318328champlain_map_source_get_license (ChamplainMapSource *map_source)
319329{
332332 return CHAMPLAIN_MAP_SOURCE_GET_CLASS (map_source)->get_license (map_source);
333333}
334334
335/**
336 * champlain_map_source_get_license_uri:
337 * @map_source: a #ChamplainMapSource
338 *
339 * Gets map source's license URI.
340 *
341 * Returns: the map source's license URI.
342 *
343 * Since: 0.4
344 */
335345const gchar *
336346champlain_map_source_get_license_uri (ChamplainMapSource *map_source)
337347{
350350 return CHAMPLAIN_MAP_SOURCE_GET_CLASS (map_source)->get_license_uri (map_source);
351351}
352352
353/**
354 * champlain_map_source_get_min_zoom_level:
355 * @map_source: a #ChamplainMapSource
356 *
357 * Gets map source's minimum zoom level.
358 *
359 * Returns: the miminum zoom level this map source supports
360 *
361 * Since: 0.4
362 */
353363guint
354364champlain_map_source_get_min_zoom_level (ChamplainMapSource *map_source)
355365{
368368 return CHAMPLAIN_MAP_SOURCE_GET_CLASS (map_source)->get_min_zoom_level (map_source);
369369}
370370
371/**
372 * champlain_map_source_get_max_zoom_level:
373 * @map_source: a #ChamplainMapSource
374 *
375 * Gets map source's maximum zoom level.
376 *
377 * Returns: the maximum zoom level this map source supports
378 *
379 * Since: 0.4
380 */
371381guint
372382champlain_map_source_get_max_zoom_level (ChamplainMapSource *map_source)
373383{
386386 return CHAMPLAIN_MAP_SOURCE_GET_CLASS (map_source)->get_max_zoom_level (map_source);
387387}
388388
389/**
390 * champlain_map_source_get_tile_size:
391 * @map_source: a #ChamplainMapSource
392 *
393 * Gets map source's tile size.
394 *
395 * Returns: the tile's size (width and height) in pixels for this map source
396 *
397 * Since: 0.4
398 */
389399guint
390400champlain_map_source_get_tile_size (ChamplainMapSource *map_source)
391401{
404404 return CHAMPLAIN_MAP_SOURCE_GET_CLASS (map_source)->get_tile_size (map_source);
405405}
406406
407/**
408 * champlain_map_source_get_projection:
409 * @map_source: a #ChamplainMapSource
410 *
411 * Gets map source's projection.
412 *
413 * Returns: the map source's projection.
414 *
415 * Since: 0.4
416 */
417ChamplainMapProjection
418champlain_map_source_get_projection (ChamplainMapSource *map_source)
419{
420 g_return_val_if_fail (CHAMPLAIN_IS_MAP_SOURCE (map_source), CHAMPLAIN_MAP_PROJECTION_MERCATOR);
421
422 return CHAMPLAIN_MAP_SOURCE_GET_CLASS (map_source)->get_projection (map_source);
423}
424
425/**
426 * champlain_map_source_get_x:
427 * @map_source: a #ChamplainMapSource
428 * @zoom_level: the zoom level
429 * @longitude: a longitude
430 *
431 * Gets the x position on the map using this map source's projection.
432 * (0, 0) is located at the top left.
433 *
434 * Returns: the x position
435 *
436 * Since: 0.4
437 */
407438guint
408439champlain_map_source_get_x (ChamplainMapSource *map_source,
409440 guint zoom_level,
446446 return ((longitude + 180.0) / 360.0 * pow (2.0, zoom_level)) * champlain_map_source_get_tile_size (map_source);
447447}
448448
449/**
450 * champlain_map_source_get_y:
451 * @map_source: a #ChamplainMapSource
452 * @zoom_level: the zoom level
453 * @latitude: a latitude
454 *
455 * Gets the y position on the map using this map source's projection.
456 * (0, 0) is located at the top left.
457 *
458 * Returns: the y position
459 *
460 * Since: 0.4
461 */
449462guint
450463champlain_map_source_get_y (ChamplainMapSource *map_source,
451464 guint zoom_level,
472472 M_PI) / 2.0 * pow (2.0, zoom_level)) * champlain_map_source_get_tile_size (map_source);
473473}
474474
475/**
476 * champlain_map_source_get_longitude:
477 * @map_source: a #ChamplainMapSource
478 * @zoom_level: the zoom level
479 * @x: a x position
480 *
481 * Gets the longitude corresponding to this x position in the map source's
482 * projection.
483 *
484 * Returns: the longitude
485 *
486 * Since: 0.4
487 */
475488gdouble
476489champlain_map_source_get_longitude (ChamplainMapSource *map_source,
477490 guint zoom_level,
497497 return dx / pow (2.0, zoom_level) * 360.0 - 180;
498498}
499499
500/**
501 * champlain_map_source_get_latitude:
502 * @map_source: a #ChamplainMapSource
503 * @zoom_level: the zoom level
504 * @y: a y position
505 *
506 * Gets the latitude corresponding to this y position in the map source's
507 * projection.
508 *
509 * Returns: the latitude
510 *
511 * Since: 0.4
512 */
500513gdouble
501514champlain_map_source_get_latitude (ChamplainMapSource *map_source,
502515 guint zoom_level,
523523 return 180.0 / M_PI * atan (0.5 * (exp (n) - exp (-n)));
524524}
525525
526/**
527 * champlain_map_source_get_row_count:
528 * @map_source: a #ChamplainMapSource
529 * @zoom_level: the zoom level
530 *
531 * Gets the number of tiles in a row at this zoom level for this map source.
532 *
533 * Returns: the number of tiles in a row
534 *
535 * Since: 0.4
536 */
526537guint
527538champlain_map_source_get_row_count (ChamplainMapSource *map_source,
528539 guint zoom_level)
545545 return pow (2, zoom_level);
546546}
547547
548/**
549 * champlain_map_source_get_column_count:
550 * @map_source: a #ChamplainMapSource
551 * @zoom_level: the zoom level
552 *
553 * Gets the number of tiles in a column at this zoom level for this map
554 * source.
555 *
556 * Returns: the number of tiles in a column
557 *
558 * Since: 0.4
559 */
548560guint
549561champlain_map_source_get_column_count (ChamplainMapSource *map_source,
550562 guint zoom_level)
570570
571571#define EARTH_RADIUS 6378137.0 /* meters, Equatorial radius */
572572
573/**
574 * champlain_map_source_get_meters_per_pixel:
575 * @map_source: a #ChamplainMapSource
576 * @zoom_level: the zoom level
577 * @latitude: a latitude
578 * @longitude: a longitude
579 *
580 * Gets meters per pixel at the position on the map using this map source's projection.
581 *
582 * Returns: the meters per pixel
583 *
584 * Since: 0.4.3
585 */
573586gdouble
574587champlain_map_source_get_meters_per_pixel (ChamplainMapSource *map_source,
575588 guint zoom_level,
603603 (tile_size * champlain_map_source_get_row_count (map_source, zoom_level));
604604}
605605
606/**
607 * champlain_map_source_fill_tile:
608 * @map_source: a #ChamplainMapSource
609 * @tile: A #ChamplainTile
610 *
611 * Fills the tile with image data (either from cache, network or rendered
612 * locally).
613 *
614 * Since: 0.4
615 */
606616void
607617champlain_map_source_fill_tile (ChamplainMapSource *map_source,
608618 ChamplainTile *tile)
champlain/champlain-map-source.h
(7 / 0)
  
3838
3939typedef struct _ChamplainMapSourceClass ChamplainMapSourceClass;
4040
41typedef enum
42{
43 CHAMPLAIN_MAP_PROJECTION_MERCATOR
44} ChamplainMapProjection;
45
4146struct _ChamplainMapSource
4247{
4348 GInitiallyUnowned parent_instance;
5959 guint (*get_min_zoom_level) (ChamplainMapSource *map_source);
6060 guint (*get_max_zoom_level) (ChamplainMapSource *map_source);
6161 guint (*get_tile_size) (ChamplainMapSource *map_source);
62 ChamplainMapProjection (*get_projection) (ChamplainMapSource *map_source);
6263
6364 void (*fill_tile) (ChamplainMapSource *map_source,
6465 ChamplainTile *tile);
7878guint champlain_map_source_get_min_zoom_level (ChamplainMapSource *map_source);
7979guint champlain_map_source_get_max_zoom_level (ChamplainMapSource *map_source);
8080guint champlain_map_source_get_tile_size (ChamplainMapSource *map_source);
81ChamplainMapProjection champlain_map_source_get_projection (ChamplainMapSource *map_source);
8182
8283guint champlain_map_source_get_x (ChamplainMapSource *map_source,
8384 guint zoom_level,
champlain/champlain-marker.c
(2 / 1)
  
718718 return FALSE;
719719}
720720
721/** champlain_marker_queue_redraw:
721/**
722 * champlain_marker_queue_redraw:
722723 * @marker: a #ChamplainMarker
723724 *
724725 * Queue a redraw of the marker as soon as possible. This function should not
champlain/champlain-memphis-tile-source.c
(13 / 18)
  
3535 * (TODO: link to the specification) The default rules only show
3636 * highways as thin black lines.
3737 * Once loaded, rules can be queried and edited.
38 *
39 * Rendered tiles are cached. The cache is deleted if the map data or rules
40 * are changed. This is the default behaviour, but it can be disabled with the
41 * #ChamplainMemphisTileSource:persistent-cache property. A persistent cache
42 * has to be managed by the client application.
4338 */
4439
4540#include "champlain-memphis-tile-source.h"
578578
579579/**
580580 * champlain_memphis_tile_source_get_map_data_source:
581 * @map_source: a #ChamplainMemphisTileSource
581 * @tile_source: a #ChamplainMemphisTileSource
582582 *
583 * Returns the #ChamplainMapDataSource.
583 * Returns: the #ChamplainMapDataSource.
584584 *
585585 * Since: 0.6
586586 */
596596
597597/**
598598 * champlain_memphis_tile_source_get_background_color:
599 * @map_source: a #ChamplainMemphisTileSource
599 * @tile_source: a #ChamplainMemphisTileSource
600600 *
601 * Returns the background color of the map as a newly-allocated
601 * Returns: the background color of the map as a newly-allocated
602602 * #ClutterColor.
603603 *
604604 * Since: 0.6
625625
626626/**
627627 * champlain_memphis_tile_source_set_background_color:
628 * @map_source: a #ChamplainMemphisTileSource
628 * @tile_source: a #ChamplainMemphisTileSource
629629 * @color: a #ClutterColor
630630 *
631631 * Sets the background color of the map from a #ClutterColor.
651651
652652/**
653653 * champlain_memphis_tile_source_set_rule:
654 * @map_source: a #ChamplainMemphisTileSource
654 * @tile_source: a #ChamplainMemphisTileSource
655655 * @rule: a #MemphisRule
656656 *
657657 * Edits or adds a #MemphisRule to the rules-set. New rules are appended
661661 */
662662void
663663champlain_memphis_tile_source_set_rule (ChamplainMemphisTileSource *tile_source,
664 MemphisRule *rule)
664 MemphisRule *rule)
665665{
666666 g_return_if_fail (CHAMPLAIN_IS_MEMPHIS_TILE_SOURCE (tile_source) &&
667667 MEMPHIS_RULE (rule));
677677
678678/**
679679 * champlain_memphis_tile_source_get_rule:
680 * @map_source: a #ChamplainMemphisTileSource
680 * @tile_source: a #ChamplainMemphisTileSource
681681 * @id: an id string
682682 *
683 * Returns the requested #MemphisRule or NULL if none is found.
683 * Returns: the requested #MemphisRule or NULL if none is found.
684684 *
685685 * Since: 0.6
686686 */
687687MemphisRule *
688688champlain_memphis_tile_source_get_rule (ChamplainMemphisTileSource *tile_source,
689 const gchar *id)
689 const gchar *id)
690690{
691691 g_return_val_if_fail (CHAMPLAIN_IS_MEMPHIS_TILE_SOURCE (tile_source) &&
692692 id != NULL, NULL);
703703
704704/**
705705 * champlain_memphis_tile_source_get_rule_ids:
706 * @map_source: a #ChamplainMemphisTileSource
706 * @tile_source: a #ChamplainMemphisTileSource
707707 *
708 * Returns a #GList of id strings of the form:
708 * Returns: a #GList of id strings of the form:
709709 * key1|key2|...|keyN:value1|value2|...|valueM
710710 *
711711 * Example: "waterway:river|stream|canal"
729729
730730/**
731731 * champlain_memphis_tile_source_remove_rule:
732 * @map_source: a #ChamplainMemphisTileSource
732 * @tile_source: a #ChamplainMemphisTileSource
733733 * @id: an id string
734734 *
735735 * Removes the rule with the given id.
champlain/champlain-network-map-data-source.c
(3 / 3)
  
221221/**
222222 * champlain_network_map_data_source_new:
223223 *
224 * Returns a new #ChamplainNetworkMapDataSource
224 * Returns: a new #ChamplainNetworkMapDataSource
225225 *
226226 * Since: 0.6
227227 */
235235load_map_data_cb (SoupSession *session, SoupMessage *msg,
236236 gpointer user_data)
237237{
238 ChamplainNetworkMapDataSource *self =
238 ChamplainNetworkMapDataSource *self =
239239 CHAMPLAIN_NETWORK_MAP_DATA_SOURCE (user_data);
240240 ChamplainNetworkMapDataSourcePrivate *priv = GET_PRIVATE (self);
241241 ChamplainBoundingBox *bbox;
340340 * champlain_network_map_data_source_get_api_uri:
341341 * @map_data_source: a #ChamplainNetworkMapDataSource
342342 *
343 * Returns the URI of the API server.
343 * Returns: the URI of the API server.
344344 *
345345 * Since: 0.6
346346 */
champlain/champlain-network-tile-source.c
(117 / 0)
  
1717 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1818 */
1919
20/**
21 * SECTION:champlain-network-tile-source
22 * @short_description: A map source that downloads tiles from a web server
23 *
24 * This object is specialized for map tiles that can be downloaded
25 * from a web server. This includes all web based map services such as
26 * OpenStreetMap, Google Maps, Yahoo Maps and more. This object contains
27 * all mechanisms necessary to download tiles.
28 *
29 * Some preconfigured network map sources are built-in this library,
30 * see #ChamplainMapSourceFactory.
31 *
32 */
33
2034#include "config.h"
2135
2236#include "champlain-network-tile-source.h"
191191
192192 map_source_class->fill_tile = fill_tile;
193193
194 /**
195 * ChamplainNetworkTileSource:uri-format
196 *
197 * The uri format of the tile source, see #champlain_network_tile_source_set_uri_format
198 *
199 * Since: 0.4
200 */
194201 pspec = g_param_spec_string ("uri-format",
195202 "URI Format",
196203 "The URI format",
205205 (G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
206206 g_object_class_install_property (object_class, PROP_URI_FORMAT, pspec);
207207
208 /**
209 * ChamplainNetworkTileSource:offline
210 *
211 * Specifies whether the network tile source can access network
212 *
213 * Since: 0.4
214 */
208215 pspec = g_param_spec_boolean ("offline",
209216 "Offline",
210217 "Offline",
219219 G_PARAM_READWRITE);
220220 g_object_class_install_property (object_class, PROP_OFFLINE, pspec);
221221
222 /**
223 * ChamplainNetworkTileSource:proxy-uri
224 *
225 * The proxy uri used to access network
226 *
227 * Since: 0.4
228 */
222229 pspec = g_param_spec_string ("proxy-uri",
223230 "Proxy URI",
224231 "The proxy URI to use to access network",
255255
256256}
257257
258/**
259 * champlain_network_tile_source_new_full:
260 * @id: the map source's id
261 * @name: the map source's name
262 * @license: the map source's license
263 * @license_uri: the map source's license URI
264 * @min_zoom: the map source's minimum zoom level
265 * @max_zoom: the map source's maximum zoom level
266 * @tile_size: the map source's tile size (in pixels)
267 * @projection: the map source's projection
268 * @uri_format: the URI to fetch the tiles from, see #champlain_network_tile_source_set_uri_format
269 *
270 * Constructor of #ChamplainNetworkTileSource.
271 *
272 * Returns: a constructed #ChamplainNetworkTileSource
273 *
274 * Since: 0.4
275 */
258276ChamplainNetworkTileSource*
259277champlain_network_tile_source_new_full (const gchar *id,
260278 const gchar *name,
293293 return source;
294294}
295295
296/**
297 * champlain_network_tile_source_get_uri_format:
298 * @tile_source: the #ChamplainNetworkTileSource
299 *
300 * Default constructor of #ChamplainNetworkTileSource.
301 *
302 * Returns: A URI format used for URI creation when downloading tiles. See
303 * champlain_network_tile_source_set_uri_format() for more information.
304 *
305 * Since: 0.6
306 */
296307const gchar *
297308champlain_network_tile_source_get_uri_format (ChamplainNetworkTileSource *tile_source)
298309{
313313 return priv->uri_format;
314314}
315315
316/**
317 * champlain_network_tile_source_set_uri_format:
318 * @tile_source: the #ChamplainNetworkTileSource
319 * @uri_format: the URI format
320 *
321 * A URI format is a URI where x, y and zoom level information have been
322 * marked for parsing and insertion. There can be an unlimited number of
323 * marked items in a URI format. They are delimited by "#" before and after
324 * the variable name. There are 3 defined variable names: X, Y, and Z.
325 *
326 * For example, this is the OpenStreetMap URI format:
327 * "http://tile.openstreetmap.org/\#Z\#/\#X\#/\#Y\#.png"
328 *
329 * Since: 0.4
330 */
316331void
317332champlain_network_tile_source_set_uri_format (ChamplainNetworkTileSource *tile_source,
318333 const gchar *uri_format)
342342 g_object_notify (G_OBJECT (tile_source), "uri-format");
343343}
344344
345/**
346 * champlain_network_tile_source_get_proxy_uri:
347 * @tile_source: the #ChamplainNetworkTileSource
348 *
349 * Gets the proxy uri used to access network.
350 *
351 * Returns: the proxy uri
352 *
353 * Since: 0.6
354 */
345355const gchar *
346356champlain_network_tile_source_get_proxy_uri (ChamplainNetworkTileSource *tile_source)
347357{
361361 return priv->proxy_uri;
362362}
363363
364/**
365 * champlain_network_tile_source_set_proxy_uri:
366 * @tile_source: the #ChamplainNetworkTileSource
367 * @proxy_uri: the proxy uri used to access network
368 *
369 * Sets the proxy uri used to access network.
370 *
371 * Since: 0.6
372 */
364373void
365374champlain_network_tile_source_set_proxy_uri (ChamplainNetworkTileSource *tile_source,
366375 const gchar *proxy_uri)
396396 g_object_notify (G_OBJECT (tile_source), "proxy-uri");
397397}
398398
399/**
400 * champlain_network_tile_source_get_offline:
401 * @tile_source: the #ChamplainNetworkTileSource
402 *
403 * Gets offline status.
404 *
405 * Returns: TRUE when the tile source is set to be offline; FALSE otherwise.
406 *
407 * Since: 0.6
408 */
399409gboolean
400410champlain_network_tile_source_get_offline (ChamplainNetworkTileSource *tile_source)
401411{
415415 return priv->offline;
416416}
417417
418/**
419 * champlain_network_tile_source_set_offline:
420 * @tile_source: the #ChamplainNetworkTileSource
421 * @offline: TRUE when the tile source should be offline; FALSE otherwise
422 *
423 * Sets offline status.
424 *
425 * Since: 0.6
426 */
418427void
419428champlain_network_tile_source_set_offline (ChamplainNetworkTileSource *tile_source,
420429 gboolean offline)
champlain/champlain-network-tile-source.h
(6 / 6)
  
6161 ChamplainMapProjection projection,
6262 const gchar *uri_format);
6363
64const gchar * champlain_network_tile_source_get_uri_format (ChamplainNetworkTileSource *source);
65void champlain_network_tile_source_set_uri_format (ChamplainNetworkTileSource *source,
64const gchar * champlain_network_tile_source_get_uri_format (ChamplainNetworkTileSource *tile_source);
65void champlain_network_tile_source_set_uri_format (ChamplainNetworkTileSource *tile_source,
6666 const gchar *uri_format);
6767
68gboolean champlain_network_tile_source_get_offline (ChamplainNetworkTileSource *source);
69void champlain_network_tile_source_set_offline (ChamplainNetworkTileSource *source,
68gboolean champlain_network_tile_source_get_offline (ChamplainNetworkTileSource *tile_source);
69void champlain_network_tile_source_set_offline (ChamplainNetworkTileSource *tile_source,
7070 gboolean offline);
7171
72const gchar * champlain_network_tile_source_get_proxy_uri (ChamplainNetworkTileSource *source);
73void champlain_network_tile_source_set_proxy_uri (ChamplainNetworkTileSource *source,
72const gchar * champlain_network_tile_source_get_proxy_uri (ChamplainNetworkTileSource *tile_source);
73void champlain_network_tile_source_set_proxy_uri (ChamplainNetworkTileSource *tile_source,
7474 const gchar *proxy_uri);
7575
7676G_END_DECLS
champlain/champlain-tile-cache.c
(86 / 1)
  
1616 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1717 */
1818
19/**
20 * SECTION:champlain-tile-cache
21 * @short_description: A base class of tile caches
22 *
23 * This class defines properties and methods common to all caches (that is, map
24 * sources that permit storage and retrieval of tiles). Tiles are typically
25 * stored by #ChamplainTileSource objects.
26 */
27
1928#include "champlain-tile-cache.h"
2029
2130G_DEFINE_TYPE (ChamplainTileCache, champlain_tile_cache, CHAMPLAIN_TYPE_MAP_SOURCE);
5151static guint get_min_zoom_level (ChamplainMapSource *map_source);
5252static guint get_max_zoom_level (ChamplainMapSource *map_source);
5353static guint get_tile_size (ChamplainMapSource *map_source);
54static ChamplainMapProjection get_projection (ChamplainMapSource *map_source);
5455
5556static void
5657champlain_tile_cache_get_property (GObject *object,
130130 map_source_class->get_min_zoom_level = get_min_zoom_level;
131131 map_source_class->get_max_zoom_level = get_max_zoom_level;
132132 map_source_class->get_tile_size = get_tile_size;
133 map_source_class->get_projection = get_projection;
133134
134135 map_source_class->fill_tile = NULL;
135136
139139 tile_cache_class->store_tile = NULL;
140140 tile_cache_class->clean = NULL;
141141
142 /**
143 * ChamplainTileCache:persistent-cache
144 *
145 * Determines whether the cache is persistent or temporary (cleaned upon
146 * destruction)
147 *
148 * Since: 0.6
149 */
142150 pspec = g_param_spec_boolean ("persistent-cache",
143151 "Persistent Cache",
144152 "Specifies whether the cache is persistent",
145 FALSE,
153 TRUE,
146154 G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
147155 g_object_class_install_property (object_class, PROP_PERSISTENT_CACHE, pspec);
148156}
163163 priv->persistent = FALSE;
164164}
165165
166/**
167 * champlain_tile_cache_get_persistent:
168 * @tile_cache: a #ChamplainTileCache
169 *
170 * Gets cache persistency information.
171 *
172 * Returns: TRUE when the cache is persistent; FALSE otherwise.
173 *
174 * Since: 0.6
175 */
166176gboolean
167177champlain_tile_cache_get_persistent (ChamplainTileCache *tile_cache)
168178{
182182 return priv->persistent;
183183}
184184
185/**
186 * champlain_tile_cache_store_tile:
187 * @tile_cache: a #ChamplainTileCache
188 * @tile: a #ChamplainTile
189 * @contents: the tile contents that should be stored
190 * @size: size of the contents in bytes
191 *
192 * Stores the tile including the metadata into the cache.
193 *
194 * Since: 0.6
195 */
185196void
186197champlain_tile_cache_store_tile (ChamplainTileCache *tile_cache,
187198 ChamplainTile *tile,
204204 return CHAMPLAIN_TILE_CACHE_GET_CLASS (tile_cache)->store_tile (tile_cache, tile, contents, size);
205205}
206206
207/**
208 * champlain_tile_cache_refresh_tile_time:
209 * @tile_cache: a #ChamplainTileCache
210 * @tile: a #ChamplainTile
211 *
212 * Refreshes the tile access time in the cache.
213 *
214 * Since: 0.6
215 */
207216void
208217champlain_tile_cache_refresh_tile_time (ChamplainTileCache *tile_cache, ChamplainTile *tile)
209218{
221221 return CHAMPLAIN_TILE_CACHE_GET_CLASS (tile_cache)->refresh_tile_time (tile_cache, tile);
222222}
223223
224/**
225 * champlain_tile_cache_on_tile_filled:
226 * @tile_cache: a #ChamplainTileCache
227 * @tile: a #ChamplainTile
228 *
229 * When a cache fills a tile and the next source in the chain is a tile cache,
230 * it should call this function on the next source. This way all the caches
231 * preceding a tile source in the chain get informed that the tile was used and
232 * can modify their metadata accordingly in the implementation of this function.
233 * In addition, the call of this function should be chained so within the
234 * implementation of this function it should be called on the next source
235 * in the chain when next source is a tile cache.
236 *
237 * Since: 0.6
238 */
224239void
225240champlain_tile_cache_on_tile_filled (ChamplainTileCache *tile_cache, ChamplainTile *tile)
226241{
244244 return CHAMPLAIN_TILE_CACHE_GET_CLASS (tile_cache)->on_tile_filled (tile_cache, tile);
245245}
246246
247/**
248 * champlain_tile_cache_clean:
249 * @tile_cache: a #ChamplainTileCache
250 *
251 * Erases the contents of the cache. This function will fail when the cache is
252 * not temporary.
253 *
254 * Since: 0.6
255 */
247256void
248257champlain_tile_cache_clean (ChamplainTileCache *tile_cache)
249258{
343343 g_return_val_if_fail (CHAMPLAIN_IS_MAP_SOURCE (next_source), 0);
344344
345345 return champlain_map_source_get_tile_size (next_source);
346}
347
348static ChamplainMapProjection
349get_projection (ChamplainMapSource *map_source)
350{
351 g_return_val_if_fail (CHAMPLAIN_IS_TILE_CACHE (map_source), CHAMPLAIN_MAP_PROJECTION_MERCATOR);
352
353 ChamplainMapSource *next_source = champlain_map_source_get_next_source (map_source);
354
355 g_return_val_if_fail (CHAMPLAIN_IS_MAP_SOURCE (next_source), CHAMPLAIN_MAP_PROJECTION_MERCATOR);
356
357 return champlain_map_source_get_projection (next_source);
346358}
champlain/champlain-tile-source.c
(186 / 21)
  
1717 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1818 */
1919
20/**
21 * SECTION:champlain-tile-source
22 * @short_description: A base class of tile sources
23 *
24 * This class defines properties common to all tile sources (that is, map
25 * sources that are not caches).
26 */
27
2028#include "champlain-tile-source.h"
2129#include "champlain-enum-types.h"
2230
6868static guint get_min_zoom_level (ChamplainMapSource *map_source);
6969static guint get_max_zoom_level (ChamplainMapSource *map_source);
7070static guint get_tile_size (ChamplainMapSource *map_source);
71static ChamplainMapProjection get_projection (ChamplainMapSource *map_source);
7172
7273static void
7374champlain_tile_source_get_property (GObject *object,
218218 map_source_class->get_min_zoom_level = get_min_zoom_level;
219219 map_source_class->get_max_zoom_level = get_max_zoom_level;
220220 map_source_class->get_tile_size = get_tile_size;
221 map_source_class->get_projection = get_projection;
221222
222223 map_source_class->fill_tile = NULL;
223224
225 /**
226 * ChamplainTileSource:id:
227 *
228 * The name of the tile source
229 *
230 * Since: 0.4
231 */
224232 pspec = g_param_spec_string ("id",
225233 "Id",
226234 "The id of the tile source",
236236 (G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
237237 g_object_class_install_property (object_class, PROP_ID, pspec);
238238
239 /**
240 * ChamplainTileSource:name:
241 *
242 * The name of the tile source
243 *
244 * Since: 0.4
245 */
239246 pspec = g_param_spec_string ("name",
240247 "Name",
241248 "The name of the tile source",
250250 (G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
251251 g_object_class_install_property (object_class, PROP_NAME, pspec);
252252
253 /**
254 * ChamplainTileSource:license:
255 *
256 * The usage license of the tile source
257 *
258 * Since: 0.4
259 */
253260 pspec = g_param_spec_string ("license",
254261 "License",
255262 "The usage license of the tile source",
264264 (G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
265265 g_object_class_install_property (object_class, PROP_LICENSE, pspec);
266266
267 /**
268 * ChamplainTileSource:license-uri:
269 *
270 * The usage license's uri for more information
271 *
272 * Since: 0.4
273 */
267274 pspec = g_param_spec_string ("license-uri",
268275 "License-uri",
269276 "The usage license's uri for more information",
278278 (G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
279279 g_object_class_install_property (object_class, PROP_LICENSE_URI, pspec);
280280
281 /**
282 * ChamplainTileSource:min-zoom-level:
283 *
284 * The minimum zoom level
285 *
286 * Since: 0.4
287 */
281288 pspec = g_param_spec_uint ("min-zoom-level",
282289 "Minimum Zoom Level",
283290 "The minimum zoom level",
294294 (G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
295295 g_object_class_install_property (object_class, PROP_MIN_ZOOM_LEVEL, pspec);
296296
297 /**
298 * ChamplainTileSource:max-zoom-level:
299 *
300 * The maximum zoom level
301 *
302 * Since: 0.4
303 */
297304 pspec = g_param_spec_uint ("max-zoom-level",
298305 "Maximum Zoom Level",
299306 "The maximum zoom level",
310310 (G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
311311 g_object_class_install_property (object_class, PROP_MAX_ZOOM_LEVEL, pspec);
312312
313 /**
314 * ChamplainTileSource:tile-size:
315 *
316 * The tile size of the tile source
317 *
318 * Since: 0.4
319 */
313320 pspec = g_param_spec_uint ("tile-size",
314321 "Tile Size",
315322 "The tile size",
326326 (G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
327327 g_object_class_install_property (object_class, PROP_TILE_SIZE, pspec);
328328
329 /**
330 * ChamplainTileSource:projection
331 *
332 * The map projection of the tile source
333 *
334 * Since: 0.4
335 */
329336 pspec = g_param_spec_enum ("projection",
330337 "Projection",
331338 "The map projection",
341341 (G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
342342 g_object_class_install_property (object_class, PROP_MAP_PROJECTION, pspec);
343343
344 /**
345 * ChamplainTileSource:cache
346 *
347 * The cache used for tile storage
348 *
349 * Since: 0.6
350 */
344351 pspec = g_param_spec_object ("cache",
345352 "Cache",
346353 "Cache used for tile sorage",
371371 priv->map_projection = CHAMPLAIN_MAP_PROJECTION_MERCATOR;
372372}
373373
374ChamplainMapProjection
375champlain_tile_source_get_projection (ChamplainTileSource *tile_source)
376{
377 g_return_val_if_fail (CHAMPLAIN_IS_TILE_SOURCE (tile_source), 0);
378
379 ChamplainTileSourcePrivate *priv = GET_PRIVATE(tile_source);
380 return priv->map_projection;
381}
382
374/**
375 * champlain_tile_source_get_cache:
376 * @tile_source: a #ChamplainTileSource
377 *
378 * Gets the cache used for storing tiles by this tile source.
379 *
380 * Returns: the cache
381 *
382 * Since: 0.6
383 */
383384ChamplainTileCache *
384385champlain_tile_source_get_cache (ChamplainTileSource *tile_source)
385386{
390390 return priv->cache;
391391}
392392
393/**
394 * champlain_tile_source_set_cache:
395 * @tile_source: a #ChamplainTileSource
396 * @cache: a #ChamplainTileCache
397 *
398 * Sets the map source's cache used for storing tiles.
399 *
400 * Since: 0.6
401 */
393402void
394champlain_tile_source_set_projection (ChamplainTileSource *tile_source,
395 ChamplainMapProjection projection)
396{
397 g_return_if_fail (CHAMPLAIN_IS_TILE_SOURCE (tile_source));
398
399 ChamplainTileSourcePrivate *priv = GET_PRIVATE(tile_source);
400
401 priv->map_projection = projection;
402 g_object_notify (G_OBJECT (tile_source), "projection");
403}
404
405void
406403champlain_tile_source_set_cache (ChamplainTileSource *tile_source,
407404 ChamplainTileCache *cache)
408405{
485485 return priv->tile_size;
486486}
487487
488static ChamplainMapProjection
489get_projection (ChamplainMapSource *map_source)
490{
491 g_return_val_if_fail (CHAMPLAIN_IS_TILE_SOURCE (map_source), 0);
492
493 ChamplainTileSourcePrivate *priv = GET_PRIVATE(map_source);
494 return priv->map_projection;
495}
496
497/**
498 * champlain_tile_source_set_id:
499 * @tile_source: a #ChamplainTileSource
500 * @id: an id
501 *
502 * Sets the tile source's id.
503 *
504 * Since: 0.4
505 */
488506void
489507champlain_tile_source_set_id (ChamplainTileSource *tile_source,
490508 const gchar *id)
517517 g_object_notify (G_OBJECT (tile_source), "id");
518518}
519519
520/**
521 * champlain_tile_source_set_name:
522 * @tile_source: a #ChamplainTileSource
523 * @name: a name
524 *
525 * Sets the tile source's name.
526 *
527 * Since: 0.4
528 */
520529void
521530champlain_tile_source_set_name (ChamplainTileSource *tile_source,
522531 const gchar *name)
540540 g_object_notify (G_OBJECT (tile_source), "name");
541541}
542542
543/**
544 * champlain_tile_source_set_license:
545 * @tile_source: a #ChamplainTileSource
546 * @license: the licence
547 *
548 * Sets the tile source's license.
549 *
550 * Since: 0.4
551 */
543552void
544553champlain_tile_source_set_license (ChamplainTileSource *tile_source,
545554 const gchar *license)
563563 g_object_notify (G_OBJECT (tile_source), "license");
564564}
565565
566/**
567 * champlain_tile_source_set_license_uri:
568 * @tile_source: a #ChamplainTileSource
569 * @license_uri: the licence URI
570 *
571 * Sets the tile source's license URI.
572 *
573 * Since: 0.4
574 */
566575void
567576champlain_tile_source_set_license_uri (ChamplainTileSource *tile_source,
568577 const gchar *license_uri)
586586 g_object_notify (G_OBJECT (tile_source), "license-uri");
587587}
588588
589/**
590 * champlain_tile_source_set_min_zoom_level:
591 * @tile_source: a #ChamplainTileSource
592 * @zoom_level: the minimal zoom level
593 *
594 * Sets the tile source's minimal zoom level.
595 *
596 * Since: 0.6
597 */
589598void
590599champlain_tile_source_set_min_zoom_level (ChamplainTileSource *tile_source,
591600 guint zoom_level)
608608 g_object_notify (G_OBJECT (tile_source), "min-zoom-level");
609609}
610610
611/**
612 * champlain_tile_source_set_max_zoom_level:
613 * @tile_source: a #ChamplainTileSource
614 * @zoom_level: the maximal zoom level
615 *
616 * Sets the tile source's maximal zoom level.
617 *
618 * Since: 0.6
619 */
611620void
612621champlain_tile_source_set_max_zoom_level (ChamplainTileSource *tile_source,
613622 guint zoom_level)
630630 g_object_notify (G_OBJECT (tile_source), "max-zoom-level");
631631}
632632
633/**
634 * champlain_tile_source_set_tile_size:
635 * @tile_source: a #ChamplainTileSource
636 * @tile_size: the tile size
637 *
638 * Sets the tile source's tile size.
639 *
640 * Since: 0.6
641 */
633642void
634643champlain_tile_source_set_tile_size (ChamplainTileSource *tile_source,
635644 guint tile_size)
650650 priv->tile_size = tile_size;
651651
652652 g_object_notify (G_OBJECT (tile_source), "tile-size");
653}
654
655/**
656 * champlain_tile_source_set_projection:
657 * @tile_source: a #ChamplainTileSource
658 * @projection: a #ChamplainMapProjection
659 *
660 * Sets the tile source's projection.
661 *
662 * Since: 0.4
663 */
664void
665champlain_tile_source_set_projection (ChamplainTileSource *tile_source,
666 ChamplainMapProjection projection)
667{
668 g_return_if_fail (CHAMPLAIN_IS_TILE_SOURCE (tile_source));
669
670 ChamplainTileSourcePrivate *priv = GET_PRIVATE(tile_source);
671
672 priv->map_projection = projection;
673
674 g_object_notify (G_OBJECT (tile_source), "projection");
653675}
champlain/champlain-tile-source.h
(3 / 10)
  
4040typedef struct _ChamplainTileSource ChamplainTileSource;
4141typedef struct _ChamplainTileSourceClass ChamplainTileSourceClass;
4242
43typedef enum
44{
45 CHAMPLAIN_MAP_PROJECTION_MERCATOR
46} ChamplainMapProjection;
47
4843struct _ChamplainTileSource
4944{
5045 ChamplainMapSource parent_instance;
5252
5353GType champlain_tile_source_get_type (void);
5454
55ChamplainMapProjection champlain_tile_source_get_projection (ChamplainTileSource *tile_source);
56void champlain_tile_source_set_projection (ChamplainTileSource *tile_source,
57 ChamplainMapProjection projection);
58
5955ChamplainTileCache *champlain_tile_source_get_cache (ChamplainTileSource *tile_source);
6056void champlain_tile_source_set_cache (ChamplainTileSource *tile_source,
6157 ChamplainTileCache *cache);
7070void champlain_tile_source_set_max_zoom_level (ChamplainTileSource *tile_source,
7171 guint zoom_level);
7272void champlain_tile_source_set_tile_size (ChamplainTileSource *tile_source,
73 guint zoom_level);
73 guint tile_size);
74void champlain_tile_source_set_projection (ChamplainTileSource *tile_source,
75 ChamplainMapProjection projection);
7476
7577G_END_DECLS
7678
champlain/champlain-tile.c
(1 / 0)
  
755755
756756/**
757757 * champlain_tile_get_content:
758 * @self: the #ChamplainTile
758759 *
759760 * Returns: the tile's content, this actor will change each time the tile's content changes.
760761 * You should not unref this content, it is owned by the tile.
docs/reference/libchamplain-docs.sgml
(7 / 3)
  
5252 <title>II. Map Source API Reference</title>
5353 <xi:include href="xml/champlain-map-source-factory.xml"/>
5454 <xi:include href="xml/champlain-map-source.xml"/>
55 <xi:include href="xml/champlain-network-map-source.xml"/>
56 <xi:include href="xml/champlain-memphis-map-source.xml"/>
5755 <xi:include href="xml/champlain-tile.xml"/>
58 <xi:include href="xml/champlain-cache.xml"/>
56 <xi:include href="xml/champlain-map-source-chain.xml"/>
57 <xi:include href="xml/champlain-tile-source.xml"/>
58 <xi:include href="xml/champlain-tile-cache.xml"/>
59 <xi:include href="xml/champlain-network-tile-source.xml"/>
60 <xi:include href="xml/champlain-memphis-tile-source.xml"/>
61 <xi:include href="xml/champlain-error-tile-source.xml"/>
62 <xi:include href="xml/champlain-file-cache.xml"/>
5963 </chapter>
6064 <chapter>
6165 <title>III. Map Data Source API Reference</title>
docs/reference/libchamplain-sections.txt
(190 / 82)
  
22<FILE>champlain-map-source</FILE>
33<TITLE>ChamplainMapSource</TITLE>
44ChamplainMapProjection
5ChamplainMapSource
5champlain_map_source_get_id
6champlain_map_source_get_name
7champlain_map_source_get_license
8champlain_map_source_get_license_uri
69champlain_map_source_get_min_zoom_level
710champlain_map_source_get_max_zoom_level
811champlain_map_source_get_tile_size
12champlain_map_source_get_projection
913champlain_map_source_get_x
1014champlain_map_source_get_y
1115champlain_map_source_get_longitude
1216champlain_map_source_get_latitude
1317champlain_map_source_get_row_count
1418champlain_map_source_get_column_count
19champlain_map_source_get_meters_per_pixel
1520champlain_map_source_fill_tile
16champlain_map_source_set_name
17champlain_map_source_get_name
18champlain_map_source_set_license
19champlain_map_source_get_license
20champlain_map_source_set_license_uri
21champlain_map_source_get_license_uri
22champlain_map_source_set_projection
23champlain_map_source_get_projection
24champlain_map_source_get_id
25champlain_map_source_set_id
21champlain_map_source_get_next_source
22champlain_map_source_set_next_source
2623<SUBSECTION Standard>
2724CHAMPLAIN_MAP_SOURCE
2825CHAMPLAIN_IS_MAP_SOURCE
3030CHAMPLAIN_MAP_SOURCE_GET_CLASS
3131<SUBSECTION Private>
3232ChamplainMapSourceClass
33ChamplainMapSourcePrivate
33ChamplainMapSource
3434</SECTION>
3535
3636<SECTION>
3737<FILE>champlain-marker</FILE>
3838<TITLE>ChamplainMarker</TITLE>
39ChamplainMarker
4039champlain_marker_set_highlight_color
4140champlain_marker_new
4241champlain_marker_new_with_text
7878<SUBSECTION Private>
7979ChamplainMarkerClass
8080ChamplainMarkerPrivate
81ChamplainMarker
8182</SECTION>
8283
8384<SECTION>
167167champlain_view_get_zoom_level
168168champlain_view_set_zoom_on_double_click
169169champlain_view_get_zoom_on_double_click
170champlain_view_set_license_text
171champlain_view_get_license_text
172champlain_view_set_max_scale_width
173champlain_view_get_max_scale_width
174champlain_view_set_scale_unit
175champlain_view_get_scale_unit
176champlain_view_set_show_scale
177champlain_view_get_show_scale
170178champlain_view_add_layer
171179champlain_view_remove_layer
172180champlain_view_get_coords_from_event
194194</SECTION>
195195
196196<SECTION>
197<FILE>champlain-network-map-source</FILE>
198<TITLE>ChamplainNetworkMapSource</TITLE>
199ChamplainNetworkMapSource
200champlain_network_map_source_new_full
201champlain_network_map_source_get_tile_uri
202champlain_network_map_source_set_uri_format
203champlain_network_map_source_fill_tile
197<FILE>champlain-network-tile-source</FILE>
198<TITLE>ChamplainNetworkTileSource</TITLE>
199ChamplainNetworkTileSource
200champlain_network_tile_source_new_full
201champlain_network_tile_source_set_uri_format
202champlain_network_tile_source_get_uri_format
203champlain_network_tile_source_set_offline
204champlain_network_tile_source_get_offline
205champlain_network_tile_source_set_proxy_uri
206champlain_network_tile_source_get_proxy_uri
204207<SUBSECTION Standard>
205CHAMPLAIN_NETWORK_MAP_SOURCE
206CHAMPLAIN_IS_NETWORK_MAP_SOURCE
207CHAMPLAIN_TYPE_NETWORK_MAP_SOURCE
208champlain_network_map_source_get_type
209CHAMPLAIN_NETWORK_MAP_SOURCE_CLASS
210CHAMPLAIN_IS_NETWORK_MAP_SOURCE_CLASS
211CHAMPLAIN_NETWORK_MAP_SOURCE_GET_CLASS
208CHAMPLAIN_NETWORK_TILE_SOURCE
209CHAMPLAIN_IS_NETWORK_TILE_SOURCE
210CHAMPLAIN_TYPE_NETWORK_TILE_SOURCE
211champlain_network_tile_source_get_type
212CHAMPLAIN_NETWORK_TILE_SOURCE_CLASS
213CHAMPLAIN_IS_NETWORK_TILE_SOURCE_CLASS
214CHAMPLAIN_NETWORK_TILE_SOURCE_GET_CLASS
215<SUBSECTION Private>
216ChamplainNetworkTileSourceClass
212217</SECTION>
213218
214219<SECTION>
227227champlain_tile_get_zoom_level
228228champlain_tile_get_size
229229champlain_tile_get_state
230champlain_tile_get_uri
231champlain_tile_get_filename
232230champlain_tile_get_actor
233231champlain_tile_set_x
234232champlain_tile_set_y
235233champlain_tile_set_zoom_level
236234champlain_tile_set_size
237235champlain_tile_set_state
238champlain_tile_set_uri
239champlain_tile_set_filename
240236champlain_tile_get_content
241237champlain_tile_get_etag
242238champlain_tile_get_modified_time
248248CHAMPLAIN_TILE_CLASS
249249CHAMPLAIN_IS_TILE_CLASS
250250CHAMPLAIN_TILE_GET_CLASS
251<SUBSECTION Private>
252ChamplainTileClass
253ChamplainTilePrivate
251254</SECTION>
252255
253256<SECTION>
274274CHAMPLAIN_LAYER_CLASS
275275CHAMPLAIN_IS_LAYER_CLASS
276276CHAMPLAIN_LAYER_GET_CLASS
277<SUBSECTION Private>
278ChamplainLayerClass
277279</SECTION>
278280
279281<SECTION>
370370</SECTION>
371371
372372<SECTION>
373<FILE>champlain-cache</FILE>
374<TITLE>ChamplainCache</TITLE>
375ChamplainCache
376ChamplainCacheClass
377champlain_cache_dup_default
378champlain_cache_fill_tile
379champlain_cache_dup_default
380champlain_cache_get_size_limit
381champlain_cache_purge
382champlain_cache_purge_on_idle
383champlain_cache_set_size_limit
384champlain_cache_tile_is_expired
385champlain_cache_update_tile
386champlain_cache_update_tile_with_session
387champlain_cache_delete_session
388champlain_cache_get_filename
373<FILE>champlain-tile-cache</FILE>
374<TITLE>ChamplainTileCache</TITLE>
375ChamplainTileCache
376champlain_tile_cache_get_persistent
377champlain_tile_cache_store_tile
378champlain_tile_cache_refresh_tile_time
379champlain_tile_cache_on_tile_filled
380champlain_tile_cache_clean
389381<SUBSECTION Standard>
390CHAMPLAIN_CACHE
391CHAMPLAIN_IS_CACHE
392CHAMPLAIN_TYPE_CACHE
393champlain_cache_get_type
394CHAMPLAIN_CACHE_CLASS
395CHAMPLAIN_IS_CACHE_CLASS
396CHAMPLAIN_CACHE_GET_CLASS
382CHAMPLAIN_TILE_CACHE
383CHAMPLAIN_IS_TILE_CACHE
384CHAMPLAIN_TYPE_TILE_CACHE
385champlain_tile_cache_get_type
386CHAMPLAIN_TILE_CACHE_CLASS
387CHAMPLAIN_IS_TILE_CACHE_CLASS
388CHAMPLAIN_TILE_CACHE_GET_CLASS
389<SUBSECTION Private>
390ChamplainTileCacheClass
397391</SECTION>
398392
399393<SECTION>
399399champlain_map_source_factory_dup_default
400400champlain_map_source_factory_dup_list
401401champlain_map_source_factory_create
402champlain_map_source_factory_create_cached_source
402403champlain_map_source_factory_register
403champlain_map_source_desc_copy
404champlain_map_source_desc_free
405champlain_map_source_desc_get_type
406champlain_map_source_desc_new
407champlain_map_source_factory_get_list
404CHAMPLAIN_MAP_SOURCE_OSM_MAPNIK
405CHAMPLAIN_MAP_SOURCE_OSM_OSMARENDER
406CHAMPLAIN_MAP_SOURCE_OSM_CYCLE_MAP
407CHAMPLAIN_MAP_SOURCE_OSM_TRANSPORT_MAP
408CHAMPLAIN_MAP_SOURCE_OAM
409CHAMPLAIN_MAP_SOURCE_MFF_RELIEF
410CHAMPLAIN_MAP_SOURCE_MEMPHIS_LOCAL
411CHAMPLAIN_MAP_SOURCE_MEMPHIS_NETWORK
408412<SUBSECTION Standard>
409413CHAMPLAIN_MAP_SOURCE_FACTORY
410414CHAMPLAIN_IS_MAP_SOURCE_FACTORY
417417CHAMPLAIN_MAP_SOURCE_FACTORY_CLASS
418418CHAMPLAIN_IS_MAP_SOURCE_FACTORY_CLASS
419419CHAMPLAIN_MAP_SOURCE_FACTORY_GET_CLASS
420<SUBSECTION Private>
421ChamplainMapSourceFactoryClass
422ChamplainMapSourceFactoryPrivate
420423</SECTION>
421424
422425<SECTION>
451451CHAMPLAIN_POLYGON_CLASS
452452CHAMPLAIN_IS_POLYGON_CLASS
453453CHAMPLAIN_POLYGON_GET_CLASS
454<SUBSECTION Private>
455ChamplainPolygonClass
456ChamplainPolygonPrivate
454457</SECTION>
455458
456459<SECTION>
480480CHAMPLAIN_SELECTION_LAYER_GET_CLASS
481481CHAMPLAIN_TYPE_SELECTION_LAYER
482482champlain_selection_layer_get_type
483<SUBSECTION Private>
484ChamplainSelectionLayerClass
485ChamplainSelectionLayerPrivate
483486</SECTION>
484487
485488<SECTION>
486<FILE>champlain-memphis-map-source</FILE>
487<TITLE>ChamplainMemphisMapSource</TITLE>
488ChamplainMemphisMapSource
489champlain_memphis_map_source_new_full
490champlain_memphis_map_source_load_rules
491champlain_memphis_map_source_set_background_color
492champlain_memphis_map_source_get_background_color
493champlain_memphis_map_source_set_map_data_source
494champlain_memphis_map_source_get_map_data_source
495champlain_memphis_map_source_set_rule
496champlain_memphis_map_source_get_rule
497champlain_memphis_map_source_remove_rule
498champlain_memphis_map_source_get_rule_ids
499champlain_memphis_map_source_set_session_id
500champlain_memphis_map_source_get_session_id
501champlain_memphis_map_source_delete_session_cache
489<FILE>champlain-memphis-tile-source</FILE>
490<TITLE>ChamplainMemphisTileSource</TITLE>
491ChamplainMemphisTileSource
492champlain_memphis_tile_source_new_full
493champlain_memphis_tile_source_load_rules
494champlain_memphis_tile_source_set_background_color
495champlain_memphis_tile_source_get_background_color
496champlain_memphis_tile_source_set_map_data_source
497champlain_memphis_tile_source_get_map_data_source
498champlain_memphis_tile_source_set_rule
499champlain_memphis_tile_source_get_rule
500champlain_memphis_tile_source_remove_rule
501champlain_memphis_tile_source_get_rule_ids
502502<SUBSECTION Standard>
503CHAMPLAIN_MEMPHIS_MAP_SOURCE
504CHAMPLAIN_IS_MEMPHIS_MAP_SOURCE
505CHAMPLAIN_TYPE_MEMPHIS_MAP_SOURCE
506champlain_memphis_map_source_get_type
507CHAMPLAIN_MEMPHIS_MAP_SOURCE_CLASS
508CHAMPLAIN_IS_MEMPHIS_MAP_SOURCE_CLASS
509CHAMPLAIN_MEMPHIS_MAP_SOURCE_GET_CLASS
503CHAMPLAIN_MEMPHIS_TILE_SOURCE
504CHAMPLAIN_IS_MEMPHIS_TILE_SOURCE
505CHAMPLAIN_TYPE_MEMPHIS_TILE_SOURCE
506champlain_memphis_tile_source_get_type
507CHAMPLAIN_MEMPHIS_TILE_SOURCE_CLASS
508CHAMPLAIN_IS_MEMPHIS_TILE_SOURCE_CLASS
509CHAMPLAIN_MEMPHIS_TILE_SOURCE_GET_CLASS
510<SUBSECTION Private>
511ChamplainMemphisTileSourceClass
510512</SECTION>
511513
512514<SECTION>
524524CHAMPLAIN_MAP_DATA_SOURCE_CLASS
525525CHAMPLAIN_IS_MAP_DATA_SOURCE_CLASS
526526CHAMPLAIN_MAP_DATA_SOURCE_GET_CLASS
527<SUBSECTION Private>
528ChamplainMapDataSourceClass
527529</SECTION>
528530
529531<SECTION>
542542CHAMPLAIN_LOCAL_MAP_DATA_SOURCE_CLASS
543543CHAMPLAIN_IS_LOCAL_MAP_DATA_SOURCE_CLASS
544544CHAMPLAIN_LOCAL_MAP_DATA_SOURCE_GET_CLASS
545<SUBSECTION Private>
546ChamplainLocalMapDataSourceClass
545547</SECTION>
546548
547549<SECTION>
562562CHAMPLAIN_NETWORK_MAP_DATA_SOURCE_CLASS
563563CHAMPLAIN_IS_NETWORK_MAP_DATA_SOURCE_CLASS
564564CHAMPLAIN_NETWORK_MAP_DATA_SOURCE_GET_CLASS
565<SUBSECTION Private>
566ChamplainNetworkMapDataSourceClass
565567</SECTION>
566568
567569<SECTION>
578578CHAMPLAIN_BOUNDING_BOX
579579CHAMPLAIN_TYPE_BOUNDING_BOX
580580champlain_bounding_box_get_type
581</SECTION>
582
583<SECTION>
584<FILE>champlain-map-source-chain</FILE>
585<TITLE>ChamplainMapSourceChain</TITLE>
586ChamplainMapSourceChain
587champlain_map_source_chain_new
588champlain_map_source_chain_push
589champlain_map_source_chain_pop
590<SUBSECTION Standard>
591CHAMPLAIN_MAP_SOURCE_CHAIN
592CHAMPLAIN_IS_MAP_SOURCE_CHAIN
593CHAMPLAIN_TYPE_MAP_SOURCE_CHAIN
594champlain_map_source_chain_get_type
595CHAMPLAIN_MAP_SOURCE_CHAIN_CLASS
596CHAMPLAIN_IS_MAP_SOURCE_CHAIN_CLASS
597CHAMPLAIN_MAP_SOURCE_CHAIN_GET_CLASS
598<SUBSECTION Private>
599ChamplainMapSourceChainClass
600</SECTION>
601
602<SECTION>
603<FILE>champlain-tile-source</FILE>
604<TITLE>ChamplainTileSource</TITLE>
605ChamplainTileSource
606champlain_tile_source_set_cache
607champlain_tile_source_get_cache
608champlain_tile_source_set_id
609champlain_tile_source_set_name
610champlain_tile_source_set_license
611champlain_tile_source_set_license_uri
612champlain_tile_source_set_min_zoom_level
613champlain_tile_source_set_max_zoom_level
614champlain_tile_source_set_tile_size
615champlain_tile_source_set_projection
616<SUBSECTION Standard>
617CHAMPLAIN_TILE_SOURCE
618CHAMPLAIN_IS_TILE_SOURCE
619CHAMPLAIN_TYPE_TILE_SOURCE
620champlain_tile_source_get_type
621CHAMPLAIN_TILE_SOURCE_CLASS
622CHAMPLAIN_IS_TILE_SOURCE_CLASS
623CHAMPLAIN_TILE_SOURCE_GET_CLASS
624<SUBSECTION Private>
625ChamplainTileSourceClass
626</SECTION>
627
628<SECTION>
629<FILE>champlain-error-tile-source</FILE>
630<TITLE>ChamplainErrorTileSource</TITLE>
631ChamplainErrorTileSource
632champlain_error_tile_source_new_full
633<SUBSECTION Standard>
634CHAMPLAIN_ERROR_TILE_SOURCE
635CHAMPLAIN_IS_ERROR_TILE_SOURCE
636CHAMPLAIN_TYPE_ERROR_TILE_SOURCE
637champlain_error_tile_source_get_type
638CHAMPLAIN_ERROR_TILE_SOURCE_CLASS
639CHAMPLAIN_IS_ERROR_TILE_SOURCE_CLASS
640CHAMPLAIN_ERROR_TILE_SOURCE_GET_CLASS
641<SUBSECTION Private>
642ChamplainErrorTileSourceClass
643</SECTION>
644
645<SECTION>
646<FILE>champlain-file-cache</FILE>
647<TITLE>ChamplainFileCache</TITLE>
648ChamplainFileCache
649champlain_file_cache_new
650champlain_file_cache_new_full
651champlain_file_cache_set_size_limit
652champlain_file_cache_get_size_limit
653champlain_file_cache_get_cache_dir
654champlain_file_cache_purge
655champlain_file_cache_purge_on_idle
656<SUBSECTION Standard>
657CHAMPLAIN_FILE_CACHE
658CHAMPLAIN_IS_FILE_CACHE
659CHAMPLAIN_TYPE_FILE_CACHE
660champlain_file_cache_get_type
661CHAMPLAIN_FILE_CACHE_CLASS
662CHAMPLAIN_IS_FILE_CACHE_CLASS
663CHAMPLAIN_FILE_CACHE_GET_CLASS
664<SUBSECTION Private>
665ChamplainFileCacheClass
581666</SECTION>
docs/reference/libchamplain.types
(7 / 0)
  
66champlain_layer_get_type
77champlain_selection_layer_get_type
88champlain_map_source_get_type
9champlain_map_source_chain_get_type
10champlain_tile_source_get_type
11champlain_tile_cache_get_type
12champlain_network_tile_source_get_type
13champlain_error_tile_source_get_type
14champlain_file_cache_get_type
915champlain_tile_get_type
1016champlain_map_source_factory_get_type
1117champlain_polygon_get_type
1218champlain_point_get_type
19champlain_memphis_tile_source_get_type
1320champlain_map_data_source_get_type
1421champlain_local_map_data_source_get_type
1522champlain_network_map_data_source_get_type

Comments

Add a new comment:

Login or create an account to post a comment

Add your comment