[gtk+/broadway: 40/71] [broadway] Handle window moves



commit bed0ccba9d04e4c559e197011e0ab54116bfbf4a
Author: Alexander Larsson <alexl redhat com>
Date:   Sun Nov 21 20:46:50 2010 +0100

    [broadway] Handle window moves

 gdk/broadway/gdkwindow-broadway.c |   99 ++++++++++++-------------------------
 1 files changed, 31 insertions(+), 68 deletions(-)
---
diff --git a/gdk/broadway/gdkwindow-broadway.c b/gdk/broadway/gdkwindow-broadway.c
index ac63632..07e2868 100644
--- a/gdk/broadway/gdkwindow-broadway.c
+++ b/gdk/broadway/gdkwindow-broadway.c
@@ -494,82 +494,45 @@ gdk_window_broadway_withdraw (GdkWindow *window)
   gdk_window_broadway_hide (window);
 }
 
-static inline void
-window_broadway_move (GdkWindow *window,
-                 gint       x,
-                 gint       y)
-{
-  GdkWindowObject *private = (GdkWindowObject *) window;
-
-  // XMoveWindow (GDK_WINDOW_XDISPLAY (window),  GDK_WINDOW_XID (window),  x, y);
-  private->x = x;
-  private->y = y;
-}
-
-static inline void
-window_broadway_resize (GdkWindow *window,
-                   gint       width,
-                   gint       height)
-{
-  GdkWindowObject *private = (GdkWindowObject *) window;
-
-  if (width < 1)
-    width = 1;
-
-  if (height < 1)
-    height = 1;
-
-  //XResizeWindow (GDK_WINDOW_XDISPLAY (window), GDK_WINDOW_XID (window), width, height);
-
-  private->width = width;
-  private->height = height;
-  _gdk_broadway_drawable_update_size (private->impl);
-
-  _gdk_broadway_drawable_update_size (private->impl);
-}
-
-static inline void
-window_broadway_move_resize (GdkWindow *window,
-                        gint       x,
-                        gint       y,
-                        gint       width,
-                        gint       height)
+static void
+gdk_window_broadway_move_resize (GdkWindow *window,
+				 gboolean   with_move,
+				 gint       x,
+				 gint       y,
+				 gint       width,
+				 gint       height)
 {
   GdkWindowObject *private = (GdkWindowObject *) window;;
+  GdkWindowImplBroadway *impl = GDK_WINDOW_IMPL_BROADWAY (private->impl);
+  GdkDisplayBroadway *display_broadway;
 
-  if (width < 1)
-    width = 1;
-
-  if (height < 1)
-    height = 1;
+  display_broadway = GDK_DISPLAY_BROADWAY (gdk_window_get_display (window));
+  if (with_move)
+    {
+      private->x = x;
+      private->y = y;
+      if (display_broadway->output != NULL)
+	{
+	  broadway_client_move_surface (display_broadway->output,
+					impl->id, x, y);
+	  queue_dirty_flush (display_broadway);
+	}
+    }
 
-  //XMoveResizeWindow (GDK_WINDOW_XDISPLAY (window), GDK_WINDOW_XID (window), x, y, width, height);
 
-  private->x = x;
-  private->y = y;
+  if (width > 0 || height > 0)
+    {
+      if (width < 1)
+	width = 1;
 
-  private->width = width;
-  private->height = height;
+      if (height < 1)
+	height = 1;
 
-  _gdk_broadway_drawable_update_size (private->impl);
-}
+      g_print ("TODO: Ignoring resize of window %p\n", window);
 
-static void
-gdk_window_broadway_move_resize (GdkWindow *window,
-                            gboolean   with_move,
-                            gint       x,
-                            gint       y,
-                            gint       width,
-                            gint       height)
-{
-  if (with_move && (width < 0 && height < 0))
-    window_broadway_move (window, x, y);
-  else
-    {
-      if (with_move)
-        window_broadway_move_resize (window, x, y, width, height);
-      else
-        window_broadway_resize (window, width, height);
+      private->width = width;
+      private->height = height;
+      _gdk_broadway_drawable_update_size (private->impl);
     }
 }
 



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