diff options
author | Benjamin Otte <otte@redhat.com> | 2010-12-20 13:45:31 +0100 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2010-12-21 12:07:05 -0500 |
commit | 7a14b30ea37d4cb9b021df3d9d6036cb15f19df1 (patch) | |
tree | 6b3eafdfa9b760861d8767f5f55bef0e210ea31e /gdk | |
parent | 28b2d7e5da2ee5d62b74ac4d3c06214fcdaf1cdb (diff) | |
download | gtk+-7a14b30ea37d4cb9b021df3d9d6036cb15f19df1.tar.gz |
gdk: Make display a property of GdkCursor
Diffstat (limited to 'gdk')
-rw-r--r-- | gdk/gdkcursor.c | 19 | ||||
-rw-r--r-- | gdk/gdkcursorprivate.h | 1 | ||||
-rw-r--r-- | gdk/x11/gdkcursor-x11.c | 4 |
3 files changed, 23 insertions, 1 deletions
diff --git a/gdk/gdkcursor.c b/gdk/gdkcursor.c index 9e27829cf7..2369478225 100644 --- a/gdk/gdkcursor.c +++ b/gdk/gdkcursor.c @@ -62,7 +62,8 @@ enum { PROP_0, - PROP_CURSOR_TYPE + PROP_CURSOR_TYPE, + PROP_DISPLAY }; G_DEFINE_ABSTRACT_TYPE (GdkCursor, gdk_cursor, G_TYPE_OBJECT) @@ -80,6 +81,9 @@ gdk_cursor_get_property (GObject *object, case PROP_CURSOR_TYPE: g_value_set_enum (value, cursor->type); break; + case PROP_DISPLAY: + g_value_set_object (value, cursor->display); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -99,6 +103,11 @@ gdk_cursor_set_property (GObject *object, case PROP_CURSOR_TYPE: cursor->type = g_value_get_enum (value); break; + case PROP_DISPLAY: + cursor->display = g_value_get_object (value); + /* check that implementations actually provide the display when constructing */ + g_assert (cursor->display != NULL); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -120,6 +129,14 @@ gdk_cursor_class_init (GdkCursorClass *cursor_class) P_("Standard cursor type"), GDK_TYPE_CURSOR_TYPE, GDK_X_CURSOR, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + + g_object_class_install_property (object_class, + PROP_DISPLAY, + g_param_spec_object ("display", + P_("Display"), + P_("Display of this cursor"), + GDK_TYPE_DISPLAY, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); } static void diff --git a/gdk/gdkcursorprivate.h b/gdk/gdkcursorprivate.h index 1381010450..51501d1906 100644 --- a/gdk/gdkcursorprivate.h +++ b/gdk/gdkcursorprivate.h @@ -39,6 +39,7 @@ struct _GdkCursor /*< private >*/ GdkCursorType type; + GdkDisplay *display; }; struct _GdkCursorClass diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c index 9d64989996..ac579ab8a9 100644 --- a/gdk/x11/gdkcursor-x11.c +++ b/gdk/x11/gdkcursor-x11.c @@ -276,6 +276,7 @@ _gdk_x11_display_get_cursor_for_type (GdkDisplay *display, private = g_object_new (GDK_TYPE_X11_CURSOR, "cursor-type", GDK_CURSOR_IS_PIXMAP, + "display", display, NULL); private->display = display; private->xcursor = xcursor; @@ -638,6 +639,7 @@ _gdk_x11_display_get_cursor_for_pixbuf (GdkDisplay *display, private = g_object_new (GDK_TYPE_X11_CURSOR, "cursor-type", GDK_CURSOR_IS_PIXMAP, + "display", display, NULL); private->display = display; private->xcursor = xcursor; @@ -679,6 +681,7 @@ _gdk_x11_display_get_cursor_for_name (GdkDisplay *display, private = g_object_new (GDK_TYPE_X11_CURSOR, "cursor-type", GDK_CURSOR_IS_PIXMAP, + "display", display, NULL); private->display = display; private->xcursor = xcursor; @@ -744,6 +747,7 @@ gdk_cursor_new_from_pixmap (GdkDisplay *display, source_pixmap, mask_pixmap, &xfg, &xbg, x, y); private = g_object_new (GDK_TYPE_X11_CURSOR, "cursor-type", GDK_CURSOR_IS_PIXMAP, + "display", display, NULL); private->display = display; private->xcursor = xcursor; |