]> err.no Git - libchamplain/commitdiff
Remove ChamplainZoomLevel from public API
authorPierre-Luc Beaudoin <pierre-luc@pierlux.com>
Sat, 2 May 2009 04:33:14 +0000 (00:33 -0400)
committerPierre-Luc Beaudoin <pierre-luc@pierlux.com>
Sat, 2 May 2009 04:33:14 +0000 (00:33 -0400)
It is not needed

champlain/champlain-map-source.c
champlain/champlain-map-source.h
champlain/champlain-network-map-source.c
champlain/champlain-network-map-source.h
champlain/champlain-tile.c
champlain/champlain-view.c

index c71e79f24fc488a1d03c71bfe364f78a8c2189e1..dee4abf2d5e5a2b759eddf06c8510d83754a11d9 100644 (file)
@@ -35,7 +35,7 @@
 #include <string.h>
 
 void champlain_map_source_real_get_tile (ChamplainMapSource *map_source,
-    ChamplainView *view, ChamplainZoomLevel *level, ChamplainTile *tile);
+    ChamplainView *view, gint zoom_level, ChamplainTile *tile);
 
 enum
 {
@@ -350,7 +350,7 @@ champlain_map_source_get_column_count (ChamplainMapSource *map_source,
 void
 champlain_map_source_get_tile (ChamplainMapSource *map_source,
     ChamplainView *view,
-    ChamplainZoomLevel *zoom_level,
+    gint zoom_level,
     ChamplainTile *tile)
 {
   g_return_if_fail (CHAMPLAIN_IS_MAP_SOURCE (map_source));
@@ -361,7 +361,7 @@ champlain_map_source_get_tile (ChamplainMapSource *map_source,
 void
 champlain_map_source_real_get_tile (ChamplainMapSource *map_source,
     ChamplainView *view,
-    ChamplainZoomLevel *zoom_level,
+    gint zoom_level,
     ChamplainTile *tile)
 {
   g_error ("Should not be reached");
index 3073cbb7e4972f8d9d243d1f7cdaa6e9fb7ad4df..536ecadd2bdbcb6b18078f9316fee34577b42845 100644 (file)
@@ -59,7 +59,7 @@ struct _ChamplainMapSourceClass
 
   void (*get_tile) (ChamplainMapSource *map_source,
                     ChamplainView *view,
-                    ChamplainZoomLevel *zoom_level,
+                    gint zoom_level,
                     ChamplainTile *tile);
 };
 
@@ -95,7 +95,7 @@ guint champlain_map_source_get_column_count (ChamplainMapSource *map_source,
 
 void champlain_map_source_get_tile (ChamplainMapSource *map_source,
     ChamplainView *view,
-    ChamplainZoomLevel *level,
+    gint zoom_level,
     ChamplainTile *tile);
 
 void champlain_map_source_set_name (ChamplainMapSource *map_source,
index 27359ef8835f295e344403a0399b831cadef8926..ae12ff06304773f365d97f667c0bbdd25e0a8f13 100644 (file)
@@ -344,7 +344,7 @@ champlain_map_source_new_mff_relief (void)
 
 static gchar *
 get_filename (ChamplainNetworkMapSource *network_map_source,
-    ChamplainZoomLevel *level,
+    gint zoom_level,
     ChamplainTile *tile)
 {
   //ChamplainNetworkMapSourcePrivate *priv = network_map_source->priv;
@@ -352,13 +352,12 @@ get_filename (ChamplainNetworkMapSource *network_map_source,
              "%s" G_DIR_SEPARATOR_S "%d" G_DIR_SEPARATOR_S
              "%d" G_DIR_SEPARATOR_S "%d.png", g_get_user_cache_dir (),
              CACHE_SUBDIR, champlain_map_source_get_name (CHAMPLAIN_MAP_SOURCE (network_map_source)),
-             champlain_zoom_level_get_zoom_level (level),
+             zoom_level,
              champlain_tile_get_x (tile), champlain_tile_get_y (tile));
 }
 
 typedef struct {
   ChamplainView *view;
-  ChamplainZoomLevel *zoom_level;
   ChamplainTile *tile;
 } FileLoadedCallbackContext;
 
@@ -442,7 +441,6 @@ file_loaded_cb (SoupSession *session,
 
     champlain_tile_set_state (ctx->tile, CHAMPLAIN_STATE_DONE);
     g_object_unref (ctx->tile);
-    g_object_unref (ctx->zoom_level);
     g_free (ctx);
     return;
   }
@@ -547,14 +545,13 @@ cleanup:
 finish:
   champlain_tile_set_state (ctx->tile, CHAMPLAIN_STATE_DONE);
   g_object_unref (ctx->tile);
-  g_object_unref (ctx->zoom_level);
   g_free (ctx);
 }
 
 void
 champlain_network_map_source_get_tile (ChamplainMapSource *map_source,
     ChamplainView *view,
-    ChamplainZoomLevel *zoom_level,
+    gint zoom_level,
     ChamplainTile *tile)
 {
   gchar* filename;
@@ -592,14 +589,12 @@ champlain_network_map_source_get_tile (ChamplainMapSource *map_source,
       gchar *uri;
       FileLoadedCallbackContext *ctx = g_new0 (FileLoadedCallbackContext, 1);
       ctx->view = view;
-      ctx->zoom_level = zoom_level;
       ctx->tile = tile;
 
       /* Ref the tile as it may be freeing during the loading
        * Unref when the loading is done.
        */
       g_object_ref (tile);
-      g_object_ref (zoom_level);
 
       if (!soup_session)
         soup_session = soup_session_async_new_with_options ("proxy-uri",
@@ -611,7 +606,7 @@ champlain_network_map_source_get_tile (ChamplainMapSource *map_source,
 
       uri = champlain_network_map_source_get_tile_uri (network_map_source,
                champlain_tile_get_x (tile), champlain_tile_get_y (tile),
-               champlain_zoom_level_get_zoom_level (zoom_level));
+               zoom_level);
       champlain_tile_set_uri (tile, uri);
       champlain_tile_set_state (tile, CHAMPLAIN_STATE_LOADING);
       msg = soup_message_new (SOUP_METHOD_GET, uri);
index e3b531b63870722fe40555e64dfa5a9b9d4fc8d1..88636aa37da2ce7cf4cc65f48bd74559f0b8cb79 100644 (file)
@@ -75,7 +75,7 @@ void champlain_network_map_source_set_tile_uri (ChamplainNetworkMapSource *netwo
 
 void champlain_network_map_source_get_tile (ChamplainMapSource *map_source,
     ChamplainView *view,
-    ChamplainZoomLevel *level,
+    gint zoom_level,
     ChamplainTile *tile);
 
 G_END_DECLS
index f8ba6f753dfd72c8cda4b138da9c9ffa3e42a3c6..7717e7f7597fc74c4aefc1c034f4cacd05479ea4 100644 (file)
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
+/**
+ * SECTION:champlain-tile
+ * @short_description: An object that represent map tiles
+ *
+ * The #ChamplainView is a ClutterActor to display maps.  It supports two modes
+ * of scrolling:
+ * <itemizedlist>
+ *   <listitem><para>Push: the normal behavior where the maps doesn't move
+ *   after the user stopped scrolling;</para></listitem>
+ *   <listitem><para>Kinetic: the iPhone-like behavior where the maps
+ *   decelerate after the user stopped scrolling.</para></listitem>
+ * </itemizedlist>
+ *
+ * You can use the same #ChamplainView to display many types of maps.  In
+ * Champlain they are called map sources.  You can change the #map-source
+ * property at anytime to replace the current displayed map.
+ *
+ * The maps are downloaded from Internet from open maps sources (like
+ * <ulink role="online-location"
+ * url="http://www.openstreetmap.org">OpenStreetMap</ulink>).  Maps are divided
+ * in tiles for each zoom level.  When a tile is requested, #ChamplainView will
+ * first check if it is in cache (in the user's cache dir under champlain). If
+ * an error occurs during download, an error tile will be displayed.
+ *
+ * The button-press-event and button-release-event signals are emitted each
+ * time a mouse button is pressed on the @view.  Coordinates can be converted
+ * with #champlain_view_get_coords_from_event.
+ */
 
 #include "champlain-tile.h"
 
index 0c848406b64bed6438fead274e5e9df6f7f38a9f..0fdceb9e6d9057a7d298b5dd9dac698c4c02ee79 100644 (file)
@@ -1513,7 +1513,8 @@ view_load_visible_tiles (ChamplainView *view)
                   champlain_tile_get_actor (tile), NULL);
 
               champlain_zoom_level_add_tile (level, tile);
-              champlain_map_source_get_tile (priv->map_source, view, level, tile);
+              champlain_map_source_get_tile (priv->map_source, view,
+                  champlain_zoom_level_get_zoom_level (level), tile);
 
               g_object_unref (tile);
             }