gtk+ r20729 - in trunk: . gdk/win32



Author: bratsche
Date: Wed Jul  2 06:06:29 2008
New Revision: 20729
URL: http://svn.gnome.org/viewvc/gtk+?rev=20729&view=rev

Log:
2008-07-02  Cody Russell  <bratsche gnome org>

        Bug 541162 â [Win32] Update for the new GdkWindowImpl stuff

        * gdk/win32/gdkprivate-win32.h:
        * gdk/win32/gdkgeometry-win32.c:
        * gdk/win32/gdkevents-win32.c:
        * gdk/win32/gdkwindow-win32.c: Update Win32 backend according to
        the newly refactored GdkWindow code.



Modified:
   trunk/ChangeLog
   trunk/gdk/win32/gdkevents-win32.c
   trunk/gdk/win32/gdkgeometry-win32.c
   trunk/gdk/win32/gdkprivate-win32.h
   trunk/gdk/win32/gdkwindow-win32.c

Modified: trunk/gdk/win32/gdkevents-win32.c
==============================================================================
--- trunk/gdk/win32/gdkevents-win32.c	(original)
+++ trunk/gdk/win32/gdkevents-win32.c	Wed Jul  2 06:06:29 2008
@@ -1366,7 +1366,7 @@
   event->crossing.window = window;
   event->crossing.subwindow = NULL;
   event->crossing.time = _gdk_win32_get_next_tick (msg->time);
-  _gdk_windowing_window_get_offsets (window, &xoffset, &yoffset);
+  _gdk_win32_windowing_window_get_offsets (window, &xoffset, &yoffset);
   event->crossing.x = x + xoffset;
   event->crossing.y = y + yoffset;
   event->crossing.x_root = msg->pt.x + _gdk_offset_x;
@@ -2012,7 +2012,7 @@
 
   update_region = _gdk_win32_hrgn_to_region (hrgn);
 
-  _gdk_windowing_window_get_offsets (window, &xoffset, &yoffset);
+  _gdk_win32_windowing_window_get_offsets (window, &xoffset, &yoffset);
   gdk_region_offset (update_region, xoffset, yoffset);
   
   _gdk_window_process_expose (window, update_region);
@@ -2063,7 +2063,7 @@
     translate_mouse_coords (orig_window, window, msg);
   event->button.x = current_x = (gint16) GET_X_LPARAM (msg->lParam);
   event->button.y = current_y = (gint16) GET_Y_LPARAM (msg->lParam);
-  _gdk_windowing_window_get_offsets (window, &xoffset, &yoffset);
+  _gdk_win32_windowing_window_get_offsets (window, &xoffset, &yoffset);
   event->button.x += xoffset;
   event->button.y += yoffset;
   event->button.x_root = msg->pt.x + _gdk_offset_x;
@@ -2633,7 +2633,7 @@
       event->motion.time = _gdk_win32_get_next_tick (msg->time);
       event->motion.x = current_x = (gint16) GET_X_LPARAM (msg->lParam);
       event->motion.y = current_y = (gint16) GET_Y_LPARAM (msg->lParam);
-      _gdk_windowing_window_get_offsets (window, &xoffset, &yoffset);
+      _gdk_win32_windowing_window_get_offsets (window, &xoffset, &yoffset);
       event->motion.x += xoffset;
       event->motion.y += yoffset;
       event->motion.x_root = current_root_x;
@@ -2724,7 +2724,7 @@
       event->scroll.direction = (((short) HIWORD (msg->wParam)) > 0) ?
 	GDK_SCROLL_UP : GDK_SCROLL_DOWN;
       event->scroll.time = _gdk_win32_get_next_tick (msg->time);
-      _gdk_windowing_window_get_offsets (window, &xoffset, &yoffset);
+      _gdk_win32_windowing_window_get_offsets (window, &xoffset, &yoffset);
       event->scroll.x = (gint16) point.x + xoffset;
       event->scroll.y = (gint16) point.y + yoffset;
       event->scroll.x_root = (gint16) GET_X_LPARAM (msg->lParam) + _gdk_offset_x;

Modified: trunk/gdk/win32/gdkgeometry-win32.c
==============================================================================
--- trunk/gdk/win32/gdkgeometry-win32.c	(original)
+++ trunk/gdk/win32/gdkgeometry-win32.c	Wed Jul  2 06:06:29 2008
@@ -75,9 +75,9 @@
 			                   GdkRegion          *new_clip_region);
 
 void
-_gdk_windowing_window_get_offsets (GdkWindow *window,
-				   gint      *x_offset,
-				   gint      *y_offset)
+_gdk_win32_windowing_window_get_offsets (GdkWindow *window,
+					 gint      *x_offset,
+					 gint      *y_offset)
 {
   GdkWindowImplWin32 *impl =
     GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl);
@@ -101,9 +101,9 @@
 }
 
 void
-gdk_window_scroll (GdkWindow *window,
-		   gint       dx,
-		   gint       dy)
+_gdk_win32_window_scroll (GdkWindow *window,
+			  gint       dx,
+			  gint       dy)
 {
   GdkRegion *invalidate_region;
   GdkWindowImplWin32 *impl;
@@ -112,11 +112,6 @@
   GdkWindowParentPos parent_pos;
   HRGN native_invalidate_region;
   
-  g_return_if_fail (GDK_IS_WINDOW (window));
-
-  if (GDK_WINDOW_DESTROYED (window))
-    return;
-  
   GDK_NOTE (EVENTS, g_print ("gdk_window_scroll: %p %d,%d\n",
 			     GDK_WINDOW_HWND (window), dx, dy));
 
@@ -172,10 +167,10 @@
 }
 
 void
-gdk_window_move_region (GdkWindow       *window,
-                        const GdkRegion *region,
-                        gint             dx,
-                        gint             dy)
+_gdk_win32_window_move_region (GdkWindow       *window,
+			       const GdkRegion *region,
+			       gint             dx,
+			       gint             dy)
 {
   GdkRegion *invalidate_region;
   GdkWindowImplWin32 *impl;
@@ -184,11 +179,6 @@
   HRGN hrgn;
   RECT clipRect, destRect;
 
-  g_return_if_fail (GDK_IS_WINDOW (window));
-
-  if (GDK_WINDOW_DESTROYED (window))
-    return;
-  
   obj = GDK_WINDOW_OBJECT (window);
   impl = GDK_WINDOW_IMPL_WIN32 (obj->impl);  
 

Modified: trunk/gdk/win32/gdkprivate-win32.h
==============================================================================
--- trunk/gdk/win32/gdkprivate-win32.h	(original)
+++ trunk/gdk/win32/gdkprivate-win32.h	Wed Jul  2 06:06:29 2008
@@ -209,6 +209,20 @@
 				    gint       y,
 				    gint       width,
 				    gint       height);
+
+/* GdkWindowImpl methods */
+void _gdk_win32_window_scroll (GdkWindow *window,
+			       gint       dx,
+			       gint       dy);
+void _gdk_win32_window_move_region (GdkWindow       *window,
+				    const GdkRegion *region,
+				    gint             dx,
+				    gint             dy);
+void _gdk_win32_windowing_window_get_offsets (GdkWindow *window,
+					      gint      *x_offset,
+					      gint      *y_offset);
+
+
 void _gdk_window_process_expose    (GdkWindow *window,
                                     GdkRegion *invalidate_region);
 

Modified: trunk/gdk/win32/gdkwindow-win32.c
==============================================================================
--- trunk/gdk/win32/gdkwindow-win32.c	(original)
+++ trunk/gdk/win32/gdkwindow-win32.c	Wed Jul  2 06:06:29 2008
@@ -31,6 +31,7 @@
 #include <stdlib.h>
 
 #include "gdk.h"
+#include "gdkwindowimpl.h"
 #include "gdkprivate-win32.h"
 #include "gdkinput-win32.h"
 
@@ -61,6 +62,8 @@
   (GDK_WINDOW_TYPE (window) != GDK_WINDOW_CHILD && \
    GDK_WINDOW_TYPE (window) != GDK_WINDOW_FOREIGN)
 
+static void gdk_window_impl_iface_init (GdkWindowImplIface *iface);
+
 GType
 _gdk_window_impl_win32_get_type (void)
 {
@@ -80,10 +83,20 @@
         0,              /* n_preallocs */
         (GInstanceInitFunc) gdk_window_impl_win32_init,
       };
+
+      const GInterfaceInfo window_impl_info =
+      {
+	(GInterfaceInitFunc) gdk_window_impl_iface_init,
+	NULL,
+	NULL
+      };
       
       object_type = g_type_register_static (GDK_TYPE_DRAWABLE_IMPL_WIN32,
                                             "GdkWindowImplWin32",
                                             &object_info, 0);
+      g_type_add_interface_static (object_type,
+				   GDK_TYPE_WINDOW_IMPL,
+				   &window_impl_info);
     }
   
   return object_type;
@@ -282,6 +295,7 @@
   
   _gdk_root = g_object_new (GDK_TYPE_WINDOW, NULL);
   private = (GdkWindowObject *)_gdk_root;
+  private->impl = g_object_new (_gdk_window_impl_get_type (), NULL);
   draw_impl = GDK_DRAWABLE_IMPL_WIN32 (private->impl);
   
   draw_impl->handle = GetDesktopWindow ();
@@ -522,6 +536,7 @@
 
   window = g_object_new (GDK_TYPE_WINDOW, NULL);
   private = (GdkWindowObject *)window;
+  private->impl = g_object_new (_gdk_window_impl_get_type (), NULL);
   impl = GDK_WINDOW_IMPL_WIN32 (private->impl);
   draw_impl = GDK_DRAWABLE_IMPL_WIN32 (private->impl);
   draw_impl->wrapper = GDK_DRAWABLE (window);
@@ -1124,28 +1139,16 @@
 }
 
 void
-gdk_window_show_unraised (GdkWindow *window)
-{
-  g_return_if_fail (GDK_IS_WINDOW (window));
-  
-  show_window_internal (window, FALSE, FALSE);
-}
-
-void
-gdk_window_show (GdkWindow *window)
+gdk_win32_window_show (GdkWindow *window, gboolean raise)
 {
-  g_return_if_fail (GDK_IS_WINDOW (window));
-
-  show_window_internal (window, TRUE, FALSE);
+  show_window_internal (window, raise, FALSE);
 }
 
 void
-gdk_window_hide (GdkWindow *window)
+gdk_win32_window_hide (GdkWindow *window)
 {
   GdkWindowObject *private;
   
-  g_return_if_fail (GDK_IS_WINDOW (window));
-
   private = (GdkWindowObject*) window;
   if (private->destroyed)
     return;
@@ -1177,12 +1180,10 @@
 }
 
 void
-gdk_window_withdraw (GdkWindow *window)
+gdk_win32_window_withdraw (GdkWindow *window)
 {
   GdkWindowObject *private;
   
-  g_return_if_fail (GDK_IS_WINDOW (window));
-  
   private = (GdkWindowObject*) window;
   if (private->destroyed)
     return;
@@ -1195,119 +1196,16 @@
 }
 
 void
-gdk_window_move (GdkWindow *window,
-		 gint       x,
-		 gint       y)
-{
-  GdkWindowObject *private = (GdkWindowObject *)window;
-  GdkWindowImplWin32 *impl;
-
-  g_return_if_fail (GDK_IS_WINDOW (window));
-
-  if (GDK_WINDOW_DESTROYED (window))
-    return;
-
-  GDK_NOTE (MISC, g_print ("gdk_window_move: %p: %+d%+d\n",
-			   GDK_WINDOW_HWND (window), x, y));
-      
-  impl = GDK_WINDOW_IMPL_WIN32 (private->impl);
-
-  if (private->state & GDK_WINDOW_STATE_FULLSCREEN)
-    return;
-
-  /* Don't check GDK_WINDOW_TYPE (private) == GDK_WINDOW_CHILD.
-   * Foreign windows (another app's windows) might be children of our
-   * windows! Especially in the case of gtkplug/socket.
-   */ 
-  if (GetAncestor (GDK_WINDOW_HWND (window), GA_PARENT) != GetDesktopWindow ())
-    {
-      _gdk_window_move_resize_child (window, x, y, impl->width, impl->height);
-    }
-  else
-    {
-      RECT outer_rect;
-
-      get_outer_rect (window, impl->width, impl->height, &outer_rect);
-      
-      adjust_for_gravity_hints (impl, &outer_rect, &x, &y);
-
-      GDK_NOTE (MISC, g_print ("... SetWindowPos(%p,NULL,%d,%d,0,0,"
-			       "NOACTIVATE|NOSIZE|NOZORDER)\n",
-			       GDK_WINDOW_HWND (window),
-			       x - _gdk_offset_x, y - _gdk_offset_y));
-
-      API_CALL (SetWindowPos, (GDK_WINDOW_HWND (window), NULL,
-			       x - _gdk_offset_x, y - _gdk_offset_y, 0, 0,
-			       SWP_NOACTIVATE | SWP_NOSIZE | SWP_NOZORDER));
-    }
-}
-
-void
-gdk_window_resize (GdkWindow *window,
-		   gint       width,
-		   gint       height)
+gdk_win32_window_move_resize (GdkWindow *window,
+			      gboolean   with_move,
+			      gint       x,
+			      gint       y,
+			      gint       width,
+			      gint       height)
 {
   GdkWindowObject *private = (GdkWindowObject*) window;
   GdkWindowImplWin32 *impl;
 
-  g_return_if_fail (GDK_IS_WINDOW (window));
-
-  if (GDK_WINDOW_DESTROYED (window))
-    return;
-
-  if (width < 1)
-    width = 1;
-  if (height < 1)
-    height = 1;
-
-  GDK_NOTE (MISC, g_print ("gdk_window_resize: %p: %dx%d\n",
-			   GDK_WINDOW_HWND (window), width, height));
-
-  impl = GDK_WINDOW_IMPL_WIN32 (private->impl);
-  
-  if (private->state & GDK_WINDOW_STATE_FULLSCREEN)
-    return;
-
-  if (GetAncestor (GDK_WINDOW_HWND (window), GA_PARENT) != GetDesktopWindow ())
-    {
-      _gdk_window_move_resize_child (window, private->x, private->y, width, height);
-    }
-  else
-    {
-      RECT outer_rect;
-
-      get_outer_rect (window, width, height, &outer_rect);
-
-      GDK_NOTE (MISC, g_print ("... SetWindowPos(%p,NULL,0,0,%ld,%ld,"
-			       "NOACTIVATE|NOMOVE|NOZORDER)\n",
-			       GDK_WINDOW_HWND (window),
-			       outer_rect.right - outer_rect.left,
-			       outer_rect.bottom - outer_rect.top));
-
-      API_CALL (SetWindowPos, (GDK_WINDOW_HWND (window), NULL,
-			       0, 0,
-			       outer_rect.right - outer_rect.left,
-			       outer_rect.bottom - outer_rect.top,
-			       SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER));
-      private->resize_count += 1;
-    }
-}
-
-void
-gdk_window_move_resize (GdkWindow *window,
-			gint       x,
-			gint       y,
-			gint       width,
-			gint       height)
-{
-  GdkWindowObject *private = (GdkWindowObject*) window;
-  GdkWindowImplWin32 *impl;
-
-  g_return_if_fail (GDK_IS_WINDOW (window));
-
-  if (GDK_WINDOW_DESTROYED (window))
-    return;
-
   if (width < 1)
     width = 1;
   if (height < 1)
@@ -1340,20 +1238,26 @@
 			       x - _gdk_offset_x, y - _gdk_offset_y,
 			       outer_rect.right - outer_rect.left,
 			       outer_rect.bottom - outer_rect.top));
-			       
+
+      UINT uflags = SWP_NOACTIVATE | SWP_NOZORDER;
+      if (with_move == FALSE)
+	  uflags |= SWP_NOMOVE;
+      if (width == -1 || height == -1)
+	  uflags |= SWP_NOSIZE;
+
       API_CALL (SetWindowPos, (GDK_WINDOW_HWND (window), NULL,
 			       x - _gdk_offset_x, y - _gdk_offset_y,
 			       outer_rect.right - outer_rect.left,
 			       outer_rect.bottom - outer_rect.top,
-			       SWP_NOACTIVATE | SWP_NOZORDER));
+			       uflags));
     }
 }
 
-void
-_gdk_window_reparent (GdkWindow *window,
-		      GdkWindow *new_parent,
-		      gint       x,
-		      gint       y)
+static gboolean
+gdk_win32_window_reparent (GdkWindow *window,
+			   GdkWindow *new_parent,
+			   gint       x,
+			   gint       y)
 {
   GdkWindowObject *window_private;
   GdkWindowObject *parent_private;
@@ -1439,6 +1343,8 @@
 
   parent_private->children = g_list_prepend (parent_private->children, window);
   _gdk_window_init_position (GDK_WINDOW (window_private));
+
+  return TRUE;
 }
 
 static void
@@ -1575,78 +1481,60 @@
 }
 
 void
-_gdk_windowing_window_clear_area (GdkWindow *window,
-				  gint       x,
-				  gint       y,
-				  gint       width,
-				  gint       height)
+_gdk_win32_window_clear_area (GdkWindow *window,
+			      gint       x,
+			      gint       y,
+			      gint       width,
+			      gint       height,
+			      gboolean   send_expose)
 {
   GdkWindowImplWin32 *impl;
 
-  g_return_if_fail (GDK_IS_WINDOW (window));
-  
   impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl);
 
   if (!GDK_WINDOW_DESTROYED (window))
     {
       HDC hdc;
-
-      if (width == 0)
-	width = impl->width - x;
-      if (height == 0)
-	height = impl->height - y;
-      GDK_NOTE (MISC, g_print ("_gdk_windowing_window_clear_area: %p: "
-			       "%dx%d %+d%+d\n",
-			       GDK_WINDOW_HWND (window),
-			       width, height, x, y));
-      hdc = GetDC (GDK_WINDOW_HWND (window));
-      IntersectClipRect (hdc, x, y, x + width, y + height);
-      erase_background (window, hdc);
-      GDI_CALL (ReleaseDC, (GDK_WINDOW_HWND (window), hdc));
-    }
-}
-
-void
-_gdk_windowing_window_clear_area_e (GdkWindow *window,
-				    gint       x,
-				    gint       y,
-				    gint       width,
-				    gint       height)
-{
-  g_return_if_fail (GDK_IS_WINDOW (window));
-  
-  if (!GDK_WINDOW_DESTROYED (window))
-    {
-      HDC hdc;
       RECT rect;
 
-      GDK_NOTE (MISC, g_print ("_gdk_windowing_window_clear_area_e: %p: "
-			       "%dx%d %+d%+d\n",
-			       GDK_WINDOW_HWND (window),
-			       width, height, x, y));
-
-      /* The background should be erased before the expose event is
-	 generated */
       hdc = GetDC (GDK_WINDOW_HWND (window));
-      IntersectClipRect (hdc, x, y, x + width, y + height);
-      erase_background (window, hdc);
-      GDI_CALL (ReleaseDC, (GDK_WINDOW_HWND (window), hdc));
 
-      rect.left = x;
-      rect.right = x + width;
-      rect.top = y;
-      rect.bottom = y + height;
+      if (!send_expose)
+	{
+	  if (width == 0)
+	    width = impl->width - x;
+	  if (height == 0)
+	    height = impl->height - y;
+	  GDK_NOTE (MISC, g_print ("_gdk_windowing_window_clear_area: %p: "
+				   "%dx%d %+d%+d\n",
+				   GDK_WINDOW_HWND (window),
+				   width, height, x, y));
+	  IntersectClipRect (hdc, x, y, x + width, y + height);
+	  erase_background (window, hdc);
+	  GDI_CALL (ReleaseDC, (GDK_WINDOW_HWND (window), hdc));
+	}
+      else
+	{
+	  /* The background should be erased before the expose event is
+	     generated */
+	  IntersectClipRect (hdc, x, y, x + width, y + height);
+	  erase_background (window, hdc);
+	  GDI_CALL (ReleaseDC, (GDK_WINDOW_HWND (window), hdc));
+
+	  rect.left = x;
+	  rect.right = x + width;
+	  rect.top = y;
+	  rect.bottom = y + height;
 
-      GDI_CALL (InvalidateRect, (GDK_WINDOW_HWND (window), &rect, TRUE));
-      UpdateWindow (GDK_WINDOW_HWND (window));
+	  GDI_CALL (InvalidateRect, (GDK_WINDOW_HWND (window), &rect, TRUE));
+	  UpdateWindow (GDK_WINDOW_HWND (window));
+	}
     }
 }
 
 void
-gdk_window_raise (GdkWindow *window)
+gdk_win32_window_raise (GdkWindow *window)
 {
-  g_return_if_fail (GDK_IS_WINDOW (window));
-  
   if (!GDK_WINDOW_DESTROYED (window))
     {
       GDK_NOTE (MISC, g_print ("gdk_window_raise: %p\n",
@@ -1666,10 +1554,8 @@
 }
 
 void
-gdk_window_lower (GdkWindow *window)
+gdk_win32_window_lower (GdkWindow *window)
 {
-  g_return_if_fail (GDK_IS_WINDOW (window));
-  
   if (!GDK_WINDOW_DESTROYED (window))
     {
       GDK_NOTE (MISC, g_print ("gdk_window_lower: %p\n"
@@ -2074,13 +1960,11 @@
 }
 
 void
-gdk_window_set_background (GdkWindow      *window,
-			   const GdkColor *color)
+gdk_win32_window_set_background (GdkWindow      *window,
+				 const GdkColor *color)
 {
   GdkWindowObject *private = (GdkWindowObject *)window;
   
-  g_return_if_fail (GDK_IS_WINDOW (window));
-  
   GDK_NOTE (MISC, g_print ("gdk_window_set_background: %p: %s\n",
 			   GDK_WINDOW_HWND (window), 
 			   _gdk_win32_color_to_string (color)));
@@ -2097,16 +1981,12 @@
 }
 
 void
-gdk_window_set_back_pixmap (GdkWindow *window,
-			    GdkPixmap *pixmap,
-			    gint       parent_relative)
+gdk_win32_window_set_back_pixmap (GdkWindow *window,
+				  GdkPixmap *pixmap,
+				  gint       parent_relative)
 {
   GdkWindowObject *private = (GdkWindowObject *)window;
 
-  g_return_if_fail (GDK_IS_WINDOW (window));
-  g_return_if_fail (pixmap == NULL || !parent_relative);
-  g_return_if_fail (pixmap == NULL || gdk_drawable_get_depth (window) == gdk_drawable_get_depth (pixmap));
-  
   if (pixmap && !gdk_drawable_get_colormap (pixmap))
     {
       g_warning ("gdk_window_set_back_pixmap(): pixmap must have a colormap");
@@ -2138,8 +2018,8 @@
 }
 
 void
-gdk_window_set_cursor (GdkWindow *window,
-		       GdkCursor *cursor)
+gdk_win32_window_set_cursor (GdkWindow *window,
+			     GdkCursor *cursor)
 {
   GdkWindowImplWin32 *impl;
   GdkCursorPrivate *cursor_private;
@@ -2147,8 +2027,6 @@
   HCURSOR hcursor;
   HCURSOR hprevcursor;
   
-  g_return_if_fail (GDK_IS_WINDOW (window));
-  
   impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl);
   cursor_private = (GdkCursorPrivate*) cursor;
   
@@ -2246,15 +2124,13 @@
 }
 
 void
-gdk_window_get_geometry (GdkWindow *window,
-			 gint      *x,
-			 gint      *y,
-			 gint      *width,
-			 gint      *height,
-			 gint      *depth)
+gdk_win32_window_get_geometry (GdkWindow *window,
+			       gint      *x,
+			       gint      *y,
+			       gint      *width,
+			       gint      *height,
+			       gint      *depth)
 {
-  g_return_if_fail (window == NULL || GDK_IS_WINDOW (window));
-  
   if (!window)
     window = _gdk_root;
   
@@ -2312,16 +2188,14 @@
 }
 
 gint
-gdk_window_get_origin (GdkWindow *window,
-		       gint      *x,
-		       gint      *y)
+gdk_win32_window_get_origin (GdkWindow *window,
+			     gint      *x,
+			     gint      *y)
 {
   gint return_val;
   gint tx = 0;
   gint ty = 0;
 
-  g_return_val_if_fail (GDK_IS_WINDOW (window), 0);
-
   if (!GDK_WINDOW_DESTROYED (window))
     {
       POINT pt;
@@ -2561,10 +2435,8 @@
 }
 
 GdkEventMask  
-gdk_window_get_events (GdkWindow *window)
+gdk_win32_window_get_events (GdkWindow *window)
 {
-  g_return_val_if_fail (GDK_IS_WINDOW (window), 0);
-
   if (GDK_WINDOW_DESTROYED (window))
     return 0;
 
@@ -2572,14 +2444,9 @@
 }
 
 void          
-gdk_window_set_events (GdkWindow   *window,
+gdk_win32_window_set_events (GdkWindow   *window,
 		       GdkEventMask event_mask)
 {
-  g_return_if_fail (GDK_IS_WINDOW (window));
-
-  if (GDK_WINDOW_DESTROYED (window))
-    return;
-
   /* gdk_window_new() always sets the GDK_STRUCTURE_MASK, so better
    * set it here, too. Not that I know or remember why it is
    * necessary, will have to test some day.
@@ -2612,14 +2479,12 @@
 }
 
 void
-gdk_window_shape_combine_mask (GdkWindow *window,
-			       GdkBitmap *mask,
-			       gint x, gint y)
+gdk_win32_window_shape_combine_mask (GdkWindow *window,
+				     GdkBitmap *mask,
+				     gint x, gint y)
 {
   GdkWindowObject *private = (GdkWindowObject *)window;
 
-  g_return_if_fail (GDK_IS_WINDOW (window));
-
   if (!mask)
     {
       GDK_NOTE (MISC, g_print ("gdk_window_shape_combine_mask: %p: none\n",
@@ -3135,10 +3000,8 @@
 }
 
 void
-gdk_window_set_child_shapes (GdkWindow *window)
+gdk_win32_window_set_child_shapes (GdkWindow *window)
 {
-  g_return_if_fail (GDK_IS_WINDOW (window));
-   
   if (GDK_WINDOW_DESTROYED (window))
     return;
 
@@ -3146,10 +3009,8 @@
 }
 
 void
-gdk_window_merge_child_shapes (GdkWindow *window)
+gdk_win32_window_merge_child_shapes (GdkWindow *window)
 {
-  g_return_if_fail (GDK_IS_WINDOW (window));
-  
   if (GDK_WINDOW_DESTROYED (window))
     return;
 
@@ -3177,7 +3038,7 @@
 }
 
 gboolean 
-gdk_window_set_static_gravities (GdkWindow *window,
+gdk_win32_window_set_static_gravities (GdkWindow *window,
 				 gboolean   use_static)
 {
   g_return_val_if_fail (GDK_IS_WINDOW (window), FALSE);
@@ -3666,15 +3527,13 @@
 }
 
 void
-gdk_window_shape_combine_region (GdkWindow       *window,
-                                 const GdkRegion *shape_region,
-                                 gint             offset_x,
-                                 gint             offset_y)
+gdk_win32_window_shape_combine_region (GdkWindow       *window,
+				       const GdkRegion *shape_region,
+				       gint             offset_x,
+				       gint             offset_y)
 {
   GdkWindowObject *private = (GdkWindowObject *)window;
 
-  g_return_if_fail (GDK_IS_WINDOW (window));
-
   if (GDK_WINDOW_DESTROYED (window))
     return;
 
@@ -3784,3 +3643,31 @@
 _gdk_windowing_window_set_composited (GdkWindow *window, gboolean composited)
 {
 }
+
+static void
+gdk_window_impl_iface_init (GdkWindowImplIface *iface)
+{
+  iface->show = gdk_win32_window_show;
+  iface->hide = gdk_win32_window_hide;
+  iface->withdraw = gdk_win32_window_withdraw;
+  iface->set_events = gdk_win32_window_set_events;
+  iface->get_events = gdk_win32_window_get_events;
+  iface->clear_area = _gdk_win32_window_clear_area;
+  iface->raise = gdk_win32_window_raise;
+  iface->lower = gdk_win32_window_lower;
+  iface->move_resize = gdk_win32_window_move_resize;
+  iface->scroll = _gdk_win32_window_scroll;
+  iface->move_region = _gdk_win32_window_move_region;
+  iface->set_background = gdk_win32_window_set_background;
+  iface->set_back_pixmap = gdk_win32_window_set_back_pixmap;
+  iface->reparent = gdk_win32_window_reparent;
+  iface->set_cursor = gdk_win32_window_set_cursor;
+  iface->get_geometry = gdk_win32_window_get_geometry;
+  iface->get_origin = gdk_win32_window_get_origin;
+  iface->shape_combine_mask = gdk_win32_window_shape_combine_mask;
+  iface->shape_combine_region = gdk_win32_window_shape_combine_region;
+  iface->set_child_shapes = gdk_win32_window_set_child_shapes;
+  iface->merge_child_shapes = gdk_win32_window_merge_child_shapes;
+  iface->set_static_gravities = gdk_win32_window_set_static_gravities;
+  iface->get_offsets = _gdk_win32_windowing_window_get_offsets;
+}



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