[gtk+/gtk-2-22] directfb: use boilerplate macros for GdkWindow



commit 68ba791720ed6d26e76d6a6a6df7fd5a428eb883
Author: Lionel Landwerlin <llandwerlin gmail com>
Date:   Mon May 10 00:48:52 2010 +0200

    directfb: use boilerplate macros for GdkWindow
    
    This patch reduce boilerplate for GdkWindowImplDirectFB using G_DEFINE_TYPE macro.
    
    Signed-off-by: Lionel Landwerlin <llandwerlin gmail com>

 gdk/directfb/gdkwindow-directfb.c |   55 +++++--------------------------------
 1 files changed, 7 insertions(+), 48 deletions(-)
---
diff --git a/gdk/directfb/gdkwindow-directfb.c b/gdk/directfb/gdkwindow-directfb.c
index 158756c..1f6a5f6 100644
--- a/gdk/directfb/gdkwindow-directfb.c
+++ b/gdk/directfb/gdkwindow-directfb.c
@@ -84,54 +84,13 @@ GdkWindow * _gdk_parent_root = NULL;
 
 static void gdk_window_impl_directfb_paintable_init (GdkPaintableIface *iface);
 
-GType
-gdk_window_impl_directfb_get_type (void)
-{
-  static GType object_type = 0;
-
-  if (!object_type)
-    {
-      const GTypeInfo object_info =
-        {
-          sizeof (GdkWindowImplDirectFBClass),
-          (GBaseInitFunc) NULL,
-          (GBaseFinalizeFunc) NULL,
-          (GClassInitFunc) gdk_window_impl_directfb_class_init,
-          NULL,           /* class_finalize */
-          NULL,           /* class_data */
-          sizeof (GdkWindowImplDirectFB),
-          0,              /* n_preallocs */
-          (GInstanceInitFunc) gdk_window_impl_directfb_init,
-        };
-
-      const GInterfaceInfo paintable_info =
-        {
-          (GInterfaceInitFunc) gdk_window_impl_directfb_paintable_init,
-          NULL,
-          NULL
-        };
-
-      const GInterfaceInfo window_impl_info =
-        {
-          (GInterfaceInitFunc) gdk_window_impl_iface_init,
-          NULL,
-          NULL
-        };
-
-      object_type = g_type_register_static (GDK_TYPE_DRAWABLE_IMPL_DIRECTFB,
-                                            "GdkWindowImplDirectFB",
-                                            &object_info, 0);
-      g_type_add_interface_static (object_type,
-                                   GDK_TYPE_PAINTABLE,
-                                   &paintable_info);
-
-      g_type_add_interface_static (object_type,
-                                   GDK_TYPE_WINDOW_IMPL,
-                                   &window_impl_info);
-    }
-
-  return object_type;
-}
+G_DEFINE_TYPE_WITH_CODE (GdkWindowImplDirectFB,
+                         gdk_window_impl_directfb,
+                         GDK_TYPE_DRAWABLE_IMPL_DIRECTFB,
+                         G_IMPLEMENT_INTERFACE (GDK_TYPE_WINDOW_IMPL,
+                                                gdk_window_impl_iface_init)
+                         G_IMPLEMENT_INTERFACE (GDK_TYPE_PAINTABLE,
+                                                gdk_window_impl_directfb_paintable_init));
 
 GType
 _gdk_window_impl_get_type (void)



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