[libchamplain/libchamplain-0-4] Make queue_redraw visible to subclasses
- From: Pierre-Luc Beaudoin <plbeaudoin src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [libchamplain/libchamplain-0-4] Make queue_redraw visible to subclasses
- Date: Tue, 5 Jan 2010 00:38:20 +0000 (UTC)
commit 015952c924a7b7b6d9434a4a1d5138a39b0aaa03
Author: Pierre-Luc Beaudoin <pierre-luc pierlux com>
Date: Tue Dec 29 16:21:38 2009 -0500
Make queue_redraw visible to subclasses
See the function's description.
champlain/champlain-marker.c | 43 +++++++++++++++++++++++++----------------
champlain/champlain-marker.h | 2 +
2 files changed, 28 insertions(+), 17 deletions(-)
---
diff --git a/champlain/champlain-marker.c b/champlain/champlain-marker.c
index d4d0b8e..335d0b3 100644
--- a/champlain/champlain-marker.c
+++ b/champlain/champlain-marker.c
@@ -113,7 +113,6 @@ G_DEFINE_TYPE (ChamplainMarker, champlain_marker, CHAMPLAIN_TYPE_BASE_MARKER);
#define CHAMPLAIN_MARKER_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), CHAMPLAIN_TYPE_MARKER, ChamplainMarkerPrivate))
static void draw_marker (ChamplainMarker *marker);
-static void queue_redraw (ChamplainMarker *marker);
/**
* champlain_marker_set_hightlight_color:
@@ -719,8 +718,18 @@ redraw_on_idle (gpointer gobject)
return FALSE;
}
-static void
-queue_redraw (ChamplainMarker *marker)
+/** champlain_marker_queue_redraw:
+ * @marker: a #ChamplainMarker
+ *
+ * Queue a redraw of the marker as soon as possible. This function should not
+ * be used unless you are subclassing ChamplainMarker and adding new properties
+ * that affect the aspect of the marker. When they change, call this function
+ * to update the marker.
+ *
+ * Since: 0.4.3
+ */
+void
+champlain_marker_queue_redraw (ChamplainMarker *marker)
{
if (!marker->priv->redraw_id)
marker->priv->redraw_id = g_idle_add (redraw_on_idle, marker);
@@ -731,7 +740,7 @@ notify_highlighted (GObject *gobject,
GParamSpec *pspec,
gpointer user_data)
{
- queue_redraw (CHAMPLAIN_MARKER (gobject));
+ champlain_marker_queue_redraw (CHAMPLAIN_MARKER (gobject));
}
static void
@@ -899,7 +908,7 @@ champlain_marker_set_text (ChamplainMarker *marker,
g_free (priv->text);
priv->text = g_strdup (text);
- queue_redraw (marker);
+ champlain_marker_queue_redraw (marker);
}
/**
@@ -931,7 +940,7 @@ champlain_marker_set_image (ChamplainMarker *marker,
priv->image = image;
g_object_notify (G_OBJECT (marker), "image");
- queue_redraw (marker);
+ champlain_marker_queue_redraw (marker);
}
/**
@@ -953,7 +962,7 @@ champlain_marker_set_use_markup (ChamplainMarker *marker,
priv->use_markup = markup;
g_object_notify (G_OBJECT (marker), "use-markup");
- queue_redraw (marker);
+ champlain_marker_queue_redraw (marker);
}
/**
@@ -975,7 +984,7 @@ champlain_marker_set_alignment (ChamplainMarker *marker,
priv->alignment = alignment;
g_object_notify (G_OBJECT (marker), "alignment");
- queue_redraw (marker);
+ champlain_marker_queue_redraw (marker);
}
/**
@@ -1004,7 +1013,7 @@ champlain_marker_set_color (ChamplainMarker *marker,
priv->color = clutter_color_copy (color);
g_object_notify (G_OBJECT (marker), "color");
- queue_redraw (marker);
+ champlain_marker_queue_redraw (marker);
}
/**
@@ -1033,7 +1042,7 @@ champlain_marker_set_text_color (ChamplainMarker *marker,
priv->text_color = clutter_color_copy (color);
g_object_notify (G_OBJECT (marker), "text-color");
- queue_redraw (marker);
+ champlain_marker_queue_redraw (marker);
}
/**
@@ -1062,7 +1071,7 @@ champlain_marker_set_font_name (ChamplainMarker *marker,
priv->font_name = g_strdup (font_name);
g_object_notify (G_OBJECT (marker), "font-name");
- queue_redraw (marker);
+ champlain_marker_queue_redraw (marker);
}
/**
@@ -1084,7 +1093,7 @@ champlain_marker_set_wrap (ChamplainMarker *marker,
priv->wrap = wrap;
g_object_notify (G_OBJECT (marker), "wrap");
- queue_redraw (marker);
+ champlain_marker_queue_redraw (marker);
}
/**
@@ -1106,7 +1115,7 @@ champlain_marker_set_wrap_mode (ChamplainMarker *marker,
priv->wrap_mode = wrap_mode;
g_object_notify (G_OBJECT (marker), "wrap");
- queue_redraw (marker);
+ champlain_marker_queue_redraw (marker);
}
/**
@@ -1135,7 +1144,7 @@ champlain_marker_set_attributes (ChamplainMarker *marker,
priv->attributes = attributes;
g_object_notify (G_OBJECT (marker), "attributes");
- queue_redraw (marker);
+ champlain_marker_queue_redraw (marker);
}
/**
@@ -1157,7 +1166,7 @@ champlain_marker_set_ellipsize (ChamplainMarker *marker,
priv->ellipsize = ellipsize;
g_object_notify (G_OBJECT (marker), "ellipsize");
- queue_redraw (marker);
+ champlain_marker_queue_redraw (marker);
}
/**
* champlain_marker_set_single_line_mode:
@@ -1179,7 +1188,7 @@ champlain_marker_set_single_line_mode (ChamplainMarker *marker,
priv->single_line_mode = mode;
g_object_notify (G_OBJECT (marker), "single-line-mode");
- queue_redraw (marker);
+ champlain_marker_queue_redraw (marker);
}
/**
@@ -1201,7 +1210,7 @@ champlain_marker_set_draw_background (ChamplainMarker *marker,
priv->draw_background = background;
g_object_notify (G_OBJECT (marker), "draw-background");
- queue_redraw (marker);
+ champlain_marker_queue_redraw (marker);
}
/**
diff --git a/champlain/champlain-marker.h b/champlain/champlain-marker.h
index 44afca9..dfbfbe9 100644
--- a/champlain/champlain-marker.h
+++ b/champlain/champlain-marker.h
@@ -117,6 +117,8 @@ const ClutterColor * champlain_marker_get_highlight_color (void);
void champlain_marker_set_highlight_text_color (ClutterColor *color);
const ClutterColor * champlain_marker_get_highlight_text_color (void);
+void champlain_marker_queue_redraw (ChamplainMarker *marker);
+
G_END_DECLS
#endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]