[libchamplain/libchamplain-0-4] Make it possible to hide the scale



commit d5a82157b23e34f184dab1b73b0a46d8feb2e370
Author: Tollef Fog Heen <tfheen err no>
Date:   Mon Nov 16 16:38:49 2009 +0100

    Make it possible to hide the scale

 champlain/champlain-view.c |   26 ++++++++++++++++++++++++++
 champlain/champlain-view.h |    2 ++
 2 files changed, 28 insertions(+), 0 deletions(-)
---
diff --git a/champlain/champlain-view.c b/champlain/champlain-view.c
index a26fdd3..409ea23 100644
--- a/champlain/champlain-view.c
+++ b/champlain/champlain-view.c
@@ -1021,6 +1021,12 @@ update_scale (gpointer *unused,
   if (! priv || !priv->map || !priv->map->current_level) {
     return;
   }
+  if (priv->display_scale) {
+    clutter_actor_show(priv->scale_actor);
+  } else {
+    clutter_actor_hide(priv->scale_actor);
+  }
+
   level = priv->map->current_level;
   tile = champlain_zoom_level_get_nth_tile(level, 0);
   m_per_pixel = 2 * M_PI * 6378100 * sin(M_PI/2 - M_PI / 180*priv->latitude) /
@@ -1048,6 +1054,8 @@ create_scale (ChamplainView *view)
 		    view);
   g_signal_connect (priv->viewport, "notify::y-origin",
 		    G_CALLBACK (update_scale), view);
+  g_signal_connect (view, "notify::display-scale",
+		    G_CALLBACK (update_scale), view);
 
   scale = clutter_cairo_texture_new (SCALE_WIDTH, SCALE_HEIGHT);
   cr = clutter_cairo_texture_create (CLUTTER_CAIRO_TEXTURE (scale));
@@ -2791,3 +2799,21 @@ champlain_view_remove_polygon (ChamplainView *view,
 
   g_object_unref (polygon);
 }
+
+void
+champlain_view_show_scale (ChamplainView* view)
+{
+  g_return_if_fail (CHAMPLAIN_IS_VIEW (view));
+
+  g_object_set (G_OBJECT (view), "display-scale", TRUE, NULL);
+}
+
+void
+champlain_view_hide_scale (ChamplainView* view)
+{
+  g_return_if_fail (CHAMPLAIN_IS_VIEW (view));
+
+  g_object_set (G_OBJECT (view), "display-scale", FALSE, NULL);
+
+}
+
diff --git a/champlain/champlain-view.h b/champlain/champlain-view.h
index 85eb0e8..0549b08 100644
--- a/champlain/champlain-view.h
+++ b/champlain/champlain-view.h
@@ -147,6 +147,8 @@ void champlain_view_add_polygon (ChamplainView *view,
 void champlain_view_remove_polygon (ChamplainView *view,
     ChamplainPolygon *polygon);
 
+void champlain_view_show_scale (ChamplainView *view);
+void champlain_view_hide_scale (ChamplainView *view);
 
 G_END_DECLS
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]