gdk: Make cursors instantiable
authorBenjamin Otte <otte@redhat.com>
Fri, 3 Nov 2017 05:00:56 +0000 (06:00 +0100)
committerBenjamin Otte <otte@redhat.com>
Fri, 3 Nov 2017 23:07:13 +0000 (00:07 +0100)
This way, backends can instantiate GdkCursor objects directly.

Do that for broadway to test that it indeed works.

gdk/broadway/gdkcursor-broadway.c
gdk/gdkcursor.c

index 86911e3f403bb85b1cc356900eb8c846c0421b63..bc6682b6d323369cccbd61d74c219655504a3661 100644 (file)
 #include "gdkprivate-broadway.h"
 #include "gdkdisplay-broadway.h"
 
-#include <string.h>
-#include <errno.h>
-
-struct _GdkBroadwayCursor
-{
-  GdkCursor cursor;
-};
-
-struct _GdkBroadwayCursorClass
-{
-  GdkCursorClass cursor_class;
-};
-
-/*** GdkBroadwayCursor ***/
-
-G_DEFINE_TYPE (GdkBroadwayCursor, gdk_broadway_cursor, GDK_TYPE_CURSOR)
-
-static void
-gdk_broadway_cursor_class_init (GdkBroadwayCursorClass *xcursor_class)
-{
-}
-
-static void
-gdk_broadway_cursor_init (GdkBroadwayCursor *cursor)
-{
-}
-
 /* Called by gdk_display_broadway_finalize to flush any cached cursors
  * for a dead display.
  */
@@ -81,32 +54,22 @@ _gdk_broadway_display_get_cursor_for_texture (GdkDisplay *display,
                                              int         x,
                                              int         y)
 {
-  GdkBroadwayCursor *private;
-  GdkCursor *cursor;
-
-  private = g_object_new (GDK_TYPE_BROADWAY_CURSOR, 
-                          "display", display,
-                          "texture", texture,
-                          "x", x,
-                          "y", y,
-                          NULL);
-  cursor = (GdkCursor *) private;
-
-  return cursor;
+  return g_object_new (GDK_TYPE_CURSOR, 
+                       "display", display,
+                       "texture", texture,
+                       "x", x,
+                       "y", y,
+                       NULL);
 }
 
 GdkCursor*
 _gdk_broadway_display_get_cursor_for_name (GdkDisplay  *display,
                                           const gchar *name)
 {
-  GdkBroadwayCursor *private;
-
-  private = g_object_new (GDK_TYPE_BROADWAY_CURSOR,
-                          "display", display,
-                          "name", name,
-                          NULL);
-
-  return GDK_CURSOR (private);
+  return g_object_new (GDK_TYPE_CURSOR,
+                       "display", display,
+                       "name", name,
+                       NULL);
 }
 
 gboolean
index f199df8f5981ac5cd0bc93a3160017bc85f55f6f..7be365c48ddfad36526157b392e1a8ded928e2c9 100644 (file)
@@ -93,7 +93,7 @@ enum {
   PROP_TEXTURE,
 };
 
-G_DEFINE_ABSTRACT_TYPE (GdkCursor, gdk_cursor, G_TYPE_OBJECT)
+G_DEFINE_TYPE (GdkCursor, gdk_cursor, G_TYPE_OBJECT)
 
 static void
 gdk_cursor_get_property (GObject    *object,