[libchamplain] Rename ChamplainLayer to ChamplainMarkerLayer



commit 2f00d47b99f22014b478fc8c6b3b6c4f6e29a4b4
Author: JiÅ?í Techet <techet gmail com>
Date:   Sun Jan 30 13:13:30 2011 +0100

    Rename ChamplainLayer to ChamplainMarkerLayer

 champlain/Makefile.am                              |    4 +-
 champlain/champlain-label.c                        |    2 +-
 champlain/champlain-layer.h                        |  141 ----------
 ...{champlain-layer.c => champlain-marker-layer.c} |  276 ++++++++++----------
 champlain/champlain-marker-layer.h                 |  141 ++++++++++
 champlain/champlain-marker.c                       |    2 +-
 champlain/champlain-view.c                         |   12 +-
 champlain/champlain-view.h                         |    6 +-
 champlain/champlain.h                              |    2 +-
 demos/animated-marker.c                            |    4 +-
 demos/launcher-gtk.c                               |   28 +-
 demos/launcher.c                                   |    2 +-
 demos/markers.c                                    |   47 +---
 demos/markers.h                                    |    2 +-
 demos/polygons.c                                   |   20 +-
 demos/url-marker.c                                 |   10 +-
 16 files changed, 335 insertions(+), 364 deletions(-)
---
diff --git a/champlain/Makefile.am b/champlain/Makefile.am
index 68ebb8a..e81153d 100644
--- a/champlain/Makefile.am
+++ b/champlain/Makefile.am
@@ -16,7 +16,7 @@ libchamplain_headers_public = 				\
 	$(srcdir)/champlain-defines.h			\
 	$(srcdir)/champlain-point.h			\
 	$(srcdir)/champlain-view.h			\
-	$(srcdir)/champlain-layer.h 			\
+	$(srcdir)/champlain-marker-layer.h 			\
 	$(srcdir)/champlain-marker.h		\
 	$(srcdir)/champlain-label.h			\
 	$(srcdir)/champlain-tile.h			\
@@ -51,7 +51,7 @@ libchamplain_sources =					\
 	$(memphis_sources)				\
 	$(srcdir)/champlain-debug.c 			\
 	$(srcdir)/champlain-view.c 			\
-	$(srcdir)/champlain-layer.c 			\
+	$(srcdir)/champlain-marker-layer.c 			\
 	$(srcdir)/champlain-marker.c 		\
 	$(srcdir)/champlain-label.c 			\
 	$(srcdir)/champlain-tile.c			\
diff --git a/champlain/champlain-label.c b/champlain/champlain-label.c
index d904584..4d88f82 100644
--- a/champlain/champlain-label.c
+++ b/champlain/champlain-label.c
@@ -21,7 +21,7 @@
  * @short_description: A label to identify points of interest on a map
  *
  * Markers reprensent points of interest on a map. Markers need to be placed on
- * a layer (a #ChamplainLayer).  Layers have to be added to a #ChamplainView for
+ * a layer (a #ChamplainMarkerLayer).  Layers have to be added to a #ChamplainView for
  * the markers to show on the map.
  *
  * A marker is nothing more than a regular #ClutterActor.  You can draw on it
diff --git a/champlain/champlain-layer.c b/champlain/champlain-marker-layer.c
similarity index 74%
rename from champlain/champlain-layer.c
rename to champlain/champlain-marker-layer.c
index 5ae1b36..77011b4 100644
--- a/champlain/champlain-layer.c
+++ b/champlain/champlain-marker-layer.c
@@ -17,10 +17,10 @@
  */
 
 /**
- * SECTION:champlain-layer
+ * SECTION:champlain-marker-layer
  * @short_description: A container for #ChamplainMarker
  *
- * A ChamplainLayer is little more than a #ClutterContainer. It keeps the
+ * A ChamplainMarkerLayer is little more than a #ClutterContainer. It keeps the
  * markers ordered so that they display correctly.
  *
  * Use #clutter_container_add to add markers to the layer and
@@ -29,7 +29,7 @@
 
 #include "config.h"
 
-#include "champlain-layer.h"
+#include "champlain-marker-layer.h"
 
 #include "champlain-defines.h"
 #include "champlain-enum-types.h"
@@ -39,9 +39,9 @@
 #include <clutter/clutter.h>
 #include <glib.h>
 
-G_DEFINE_TYPE (ChamplainLayer, champlain_layer, CLUTTER_TYPE_GROUP)
+G_DEFINE_TYPE (ChamplainMarkerLayer, champlain_marker_layer, CLUTTER_TYPE_GROUP)
 
-#define GET_PRIVATE(obj)    (G_TYPE_INSTANCE_GET_PRIVATE ((obj), CHAMPLAIN_TYPE_LAYER, ChamplainLayerPrivate))
+#define GET_PRIVATE(obj)    (G_TYPE_INSTANCE_GET_PRIVATE ((obj), CHAMPLAIN_TYPE_MARKER_LAYER, ChamplainMarkerLayerPrivate))
 
 enum
 {
@@ -68,7 +68,7 @@ static ClutterColor DEFAULT_STROKE_COLOR = { 0xa4, 0x00, 0x00, 0xff };
 
 static guint signals[LAST_SIGNAL] = { 0, };
 
-struct _ChamplainLayerPrivate
+struct _ChamplainMarkerLayerPrivate
 {
   ChamplainSelectionMode mode;
   ChamplainView *view;
@@ -86,19 +86,19 @@ struct _ChamplainLayerPrivate
 
 static void marker_highlighted_cb (ChamplainMarker *marker,
     G_GNUC_UNUSED GParamSpec *arg1,
-    ChamplainLayer *layer);
+    ChamplainMarkerLayer *layer);
     
-static void redraw_polygon (ChamplainLayer *layer);
+static void redraw_polygon (ChamplainMarkerLayer *layer);
 
 
 static void
-champlain_layer_get_property (GObject *object,
+champlain_marker_layer_get_property (GObject *object,
     guint property_id,
     G_GNUC_UNUSED GValue *value,
     GParamSpec *pspec)
 {
-  ChamplainLayer *self = CHAMPLAIN_LAYER (object);
-  ChamplainLayerPrivate *priv = self->priv;
+  ChamplainMarkerLayer *self = CHAMPLAIN_MARKER_LAYER (object);
+  ChamplainMarkerLayerPrivate *priv = self->priv;
   
   switch (property_id)
     {
@@ -141,18 +141,18 @@ champlain_layer_get_property (GObject *object,
 
 
 static void
-champlain_layer_set_property (GObject *object,
+champlain_marker_layer_set_property (GObject *object,
     guint property_id,
     G_GNUC_UNUSED const GValue *value,
     GParamSpec *pspec)
 {
-  ChamplainLayer *self = CHAMPLAIN_LAYER (object);
-  ChamplainLayerPrivate *priv = self->priv;
+  ChamplainMarkerLayer *self = CHAMPLAIN_MARKER_LAYER (object);
+  ChamplainMarkerLayerPrivate *priv = self->priv;
   
   switch (property_id)
     {
     case PROP_SELECTION_MODE:
-      champlain_layer_set_selection_mode (self, g_value_get_enum (value));
+      champlain_marker_layer_set_selection_mode (self, g_value_get_enum (value));
       break;
       
     case PROP_CLOSED_PATH:
@@ -160,35 +160,35 @@ champlain_layer_set_property (GObject *object,
       break;
 
     case PROP_FILL:
-      champlain_layer_set_polygon_fill (CHAMPLAIN_LAYER (object),
+      champlain_marker_layer_set_polygon_fill (CHAMPLAIN_MARKER_LAYER (object),
           g_value_get_boolean (value));
       break;
 
     case PROP_STROKE:
-      champlain_layer_set_polygon_stroke (CHAMPLAIN_LAYER (object),
+      champlain_marker_layer_set_polygon_stroke (CHAMPLAIN_MARKER_LAYER (object),
           g_value_get_boolean (value));
       break;
 
     case PROP_FILL_COLOR:
-      champlain_layer_set_polygon_fill_color (CHAMPLAIN_LAYER (object),
+      champlain_marker_layer_set_polygon_fill_color (CHAMPLAIN_MARKER_LAYER (object),
           clutter_value_get_color (value));
       break;
 
     case PROP_STROKE_COLOR:
-      champlain_layer_set_polygon_stroke_color (CHAMPLAIN_LAYER (object),
+      champlain_marker_layer_set_polygon_stroke_color (CHAMPLAIN_MARKER_LAYER (object),
           clutter_value_get_color (value));
       break;
 
     case PROP_STROKE_WIDTH:
-      champlain_layer_set_polygon_stroke_width (CHAMPLAIN_LAYER (object),
+      champlain_marker_layer_set_polygon_stroke_width (CHAMPLAIN_MARKER_LAYER (object),
           g_value_get_double (value));
       break;
 
     case PROP_VISIBLE:
       if (g_value_get_boolean (value))
-        champlain_layer_show_polygon (CHAMPLAIN_LAYER (object));
+        champlain_marker_layer_show_polygon (CHAMPLAIN_MARKER_LAYER (object));
       else
-        champlain_layer_hide_polygon (CHAMPLAIN_LAYER (object));
+        champlain_marker_layer_hide_polygon (CHAMPLAIN_MARKER_LAYER (object));
       break;
       
     default:
@@ -198,47 +198,47 @@ champlain_layer_set_property (GObject *object,
 
 
 static void
-champlain_layer_dispose (GObject *object)
+champlain_marker_layer_dispose (GObject *object)
 {
-  ChamplainLayer *self = CHAMPLAIN_LAYER (object);
-  ChamplainLayerPrivate *priv = self->priv;
+  ChamplainMarkerLayer *self = CHAMPLAIN_MARKER_LAYER (object);
+  ChamplainMarkerLayerPrivate *priv = self->priv;
   
   if (priv->view != NULL)
     {
-      champlain_layer_set_view (self, NULL);
+      champlain_marker_layer_set_view (self, NULL);
     }
 
-  G_OBJECT_CLASS (champlain_layer_parent_class)->dispose (object);
+  G_OBJECT_CLASS (champlain_marker_layer_parent_class)->dispose (object);
 }
 
 
 static void
-champlain_layer_finalize (GObject *object)
+champlain_marker_layer_finalize (GObject *object)
 {
-  ChamplainLayer *self = CHAMPLAIN_LAYER (object);
-  ChamplainLayerPrivate *priv = self->priv;
+  ChamplainMarkerLayer *self = CHAMPLAIN_MARKER_LAYER (object);
+  ChamplainMarkerLayerPrivate *priv = self->priv;
   
   clutter_color_free (priv->stroke_color);
   clutter_color_free (priv->fill_color);
 
-  G_OBJECT_CLASS (champlain_layer_parent_class)->finalize (object);
+  G_OBJECT_CLASS (champlain_marker_layer_parent_class)->finalize (object);
 }
 
 
 static void
-champlain_layer_class_init (ChamplainLayerClass *klass)
+champlain_marker_layer_class_init (ChamplainMarkerLayerClass *klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (ChamplainLayerPrivate));
+  g_type_class_add_private (klass, sizeof (ChamplainMarkerLayerPrivate));
   
-  object_class->finalize = champlain_layer_finalize;
-  object_class->dispose = champlain_layer_dispose;
-  object_class->get_property = champlain_layer_get_property;
-  object_class->set_property = champlain_layer_set_property;
+  object_class->finalize = champlain_marker_layer_finalize;
+  object_class->dispose = champlain_marker_layer_dispose;
+  object_class->get_property = champlain_marker_layer_get_property;
+  object_class->set_property = champlain_marker_layer_set_property;
   
   /**
-   * ChamplainLayer:selection-mode:
+   * ChamplainMarkerLayer:selection-mode:
    *
    * Determines the type of selection that will be performed.
    *
@@ -357,7 +357,7 @@ champlain_layer_class_init (ChamplainLayerClass *klass)
           CHAMPLAIN_PARAM_READWRITE));
 
   /**
-   * ChamplainLayer::changed
+   * ChamplainMarkerLayer::changed
    *
    * The changed signal is emitted when the selected marker(s) change.
    *
@@ -372,9 +372,9 @@ champlain_layer_class_init (ChamplainLayerClass *klass)
 
 
 static void
-champlain_layer_init (ChamplainLayer *self)
+champlain_marker_layer_init (ChamplainMarkerLayer *self)
 {
-  ChamplainLayerPrivate *priv;
+  ChamplainMarkerLayerPrivate *priv;
   
   self->priv = GET_PRIVATE (self);
   priv = self->priv;
@@ -397,24 +397,24 @@ champlain_layer_init (ChamplainLayer *self)
 
 
 /**
- * champlain_layer_new_full:
+ * champlain_marker_layer_new_full:
  * @mode: Selection mode
  *
- * Creates a new instance of #ChamplainLayer.
+ * Creates a new instance of #ChamplainMarkerLayer.
  *
- * Returns: a new #ChamplainLayer ready to be used as a #ClutterContainer for the markers.
+ * Returns: a new #ChamplainMarkerLayer ready to be used as a #ClutterContainer for the markers.
  *
  * Since: 0.2.2
  */
-ChamplainLayer *
-champlain_layer_new_full (ChamplainSelectionMode mode)
+ChamplainMarkerLayer *
+champlain_marker_layer_new_full (ChamplainSelectionMode mode)
 {
-  return g_object_new (CHAMPLAIN_TYPE_LAYER, "selection-mode", mode, NULL);
+  return g_object_new (CHAMPLAIN_TYPE_MARKER_LAYER, "selection-mode", mode, NULL);
 }
 
 
 static void
-set_highlighted_all_but_one (ChamplainLayer *layer,
+set_highlighted_all_but_one (ChamplainMarkerLayer *layer,
     ChamplainMarker *not_highlighted,
     gboolean highlight)
 {
@@ -445,7 +445,7 @@ set_highlighted_all_but_one (ChamplainLayer *layer,
 static void
 marker_highlighted_cb (ChamplainMarker *marker,
     G_GNUC_UNUSED GParamSpec *arg1,
-    ChamplainLayer *layer)
+    ChamplainMarkerLayer *layer)
 {
   if (layer->priv->mode == CHAMPLAIN_SELECTION_SINGLE)
     {
@@ -455,9 +455,9 @@ marker_highlighted_cb (ChamplainMarker *marker,
 
 
 static void
-set_marker_position (ChamplainLayer *layer, ChamplainMarker *marker)
+set_marker_position (ChamplainMarkerLayer *layer, ChamplainMarker *marker)
 {
-  ChamplainLayerPrivate *priv = layer->priv;
+  ChamplainMarkerLayerPrivate *priv = layer->priv;
   gint x, y;
   
   /* layer not yet added to the view */
@@ -476,7 +476,7 @@ set_marker_position (ChamplainLayer *layer, ChamplainMarker *marker)
 static void
 marker_position_notify (ChamplainMarker *marker,
     G_GNUC_UNUSED GParamSpec *pspec,
-    ChamplainLayer *layer)
+    ChamplainMarkerLayer *layer)
 {
   set_marker_position (layer, marker);
   redraw_polygon (layer);
@@ -487,9 +487,9 @@ static void
 marker_move_by_cb (ChamplainMarker *marker,
     gfloat dx,
     gfloat dy,
-    ChamplainLayer *layer)
+    ChamplainMarkerLayer *layer)
 {
-  ChamplainLayerPrivate *priv = layer->priv;
+  ChamplainMarkerLayerPrivate *priv = layer->priv;
   ChamplainView *view = priv->view;
   gdouble x, y, lat, lon;
 
@@ -507,8 +507,8 @@ marker_move_by_cb (ChamplainMarker *marker,
 
 
 /**
- * champlain_layer_add_marker:
- * @layer: a #ChamplainLayer
+ * champlain_marker_layer_add_marker:
+ * @layer: a #ChamplainMarkerLayer
  * @marker: a #ChamplainMarker
  *
  * Adds the marker to the layer.
@@ -516,10 +516,10 @@ marker_move_by_cb (ChamplainMarker *marker,
  * Since: 0.4
  */
 void
-champlain_layer_add_marker (ChamplainLayer *layer,
+champlain_marker_layer_add_marker (ChamplainMarkerLayer *layer,
     ChamplainMarker *marker)
 {
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
   g_return_if_fail (CHAMPLAIN_IS_MARKER (marker));
 
   champlain_marker_set_selectable (marker, layer->priv->mode != CHAMPLAIN_SELECTION_NONE);
@@ -540,8 +540,8 @@ champlain_layer_add_marker (ChamplainLayer *layer,
 
 
 /**
- * champlain_layer_remove_marker:
- * @layer: a #ChamplainLayer
+ * champlain_marker_layer_remove_marker:
+ * @layer: a #ChamplainMarkerLayer
  * @marker: a #ChamplainMarker
  *
  * Removes the marker from the layer.
@@ -549,10 +549,10 @@ champlain_layer_add_marker (ChamplainLayer *layer,
  * Since: 0.4
  */
 void
-champlain_layer_remove_marker (ChamplainLayer *layer,
+champlain_marker_layer_remove_marker (ChamplainMarkerLayer *layer,
     ChamplainMarker *marker)
 {
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
   g_return_if_fail (CHAMPLAIN_IS_MARKER (marker));
 
   g_signal_handlers_disconnect_by_func (G_OBJECT (marker),
@@ -567,20 +567,20 @@ champlain_layer_remove_marker (ChamplainLayer *layer,
 
 
 /**
- * champlain_layer_animate_in_all_markers:
- * @layer: a #ChamplainLayer
+ * champlain_marker_layer_animate_in_all_markers:
+ * @layer: a #ChamplainMarkerLayer
  *
  * Fade in all markers with an animation
  *
  * Since: 0.4
  */
 void
-champlain_layer_animate_in_all_markers (ChamplainLayer *layer)
+champlain_marker_layer_animate_in_all_markers (ChamplainMarkerLayer *layer)
 {
   guint i;
   guint delay = 0;
 
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
 
   for (i = 1; i < clutter_group_get_n_children (CLUTTER_GROUP (layer)); i++)
     {
@@ -594,20 +594,20 @@ champlain_layer_animate_in_all_markers (ChamplainLayer *layer)
 
 
 /**
- * champlain_layer_animate_out_all_markers:
- * @layer: a #ChamplainLayer
+ * champlain_marker_layer_animate_out_all_markers:
+ * @layer: a #ChamplainMarkerLayer
  *
  * Fade out all markers with an animation
  *
  * Since: 0.4
  */
 void
-champlain_layer_animate_out_all_markers (ChamplainLayer *layer)
+champlain_marker_layer_animate_out_all_markers (ChamplainMarkerLayer *layer)
 {
   guint i;
   guint delay = 0;
 
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
 
   for (i = 1; i < clutter_group_get_n_children (CLUTTER_GROUP (layer)); i++)
     {
@@ -621,19 +621,19 @@ champlain_layer_animate_out_all_markers (ChamplainLayer *layer)
 
 
 /**
- * champlain_layer_show_all_markers:
- * @layer: a #ChamplainLayer
+ * champlain_marker_layer_show_all_markers:
+ * @layer: a #ChamplainMarkerLayer
  *
  * Calls clutter_actor_show on all markers
  *
  * Since: 0.4
  */
 void
-champlain_layer_show_all_markers (ChamplainLayer *layer)
+champlain_marker_layer_show_all_markers (ChamplainMarkerLayer *layer)
 {
   guint i;
 
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
 
   for (i = 1; i < clutter_group_get_n_children (CLUTTER_GROUP (layer)); i++)
     {
@@ -644,19 +644,19 @@ champlain_layer_show_all_markers (ChamplainLayer *layer)
 }
 
 /**
- * champlain_layer_hide_all_markers:
- * @layer: a #ChamplainLayer
+ * champlain_marker_layer_hide_all_markers:
+ * @layer: a #ChamplainMarkerLayer
  *
  * Calls clutter_actor_hide on all markers
  *
  * Since: 0.4
  */
 void
-champlain_layer_hide_all_markers (ChamplainLayer *layer)
+champlain_marker_layer_hide_all_markers (ChamplainMarkerLayer *layer)
 {
   guint i;
 
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
 
   for (i = 1; i < clutter_group_get_n_children (CLUTTER_GROUP (layer)); i++)
     {
@@ -668,11 +668,11 @@ champlain_layer_hide_all_markers (ChamplainLayer *layer)
 
 
 void
-champlain_layer_set_all_markers_movable (ChamplainLayer *layer)
+champlain_marker_layer_set_all_markers_movable (ChamplainMarkerLayer *layer)
 {
   guint i;
 
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
 
   for (i = 1; i < clutter_group_get_n_children (CLUTTER_GROUP (layer)); i++)
     {
@@ -684,11 +684,11 @@ champlain_layer_set_all_markers_movable (ChamplainLayer *layer)
 
 
 void
-champlain_layer_set_all_markers_unmovable (ChamplainLayer *layer)
+champlain_marker_layer_set_all_markers_unmovable (ChamplainMarkerLayer *layer)
 {
   guint i;
 
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
 
   for (i = 1; i < clutter_group_get_n_children (CLUTTER_GROUP (layer)); i++)
     {
@@ -701,8 +701,8 @@ champlain_layer_set_all_markers_unmovable (ChamplainLayer *layer)
 
 
 /**
- * champlain_layer_get_selected_markers:
- * @layer: a #ChamplainLayer
+ * champlain_marker_layer_get_selected_markers:
+ * @layer: a #ChamplainMarkerLayer
  *
  * Gets the list of selected markers.
  *
@@ -712,11 +712,11 @@ champlain_layer_set_all_markers_unmovable (ChamplainLayer *layer)
  * Since: 0.10
  */
 GSList *
-champlain_layer_get_selected_markers (ChamplainLayer *layer)
+champlain_marker_layer_get_selected_markers (ChamplainMarkerLayer *layer)
 {
   GSList *lst = NULL;
     
-  g_return_val_if_fail (CHAMPLAIN_IS_LAYER (layer), NULL);
+  g_return_val_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer), NULL);
     
   gint i, n_children;
   
@@ -733,25 +733,25 @@ champlain_layer_get_selected_markers (ChamplainLayer *layer)
 
 
 /**
- * champlain_layer_unselect_all:
- * @layer: a #ChamplainLayer
+ * champlain_marker_layer_unselect_all:
+ * @layer: a #ChamplainMarkerLayer
  *
  * Unselects all markers.
  *
  * Since: 0.4
  */
 void
-champlain_layer_unselect_all (ChamplainLayer *layer)
+champlain_marker_layer_unselect_all (ChamplainMarkerLayer *layer)
 {
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
 
   set_highlighted_all_but_one (layer, NULL, FALSE);
 }
 
 
 /**
- * champlain_layer_select_all:
- * @layer: a #ChamplainLayer
+ * champlain_marker_layer_select_all:
+ * @layer: a #ChamplainMarkerLayer
  *
  * Selects all markers in the layer. This call will only work if the selection
  * mode is set CHAMPLAIN_SELETION_MULTIPLE.
@@ -759,17 +759,17 @@ champlain_layer_unselect_all (ChamplainLayer *layer)
  * Since: 0.4
  */
 void
-champlain_layer_select_all (ChamplainLayer *layer)
+champlain_marker_layer_select_all (ChamplainMarkerLayer *layer)
 {
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
 
   set_highlighted_all_but_one (layer, NULL, TRUE);
 }
 
 
 /**
- * champlain_layer_set_selection_mode:
- * @layer: a #ChamplainLayer
+ * champlain_marker_layer_set_selection_mode:
+ * @layer: a #ChamplainMarkerLayer
  * @mode: a #ChamplainSelectionMode value
  *
  * Sets the selection mode of the layer.
@@ -780,10 +780,10 @@ champlain_layer_select_all (ChamplainLayer *layer)
  * Since: 0.4
  */
 void
-champlain_layer_set_selection_mode (ChamplainLayer *layer,
+champlain_marker_layer_set_selection_mode (ChamplainMarkerLayer *layer,
     ChamplainSelectionMode mode)
 {
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
 
   gboolean highlight;
   
@@ -801,8 +801,8 @@ champlain_layer_set_selection_mode (ChamplainLayer *layer,
 
 
 /**
- * champlain_layer_get_selection_mode:
- * @layer: a #ChamplainLayer
+ * champlain_marker_layer_get_selection_mode:
+ * @layer: a #ChamplainMarkerLayer
  *
  * Gets the selection mode of the layer.
  *
@@ -811,21 +811,21 @@ champlain_layer_set_selection_mode (ChamplainLayer *layer,
  * Since: 0.4
  */
 ChamplainSelectionMode
-champlain_layer_get_selection_mode (ChamplainLayer *layer)
+champlain_marker_layer_get_selection_mode (ChamplainMarkerLayer *layer)
 {
   g_return_val_if_fail (
-      CHAMPLAIN_IS_LAYER (layer),
+      CHAMPLAIN_IS_MARKER_LAYER (layer),
       CHAMPLAIN_SELECTION_SINGLE);
   return layer->priv->mode;
 }
 
 
 static void
-relocate (ChamplainLayer *layer)
+relocate (ChamplainMarkerLayer *layer)
 {
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
     
-  ChamplainLayerPrivate *priv = layer->priv;
+  ChamplainMarkerLayerPrivate *priv = layer->priv;
   gint i, n_children;
   
   g_return_if_fail (CHAMPLAIN_IS_VIEW (priv->view));
@@ -844,9 +844,9 @@ relocate (ChamplainLayer *layer)
 
 static void
 relocate_cb (G_GNUC_UNUSED GObject *gobject,
-    ChamplainLayer *layer)
+    ChamplainMarkerLayer *layer)
 {
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
     
   relocate (layer);
 }
@@ -854,9 +854,9 @@ relocate_cb (G_GNUC_UNUSED GObject *gobject,
 
 
 static void
-redraw_polygon (ChamplainLayer *layer)
+redraw_polygon (ChamplainMarkerLayer *layer)
 {
-  ChamplainLayerPrivate *priv = layer->priv;
+  ChamplainMarkerLayerPrivate *priv = layer->priv;
   ClutterActor *cairo_texture;
   cairo_t *cr;
   gfloat width, height;
@@ -930,16 +930,16 @@ redraw_polygon (ChamplainLayer *layer)
 static void
 redraw_polygon_cb (G_GNUC_UNUSED GObject *gobject,
     G_GNUC_UNUSED GParamSpec *arg1,
-    ChamplainLayer *layer)
+    ChamplainMarkerLayer *layer)
 {
   redraw_polygon (layer);
 }
 
 
-void champlain_layer_set_view (ChamplainLayer *layer,
+void champlain_marker_layer_set_view (ChamplainMarkerLayer *layer,
     ChamplainView *view)
 {
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer) && (CHAMPLAIN_IS_VIEW (view) || view == NULL));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer) && (CHAMPLAIN_IS_VIEW (view) || view == NULL));
   
   if (layer->priv->view != NULL)
     {
@@ -1028,12 +1028,12 @@ champlain_view_ensure_markers_visible (ChamplainView *view,
  * Since: 0.4
  */
 void
-champlain_layer_set_polygon_fill_color (ChamplainLayer *layer,
+champlain_marker_layer_set_polygon_fill_color (ChamplainMarkerLayer *layer,
     const ClutterColor *color)
 {
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
 
-  ChamplainLayerPrivate *priv = layer->priv;
+  ChamplainMarkerLayerPrivate *priv = layer->priv;
 
   if (priv->fill_color != NULL)
     clutter_color_free (priv->fill_color);
@@ -1057,12 +1057,12 @@ champlain_layer_set_polygon_fill_color (ChamplainLayer *layer,
  * Since: 0.4
  */
 void
-champlain_layer_set_polygon_stroke_color (ChamplainLayer *layer,
+champlain_marker_layer_set_polygon_stroke_color (ChamplainMarkerLayer *layer,
     const ClutterColor *color)
 {
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
 
-  ChamplainLayerPrivate *priv = layer->priv;
+  ChamplainMarkerLayerPrivate *priv = layer->priv;
 
   if (priv->stroke_color != NULL)
     clutter_color_free (priv->stroke_color);
@@ -1086,9 +1086,9 @@ champlain_layer_set_polygon_stroke_color (ChamplainLayer *layer,
  * Since: 0.4
  */
 ClutterColor *
-champlain_layer_get_polygon_fill_color (ChamplainLayer *layer)
+champlain_marker_layer_get_polygon_fill_color (ChamplainMarkerLayer *layer)
 {
-  g_return_val_if_fail (CHAMPLAIN_IS_LAYER (layer), NULL);
+  g_return_val_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer), NULL);
 
   return layer->priv->fill_color;
 }
@@ -1105,9 +1105,9 @@ champlain_layer_get_polygon_fill_color (ChamplainLayer *layer)
  * Since: 0.4
  */
 ClutterColor *
-champlain_layer_get_polygon_stroke_color (ChamplainLayer *layer)
+champlain_marker_layer_get_polygon_stroke_color (ChamplainMarkerLayer *layer)
 {
-  g_return_val_if_fail (CHAMPLAIN_IS_LAYER (layer), NULL);
+  g_return_val_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer), NULL);
 
   return layer->priv->stroke_color;
 }
@@ -1123,10 +1123,10 @@ champlain_layer_get_polygon_stroke_color (ChamplainLayer *layer)
  * Since: 0.4
  */
 void
-champlain_layer_set_polygon_stroke (ChamplainLayer *layer,
+champlain_marker_layer_set_polygon_stroke (ChamplainMarkerLayer *layer,
     gboolean value)
 {
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
 
   layer->priv->stroke = value;
   g_object_notify (G_OBJECT (layer), "stroke");
@@ -1144,9 +1144,9 @@ champlain_layer_set_polygon_stroke (ChamplainLayer *layer,
  * Since: 0.4
  */
 gboolean
-champlain_layer_get_polygon_stroke (ChamplainLayer *layer)
+champlain_marker_layer_get_polygon_stroke (ChamplainMarkerLayer *layer)
 {
-  g_return_val_if_fail (CHAMPLAIN_IS_LAYER (layer), FALSE);
+  g_return_val_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer), FALSE);
 
   return layer->priv->stroke;
 }
@@ -1162,10 +1162,10 @@ champlain_layer_get_polygon_stroke (ChamplainLayer *layer)
  * Since: 0.4
  */
 void
-champlain_layer_set_polygon_fill (ChamplainLayer *layer,
+champlain_marker_layer_set_polygon_fill (ChamplainMarkerLayer *layer,
     gboolean value)
 {
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
 
   layer->priv->fill = value;
   g_object_notify (G_OBJECT (layer), "fill");
@@ -1183,9 +1183,9 @@ champlain_layer_set_polygon_fill (ChamplainLayer *layer,
  * Since: 0.4
  */
 gboolean
-champlain_layer_get_polygon_fill (ChamplainLayer *layer)
+champlain_marker_layer_get_polygon_fill (ChamplainMarkerLayer *layer)
 {
-  g_return_val_if_fail (CHAMPLAIN_IS_LAYER (layer), FALSE);
+  g_return_val_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer), FALSE);
 
   return layer->priv->fill;
 }
@@ -1201,10 +1201,10 @@ champlain_layer_get_polygon_fill (ChamplainLayer *layer)
  * Since: 0.4
  */
 void
-champlain_layer_set_polygon_stroke_width (ChamplainLayer *layer,
+champlain_marker_layer_set_polygon_stroke_width (ChamplainMarkerLayer *layer,
     gdouble value)
 {
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
 
   layer->priv->stroke_width = value;
   g_object_notify (G_OBJECT (layer), "stroke-width");
@@ -1222,9 +1222,9 @@ champlain_layer_set_polygon_stroke_width (ChamplainLayer *layer,
  * Since: 0.4
  */
 gdouble
-champlain_layer_get_polygon_stroke_width (ChamplainLayer *layer)
+champlain_marker_layer_get_polygon_stroke_width (ChamplainMarkerLayer *layer)
 {
-  g_return_val_if_fail (CHAMPLAIN_IS_LAYER (layer), 0);
+  g_return_val_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer), 0);
 
   return layer->priv->stroke_width;
 }
@@ -1239,9 +1239,9 @@ champlain_layer_get_polygon_stroke_width (ChamplainLayer *layer)
  * Since: 0.4
  */
 void
-champlain_layer_show_polygon (ChamplainLayer *layer)
+champlain_marker_layer_show_polygon (ChamplainMarkerLayer *layer)
 {
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
 
   layer->priv->visible = TRUE;
   clutter_actor_show (CLUTTER_ACTOR (layer->priv->polygon_actor));
@@ -1258,9 +1258,9 @@ champlain_layer_show_polygon (ChamplainLayer *layer)
  * Since: 0.4
  */
 void
-champlain_layer_hide_polygon (ChamplainLayer *layer)
+champlain_marker_layer_hide_polygon (ChamplainMarkerLayer *layer)
 {
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
 
   layer->priv->visible = FALSE;
   clutter_actor_hide (CLUTTER_ACTOR (layer->priv->polygon_actor));
diff --git a/champlain/champlain-marker-layer.h b/champlain/champlain-marker-layer.h
new file mode 100644
index 0000000..c87c5ed
--- /dev/null
+++ b/champlain/champlain-marker-layer.h
@@ -0,0 +1,141 @@
+/*
+ * Copyright (C) 2008 Pierre-Luc Beaudoin <pierre-luc pierlux com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#if !defined (__CHAMPLAIN_CHAMPLAIN_H_INSIDE__) && !defined (CHAMPLAIN_COMPILATION)
+#error "Only <champlain/champlain.h> can be included directly."
+#endif
+
+#ifndef CHAMPLAIN_MARKER_LAYER_H
+#define CHAMPLAIN_MARKER_LAYER_H
+
+#include <champlain/champlain-defines.h>
+#include <champlain/champlain-marker.h>
+
+#include <glib-object.h>
+#include <clutter/clutter.h>
+
+G_BEGIN_DECLS
+
+#define CHAMPLAIN_TYPE_MARKER_LAYER champlain_marker_layer_get_type ()
+
+#define CHAMPLAIN_MARKER_LAYER(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST ((obj), CHAMPLAIN_TYPE_MARKER_LAYER, ChamplainMarkerLayer))
+
+#define CHAMPLAIN_MARKER_LAYER_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST ((klass), CHAMPLAIN_TYPE_MARKER_LAYER, ChamplainMarkerLayerClass))
+
+#define CHAMPLAIN_IS_MARKER_LAYER(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CHAMPLAIN_TYPE_MARKER_LAYER))
+
+#define CHAMPLAIN_IS_MARKER_LAYER_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE ((klass), CHAMPLAIN_TYPE_MARKER_LAYER))
+
+#define CHAMPLAIN_MARKER_LAYER_GET_CLASS(obj) \
+  (G_TYPE_INSTANCE_GET_CLASS ((obj), CHAMPLAIN_TYPE_MARKER_LAYER, ChamplainMarkerLayerClass))
+
+typedef struct _ChamplainMarkerLayerPrivate ChamplainMarkerLayerPrivate;
+
+typedef struct _ChamplainMarkerLayer ChamplainMarkerLayer;
+typedef struct _ChamplainMarkerLayerClass ChamplainMarkerLayerClass;
+
+/**
+ * ChamplainSelectionMode:
+ * @CHAMPLAIN_SELECTION_NONE: No marker can be selected.
+ * @CHAMPLAIN_SELECTION_SINGLE: Only one marker can be selected.
+ * @CHAMPLAIN_SELECTION_MULTIPLE: Multiple marker can be selected.
+ *
+ * Selection mode
+ */
+typedef enum
+{
+  CHAMPLAIN_SELECTION_NONE,
+  CHAMPLAIN_SELECTION_SINGLE,
+  CHAMPLAIN_SELECTION_MULTIPLE
+} ChamplainSelectionMode;
+
+struct _ChamplainMarkerLayer
+{
+  ClutterGroup parent;
+  
+  ChamplainMarkerLayerPrivate *priv;
+};
+
+struct _ChamplainMarkerLayerClass
+{
+  ClutterGroupClass parent_class;
+};
+
+GType champlain_marker_layer_get_type (void);
+
+ChamplainMarkerLayer *champlain_marker_layer_new_full (ChamplainSelectionMode mode);
+
+void champlain_marker_layer_add_marker (ChamplainMarkerLayer *layer,
+    ChamplainMarker *marker);
+void champlain_marker_layer_remove_marker (ChamplainMarkerLayer *layer,
+    ChamplainMarker *marker);
+
+void champlain_marker_layer_set_view (ChamplainMarkerLayer *layer,
+    ChamplainView *view);
+
+void champlain_marker_layer_animate_in_all_markers (ChamplainMarkerLayer *layer);
+void champlain_marker_layer_animate_out_all_markers (ChamplainMarkerLayer *layer);
+
+void champlain_marker_layer_show_all_markers (ChamplainMarkerLayer *layer);
+void champlain_marker_layer_hide_all_markers (ChamplainMarkerLayer *layer);
+
+void champlain_marker_layer_set_all_markers_movable (ChamplainMarkerLayer *layer);
+void champlain_marker_layer_set_all_markers_unmovable (ChamplainMarkerLayer *layer);
+
+void champlain_marker_layer_select_all (ChamplainMarkerLayer *layer);
+void champlain_marker_layer_unselect_all (ChamplainMarkerLayer *layer);
+GSList *champlain_marker_layer_get_selected_markers (ChamplainMarkerLayer *layer);
+
+void champlain_marker_layer_set_selection_mode (ChamplainMarkerLayer *layer,
+    ChamplainSelectionMode mode);
+ChamplainSelectionMode champlain_marker_layer_get_selection_mode (
+    ChamplainMarkerLayer *layer);
+//void champlain_view_ensure_markers_visible (ChamplainView *view,
+//    ChamplainMarker *markers[],
+//    gboolean animate);
+
+ClutterColor *champlain_marker_layer_get_polygon_fill_color (ChamplainMarkerLayer *layer);
+void champlain_marker_layer_set_polygon_fill_color (ChamplainMarkerLayer *layer,
+    const ClutterColor *color);
+
+ClutterColor *champlain_marker_layer_get_polygon_stroke_color (ChamplainMarkerLayer *layer);
+void champlain_marker_layer_set_polygon_stroke_color (ChamplainMarkerLayer *layer,
+    const ClutterColor *color);
+
+gboolean champlain_marker_layer_get_polygon_fill (ChamplainMarkerLayer *layer);
+void champlain_marker_layer_set_polygon_fill (ChamplainMarkerLayer *layer,
+    gboolean value);
+
+gboolean champlain_marker_layer_get_polygon_stroke (ChamplainMarkerLayer *layer);
+void champlain_marker_layer_set_polygon_stroke (ChamplainMarkerLayer *layer,
+    gboolean value);
+
+gdouble champlain_marker_layer_get_polygon_stroke_width (ChamplainMarkerLayer *layer);
+void champlain_marker_layer_set_polygon_stroke_width (ChamplainMarkerLayer *layer,
+    gdouble value);
+
+void champlain_marker_layer_show_polygon (ChamplainMarkerLayer *layer);
+void champlain_marker_layer_hide_polygon (ChamplainMarkerLayer *layer);
+
+G_END_DECLS
+
+#endif
diff --git a/champlain/champlain-marker.c b/champlain/champlain-marker.c
index d03f6b9..532e86b 100644
--- a/champlain/champlain-marker.c
+++ b/champlain/champlain-marker.c
@@ -22,7 +22,7 @@
  * @short_description: A marker to identify points of interest on a map
  *
  * Markers reprensent points of interest on a map. Markers need to be
- * placed on a layer (a #ChamplainLayer). Layers have to be added to a
+ * placed on a layer (a #ChamplainMarkerLayer). Layers have to be added to a
  * #champlainview for the markers to show on the map.
  *
  * A marker is nothing more than a regular #clutteractor. You can draw on
diff --git a/champlain/champlain-view.c b/champlain/champlain-view.c
index ff8fe6f..0c4ab88 100644
--- a/champlain/champlain-view.c
+++ b/champlain/champlain-view.c
@@ -1990,16 +1990,16 @@ champlain_view_set_max_zoom_level (ChamplainView *view,
  */
 void
 champlain_view_add_layer (ChamplainView *view,
-    ChamplainLayer *layer)
+    ChamplainMarkerLayer *layer)
 {
   DEBUG_LOG ()
 
   g_return_if_fail (CHAMPLAIN_IS_VIEW (view));
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
   
   clutter_container_add_actor (CLUTTER_CONTAINER (view->priv->user_layers),
       CLUTTER_ACTOR (layer));
-  champlain_layer_set_view (layer, view);
+  champlain_marker_layer_set_view (layer, view);
   clutter_actor_raise_top (CLUTTER_ACTOR (layer));
 }
 
@@ -2015,14 +2015,14 @@ champlain_view_add_layer (ChamplainView *view,
  */
 void
 champlain_view_remove_layer (ChamplainView *view,
-    ChamplainLayer *layer)
+    ChamplainMarkerLayer *layer)
 {
   DEBUG_LOG ()
 
   g_return_if_fail (CHAMPLAIN_IS_VIEW (view));
-  g_return_if_fail (CHAMPLAIN_IS_LAYER (layer));
+  g_return_if_fail (CHAMPLAIN_IS_MARKER_LAYER (layer));
 
-  champlain_layer_set_view (layer, view);      
+  champlain_marker_layer_set_view (layer, NULL);      
 
   clutter_container_remove_actor (CLUTTER_CONTAINER (view->priv->user_layers),
       CLUTTER_ACTOR (layer));
diff --git a/champlain/champlain-view.h b/champlain/champlain-view.h
index b7affdb..b1bdbe5 100644
--- a/champlain/champlain-view.h
+++ b/champlain/champlain-view.h
@@ -25,7 +25,7 @@
 #define CHAMPLAIN_VIEW_H
 
 #include <champlain/champlain-defines.h>
-#include <champlain/champlain-layer.h>
+#include <champlain/champlain-marker-layer.h>
 #include <champlain/champlain-map-source.h>
 
 #include <glib.h>
@@ -142,9 +142,9 @@ void champlain_view_set_zoom_on_double_click (ChamplainView *view,
     gboolean value);
 
 void champlain_view_add_layer (ChamplainView *view,
-    ChamplainLayer *layer);
+    ChamplainMarkerLayer *layer);
 void champlain_view_remove_layer (ChamplainView *view,
-    ChamplainLayer *layer);
+    ChamplainMarkerLayer *layer);
 
 gboolean champlain_view_get_coords_from_event (ChamplainView *view,
     ClutterEvent *event,
diff --git a/champlain/champlain.h b/champlain/champlain.h
index 9525889..2eda294 100644
--- a/champlain/champlain.h
+++ b/champlain/champlain.h
@@ -29,7 +29,7 @@
 #include "champlain/champlain-enum-types.h"
 #include "champlain/champlain-version.h"
 
-#include "champlain/champlain-layer.h"
+#include "champlain/champlain-marker-layer.h"
 #include "champlain/champlain-point.h"
 #include "champlain/champlain-marker.h"
 #include "champlain/champlain-label.h"
diff --git a/demos/animated-marker.c b/demos/animated-marker.c
index 7b71fc5..933f50e 100644
--- a/demos/animated-marker.c
+++ b/demos/animated-marker.c
@@ -120,7 +120,7 @@ int
 main (int argc, char *argv[])
 {
   ClutterActor *actor, *marker, *stage;
-  ChamplainLayer *layer;
+  ChamplainMarkerLayer *layer;
   GpsCallbackData callback_data;
 
   g_thread_init (NULL);
@@ -135,7 +135,7 @@ main (int argc, char *argv[])
   clutter_container_add_actor (CLUTTER_CONTAINER (stage), actor);
 
   /* Create the marker layer */
-  layer = champlain_layer_new_full (CHAMPLAIN_SELECTION_SINGLE);
+  layer = champlain_marker_layer_new_full (CHAMPLAIN_SELECTION_SINGLE);
   clutter_actor_show (CLUTTER_ACTOR (layer));
   champlain_view_add_layer (CHAMPLAIN_VIEW (actor), layer);
 
diff --git a/demos/launcher-gtk.c b/demos/launcher-gtk.c
index e19b1bb..2d0f6e0 100644
--- a/demos/launcher-gtk.c
+++ b/demos/launcher-gtk.c
@@ -28,7 +28,7 @@
 #define COL_ID 0
 #define COL_NAME 1
 
-static ChamplainLayer *polygon;
+static ChamplainMarkerLayer *polygon;
 static gboolean destroying = FALSE;
 
 /*
@@ -48,15 +48,15 @@ toggle_layer (GtkToggleButton *widget,
 {
   if (gtk_toggle_button_get_active (widget))
     {
-      champlain_layer_show_polygon (polygon);
-      champlain_layer_animate_in_all_markers (polygon);
-      champlain_layer_animate_in_all_markers (CHAMPLAIN_LAYER (layer));
+      champlain_marker_layer_show_polygon (polygon);
+      champlain_marker_layer_animate_in_all_markers (polygon);
+      champlain_marker_layer_animate_in_all_markers (CHAMPLAIN_MARKER_LAYER (layer));
     }
   else
     {
-      champlain_layer_hide_polygon (polygon);
-      champlain_layer_animate_out_all_markers (polygon);
-      champlain_layer_animate_out_all_markers (CHAMPLAIN_LAYER (layer));
+      champlain_marker_layer_hide_polygon (polygon);
+      champlain_marker_layer_animate_out_all_markers (polygon);
+      champlain_marker_layer_animate_out_all_markers (CHAMPLAIN_MARKER_LAYER (layer));
     }
 }
 
@@ -201,14 +201,14 @@ build_combo_box (GtkComboBox *box)
 
 
 static void
-append_point (ChamplainLayer *layer, gdouble lon, gdouble lat)
+append_point (ChamplainMarkerLayer *layer, gdouble lon, gdouble lat)
 {
   ClutterActor *point;  
   static ClutterColor color = { 0xa4, 0x00, 0x00, 0xff };
   
   point = champlain_point_new_full (10, &color);
   champlain_marker_set_position (CHAMPLAIN_MARKER (point), lon, lat);
-  champlain_layer_add_marker (layer, CHAMPLAIN_MARKER (point));
+  champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (point));
 }
 
 
@@ -219,7 +219,7 @@ main (int argc,
   GtkWidget *window;
   GtkWidget *widget, *vbox, *bbox, *button, *viewport;
   ChamplainView *view;
-  ChamplainLayer *layer;
+  ChamplainMarkerLayer *layer;
 
   g_thread_init (NULL);
   gtk_clutter_init (&argc, &argv);
@@ -259,7 +259,7 @@ main (int argc,
   layer = create_marker_layer (view);
   champlain_view_add_layer (view, layer);
 
-  polygon = champlain_layer_new_full (CHAMPLAIN_SELECTION_NONE);
+  polygon = champlain_marker_layer_new_full (CHAMPLAIN_SELECTION_NONE);
   /* Cheap approx of Highway 10 */
   append_point (polygon, 45.4095, -73.3197);
   append_point (polygon, 45.4104, -73.2846);
@@ -270,9 +270,9 @@ main (int argc,
   append_point (polygon, 45.3994, -73.1877);
   append_point (polygon, 45.4000, -73.1815);
   append_point (polygon, 45.4151, -73.1218);
-  champlain_layer_set_polygon_stroke_width (polygon, 5.0);
-  champlain_layer_hide_all_markers (polygon);
-  champlain_layer_hide_polygon (polygon);
+  champlain_marker_layer_set_polygon_stroke_width (polygon, 5.0);
+  champlain_marker_layer_hide_all_markers (polygon);
+  champlain_marker_layer_hide_polygon (polygon);
   champlain_view_add_layer (view, polygon);
 
   gtk_widget_set_size_request (widget, 640, 480);
diff --git a/demos/launcher.c b/demos/launcher.c
index a7a5fd8..089a50a 100644
--- a/demos/launcher.c
+++ b/demos/launcher.c
@@ -90,7 +90,7 @@ main (int argc,
     char *argv[])
 {
   ClutterActor *actor, *stage, *buttons, *button;
-  ChamplainLayer *layer;
+  ChamplainMarkerLayer *layer;
   gfloat width, total_width = 0;
 
   g_thread_init (NULL);
diff --git a/demos/markers.c b/demos/markers.c
index 01851e5..df3a064 100644
--- a/demos/markers.c
+++ b/demos/markers.c
@@ -19,36 +19,16 @@
 #include <champlain/champlain.h>
 #include <markers.h>
 
-/* This event callback will never be called if you use
- * ChamplainSelectionLayer.  The selection layer uses this
- * event for the selection and do not pass the event forward.
- * For this event to be fired, you should use a simple
- * ChamplainLayer.
- */
-/*
-static gboolean
-marker_button_release_cb (ClutterActor *actor,
-    ClutterButtonEvent *event,
-    ChamplainView * view)
-{
-  if (event->button != 1 || event->click_count > 1)
-    return FALSE;
-
-  g_print("Montreal was clicked\n");
 
-  return TRUE;
-}
-*/
-
-ChamplainLayer *
+ChamplainMarkerLayer *
 create_marker_layer (G_GNUC_UNUSED ChamplainView *view)
 {
   ClutterActor *marker;
-  ChamplainLayer *layer;
+  ChamplainMarkerLayer *layer;
   ClutterActor *layer_actor;
   ClutterColor orange = { 0xf3, 0x94, 0x07, 0xbb };
 
-  layer = champlain_layer_new_full (CHAMPLAIN_SELECTION_SINGLE);
+  layer = champlain_marker_layer_new_full (CHAMPLAIN_SELECTION_SINGLE);
   layer_actor = CLUTTER_ACTOR (layer);
 
   marker = champlain_label_new_with_text ("Montréal\n<span size=\"xx-small\">Québec</span>",
@@ -59,39 +39,30 @@ create_marker_layer (G_GNUC_UNUSED ChamplainView *view)
 
   champlain_marker_set_position (CHAMPLAIN_MARKER (marker),
       45.528178, -73.563788);
-  champlain_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
-  /*
-   * This event handler will never be called anyway because this demo is using
-   * a ChamplainSelectionLayer but we leave it here in the demo so that you know
-   * how to have reactive markers
-
-  clutter_actor_set_reactive (marker, TRUE);
-  g_signal_connect_after (marker, "button-release-event",
-    G_CALLBACK (marker_button_release_cb), view);
-   */
+  champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
 
   marker = champlain_label_new_from_file ("/usr/share/icons/gnome/24x24/emblems/emblem-generic.png", NULL);
   champlain_label_set_text (CHAMPLAIN_LABEL (marker), "New York");
   champlain_marker_set_position (CHAMPLAIN_MARKER (marker), 40.77, -73.98);
-  champlain_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
+  champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
 
   marker = champlain_label_new_from_file ("/usr/share/icons/gnome/24x24/emblems/emblem-important.png", NULL);
   champlain_marker_set_position (CHAMPLAIN_MARKER (marker), 47.130885,
       -70.764141);
-  champlain_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
+  champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
 
   marker = champlain_point_new ();
   champlain_marker_set_position (CHAMPLAIN_MARKER (marker), 45.130885,
       -65.764141);
-  champlain_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
+  champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
 
   marker = champlain_label_new_from_file ("/usr/share/icons/gnome/24x24/emblems/emblem-favorite.png", NULL);
   champlain_label_set_draw_background (CHAMPLAIN_LABEL (marker), FALSE);
   champlain_marker_set_position (CHAMPLAIN_MARKER (marker), 45.41484,
       -71.918907);
-  champlain_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
+  champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (marker));
   
-  champlain_layer_set_all_markers_movable (layer);
+  champlain_marker_layer_set_all_markers_movable (layer);
 
   clutter_actor_show (layer_actor);
   return layer;
diff --git a/demos/markers.h b/demos/markers.h
index 8c97014..b7d3f5d 100644
--- a/demos/markers.h
+++ b/demos/markers.h
@@ -21,6 +21,6 @@
 #ifndef MARKERS_H
 #define MARKERS_H
 
-ChamplainLayer *create_marker_layer (ChamplainView *view);
+ChamplainMarkerLayer *create_marker_layer (ChamplainView *view);
 
 #endif
diff --git a/demos/polygons.c b/demos/polygons.c
index 11b9382..7228bb1 100644
--- a/demos/polygons.c
+++ b/demos/polygons.c
@@ -67,14 +67,14 @@ make_button (char *text)
 
 
 static void
-append_point (ChamplainLayer *layer, gdouble lon, gdouble lat)
+append_point (ChamplainMarkerLayer *layer, gdouble lon, gdouble lat)
 {
   ClutterActor *point;  
   static ClutterColor color = { 0xa4, 0x00, 0x00, 0xff };
   
   point = champlain_point_new_full (10, &color);
   champlain_marker_set_position (CHAMPLAIN_MARKER (point), lon, lat);
-  champlain_layer_add_marker (layer, CHAMPLAIN_MARKER (point));
+  champlain_marker_layer_add_marker (layer, CHAMPLAIN_MARKER (point));
 }
 
 
@@ -83,7 +83,7 @@ main (int argc,
     char *argv[])
 {
   ClutterActor *actor, *stage, *buttons, *button;
-  ChamplainLayer *layer;
+  ChamplainMarkerLayer *layer;
   gfloat width, total_width = 0;;
 
   g_thread_init (NULL);
@@ -122,7 +122,7 @@ main (int argc,
   clutter_container_add_actor (CLUTTER_CONTAINER (stage), buttons);
 
   /* draw a line */
-  layer = champlain_layer_new_full (CHAMPLAIN_SELECTION_NONE);
+  layer = champlain_marker_layer_new_full (CHAMPLAIN_SELECTION_NONE);
   /* Cheap approx of Highway 10 */
   append_point (layer, 45.4095, -73.3197);
   append_point (layer, 45.4104, -73.2846);
@@ -133,13 +133,13 @@ main (int argc,
   append_point (layer, 45.3994, -73.1877);
   append_point (layer, 45.4000, -73.1815);
   append_point (layer, 45.4151, -73.1218);
-  champlain_layer_set_polygon_stroke_width (layer, 5.0);
-  champlain_layer_hide_all_markers (layer);
-  champlain_layer_show_polygon (layer);
+  champlain_marker_layer_set_polygon_stroke_width (layer, 5.0);
+  champlain_marker_layer_hide_all_markers (layer);
+  champlain_marker_layer_show_polygon (layer);
   champlain_view_add_layer (CHAMPLAIN_VIEW (actor), layer);
 
   /* draw a polygon */
-  layer = champlain_layer_new_full (CHAMPLAIN_SELECTION_NONE);
+  layer = champlain_marker_layer_new_full (CHAMPLAIN_SELECTION_NONE);
   append_point (layer, 45.1386, -73.9196);
   append_point (layer, 45.1229, -73.8991);
   append_point (layer, 45.0946, -73.9531);
@@ -147,8 +147,8 @@ main (int argc,
   append_point (layer, 45.1104, -73.9761);
   g_object_set (layer, "closed-path", TRUE, NULL);
   g_object_set (layer, "fill", TRUE, NULL);
-  champlain_layer_hide_all_markers (layer);
-  champlain_layer_show_polygon (layer);
+  champlain_marker_layer_hide_all_markers (layer);
+  champlain_marker_layer_show_polygon (layer);
   champlain_view_add_layer (CHAMPLAIN_VIEW (actor), layer);
 
   /* Finish initialising the map view */
diff --git a/demos/url-marker.c b/demos/url-marker.c
index e4b8227..55a03eb 100644
--- a/demos/url-marker.c
+++ b/demos/url-marker.c
@@ -23,7 +23,7 @@
 /* The data needed for constructing a marker */
 typedef struct
 {
-  ChamplainLayer *layer;
+  ChamplainMarkerLayer *layer;
   gdouble latitude;
   gdouble longitude;
 } MarkerData;
@@ -142,7 +142,7 @@ texture_new_from_pixbuf (GdkPixbuf *pixbuf, GError **error)
  * actor (a texture) and will use this as the source image for a new marker.
  * The marker will then be added to an existing layer.
  *
- * This callback expects the parameter data to be a valid ChamplainLayer.
+ * This callback expects the parameter data to be a valid ChamplainMarkerLayer.
  */
 static void
 image_downloaded_cb (SoupSession *session,
@@ -218,7 +218,7 @@ cleanup:
  *
  */
 static void
-create_marker_from_url (ChamplainLayer *layer,
+create_marker_from_url (ChamplainMarkerLayer *layer,
     SoupSession *session,
     gdouble latitude,
     gdouble longitude,
@@ -241,7 +241,7 @@ int
 main (int argc, char *argv[])
 {
   ClutterActor *view, *stage;
-  ChamplainLayer *layer;
+  ChamplainMarkerLayer *layer;
   SoupSession *session;
 
   g_thread_init (NULL);
@@ -256,7 +256,7 @@ main (int argc, char *argv[])
   clutter_container_add_actor (CLUTTER_CONTAINER (stage), view);
 
   /* Create the markers and marker layer */
-  layer = champlain_layer_new_full (CHAMPLAIN_SELECTION_SINGLE);
+  layer = champlain_marker_layer_new_full (CHAMPLAIN_SELECTION_SINGLE);
   champlain_view_add_layer (CHAMPLAIN_VIEW (view), layer);
   session = soup_session_async_new ();
   create_marker_from_url (layer, session, 48.218611, 17.146397,



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