]> Pileus Git - ~andy/gtk/blobdiff - gdk/directfb/gdkgc-directfb.c
Do not use static GTypeInfo and GInterfaceInfo
[~andy/gtk] / gdk / directfb / gdkgc-directfb.c
index 9e20ebcd3bc9d1c44b69821cc83a8c3f626e7927..7348312006d9cc46e0f3c8b34a98fbf9af56b3c2 100644 (file)
@@ -32,7 +32,7 @@
 
 #undef GDK_DISABLE_DEPRECATED
 
-#include <config.h>
+#include "config.h"
 #include "gdk.h"
 
 #include <string.h>
@@ -71,7 +71,7 @@ gdk_gc_directfb_get_type (void)
 
   if (!object_type)
     {
-      static const GTypeInfo object_info =
+      const GTypeInfo object_info =
       {
         sizeof (GdkGCDirectFBClass),
         (GBaseInitFunc) NULL,
@@ -350,8 +350,9 @@ gc_unset_clip_mask (GdkGC *gc)
 
 
 void
-_gdk_windowing_gc_set_clip_region (GdkGC     *gc,
-                        GdkRegion *region)
+_gdk_windowing_gc_set_clip_region (GdkGC           *gc,
+                                   const GdkRegion *region,
+                                   gboolean         reset_origin)
 {
   GdkGCDirectFB *data;
 
@@ -363,14 +364,17 @@ _gdk_windowing_gc_set_clip_region (GdkGC     *gc,
     return;
 
   if (region)
-       temp_region_init_copy (&data->clip_region, region);
+    temp_region_init_copy (&data->clip_region, region);
   else
-       temp_region_reset (&data->clip_region);
+    temp_region_reset (&data->clip_region);
 
-  gc->clip_x_origin = 0;
-  gc->clip_y_origin = 0;
-  data->values.clip_x_origin = 0;
-  data->values.clip_y_origin = 0;
+  if (reset_origin)
+    {
+      gc->clip_x_origin = 0;
+      gc->clip_y_origin = 0;
+      data->values.clip_x_origin = 0;
+      data->values.clip_y_origin = 0;
+    }
 
   gc_unset_clip_mask (gc);
 }