[gtk/wip/chergert/quartz4u] macos: clamp to top bar based on shadow height



commit 08353f3d2242aa7b5e7e887f9d1f54105f2d514d
Author: Christian Hergert <chergert redhat com>
Date:   Mon May 4 12:07:51 2020 -0700

    macos: clamp to top bar based on shadow height

 gdk/macos/GdkMacosWindow.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)
---
diff --git a/gdk/macos/GdkMacosWindow.c b/gdk/macos/GdkMacosWindow.c
index 822149d56f..4a95ced812 100644
--- a/gdk/macos/GdkMacosWindow.c
+++ b/gdk/macos/GdkMacosWindow.c
@@ -327,13 +327,11 @@
 
 -(BOOL)trackManualMove
 {
-#if 0
-  GdkSurface *window = [[self contentView] gdkSurface];
-  GdkSurfaceImplQuartz *impl = GDK_SURFACE_IMPL_QUARTZ (window->impl);
-  NSPoint currentLocation;
-  NSPoint newOrigin;
   NSRect screenFrame = [[NSScreen mainScreen] visibleFrame];
   NSRect windowFrame = [self frame];
+  NSPoint currentLocation;
+  NSPoint newOrigin;
+  int shadow_top = 0;
 
   if (!inManualMove)
     return NO;
@@ -342,12 +340,13 @@
   newOrigin.x = currentLocation.x - initialMoveLocation.x;
   newOrigin.y = currentLocation.y - initialMoveLocation.y;
 
+  _gdk_macos_surface_get_shadow (gdkSurface, &shadow_top, NULL, NULL, NULL);
+
   /* Clamp vertical position to below the menu bar. */
-  if (newOrigin.y + windowFrame.size.height - impl->shadow_top > screenFrame.origin.y + 
screenFrame.size.height)
-    newOrigin.y = screenFrame.origin.y + screenFrame.size.height - windowFrame.size.height + 
impl->shadow_top;
+  if (newOrigin.y + windowFrame.size.height - shadow_top > screenFrame.origin.y + screenFrame.size.height)
+    newOrigin.y = screenFrame.origin.y + screenFrame.size.height - windowFrame.size.height + shadow_top;
 
   [self setFrameOrigin:newOrigin];
-#endif
 
   return YES;
 }


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