]> err.no Git - libchamplain/commitdiff
clutter_actor_set_position can now happen in ChamplainTile
authorPierre-Luc Beaudoin <pierre-luc@pierlux.com>
Tue, 19 May 2009 01:26:44 +0000 (21:26 -0400)
committerPierre-Luc Beaudoin <pierre-luc@pierlux.com>
Mon, 3 Aug 2009 22:16:09 +0000 (18:16 -0400)
Since anchor (which was in ChamplainView) has disapeared

champlain/champlain-tile.c
champlain/champlain-view.c

index b666b7e48f732a1448386b40471bd4d22a32b688..07ff07b14058056815525dd2419c2ac14befa7ca 100644 (file)
@@ -565,6 +565,11 @@ champlain_tile_set_x (ChamplainTile *self,
   ChamplainTilePrivate *priv = GET_PRIVATE (self);
 
   priv->x = x;
+
+  if (priv->actor != NULL)
+    clutter_actor_set_position (priv->actor, priv->x * priv->size,
+        priv->y * priv->size);
+
   g_object_notify (G_OBJECT (self), "x");
 }
 
@@ -586,6 +591,9 @@ champlain_tile_set_y (ChamplainTile *self,
   ChamplainTilePrivate *priv = GET_PRIVATE (self);
 
   priv->y = y;
+  if (priv->actor != NULL)
+    clutter_actor_set_position (priv->actor, priv->x * priv->size,
+        priv->y * priv->size);
   g_object_notify (G_OBJECT (self), "y");
 }
 
@@ -628,6 +636,10 @@ champlain_tile_set_size (ChamplainTile *self,
   ChamplainTilePrivate *priv = GET_PRIVATE (self);
 
   priv->size = size;
+
+  if (priv->actor != NULL)
+    clutter_actor_set_position (priv->actor, priv->x * priv->size,
+        priv->y * priv->size);
   g_object_notify (G_OBJECT (self), "size");
 }
 
index 2714e1e70eccf6291322992dfae421ca9c18911f..36d1ce1799dbb0f54ddb1693d60371906a171865 100644 (file)
@@ -198,8 +198,6 @@ static gboolean finger_scroll_button_press_cb (ClutterActor *actor,
 static void update_license (ChamplainView *view);
 static void license_set_position (ChamplainView *view);
 static void view_load_visible_tiles (ChamplainView *view);
-static void view_position_tile (ChamplainView* view, ChamplainTile* tile);
-static void view_tiles_reposition (ChamplainView* view);
 static void view_update_state (ChamplainView *view);
 static gboolean view_set_zoom_level_at (ChamplainView *view,
     gint zoom_level,
@@ -342,7 +340,6 @@ create_initial_map (ChamplainView *view)
   clutter_container_add_actor (CLUTTER_CONTAINER (priv->map_layer), group);
 
   g_idle_add (marker_reposition, view);
-  view_tiles_reposition (view);
   update_license (view);
 
   g_object_notify (G_OBJECT (view), "zoom-level");
@@ -1040,7 +1037,6 @@ viewport_x_changed_cb (GObject *gobject,
   priv->viewport_size.y = rect.y;
 
   view_load_visible_tiles (view);
-  view_tiles_reposition (view);
   marker_reposition (view);
   view_update_polygons (view);
 
@@ -1166,7 +1162,6 @@ champlain_view_center_on (ChamplainView *view,
   g_object_notify (G_OBJECT (view), "latitude");
 
   view_load_visible_tiles (view);
-  view_tiles_reposition (view);
   view_update_polygons (view);
   marker_reposition (view);
 }
@@ -1661,48 +1656,11 @@ view_load_visible_tiles (ChamplainView *view)
   view_update_state (view);
 }
 
-static void
-view_position_tile (ChamplainView* view,
-    ChamplainTile* tile)
-{
-  ClutterActor *actor;
-  gint x;
-  gint y;
-  guint size;
-
-  actor = champlain_tile_get_actor (tile);
-  x = champlain_tile_get_x (tile);
-  y = champlain_tile_get_y (tile);
-  size = champlain_tile_get_size (tile);
-
-  clutter_actor_set_position (actor, (x * size), (y * size));
-}
-
-static void
-view_tiles_reposition (ChamplainView* view)
-{
-  ChamplainViewPrivate *priv = view->priv;
-  gint i;
-  return;
-
-  for (i = 0; i < champlain_zoom_level_tile_count (priv->map->current_level); i++)
-    {
-      ChamplainTile *tile = champlain_zoom_level_get_nth_tile (priv->map->current_level, i);
-
-      if (tile == NULL)
-        continue;
-
-      if (champlain_tile_get_state (tile) == CHAMPLAIN_STATE_DONE)
-        view_position_tile (view, tile);
-    }
-}
-
 static void
 tile_state_notify (GObject *gobject,
     GParamSpec *pspec,
     gpointer data)
 {
-  view_position_tile (CHAMPLAIN_VIEW (data), CHAMPLAIN_TILE (gobject));
   view_update_state (CHAMPLAIN_VIEW (data));
 }
 
@@ -1790,7 +1748,6 @@ champlain_view_set_map_source (ChamplainView *view,
 
   update_license (view);
   g_idle_add (marker_reposition, view);
-  view_tiles_reposition (view);
   champlain_view_center_on (view, priv->latitude, priv->longitude);
 }