[gtk/wip/chergert/quartz4u] macos: set window opacity based on titlebar



commit 692878767e72adf148ea5eec8fe2ec84b39a3335
Author: Christian Hergert <chergert redhat com>
Date:   Tue May 5 18:02:40 2020 -0700

    macos: set window opacity based on titlebar

 gdk/macos/GdkMacosWindow.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)
---
diff --git a/gdk/macos/GdkMacosWindow.c b/gdk/macos/GdkMacosWindow.c
index c25c31cf0f..84a35b82f8 100644
--- a/gdk/macos/GdkMacosWindow.c
+++ b/gdk/macos/GdkMacosWindow.c
@@ -499,15 +499,27 @@
 {
   gboolean was_fullscreen;
   gboolean is_fullscreen;
+  gboolean was_opaque;
+  gboolean is_opaque;
 
   was_fullscreen = (([self styleMask] & NSWindowStyleMaskFullScreen) != 0);
+  was_opaque = (([self styleMask] & NSWindowStyleMaskTitled) != 0);
 
   [super setStyleMask:styleMask];
 
   is_fullscreen = (([self styleMask] & NSWindowStyleMaskFullScreen) != 0);
+  is_opaque = (([self styleMask] & NSWindowStyleMaskTitled) != 0);
 
   if (was_fullscreen != is_fullscreen)
     _gdk_macos_surface_update_fullscreen_state (self->gdkSurface);
+
+  if (was_opaque != is_opaque)
+    {
+      [self setOpaque:is_opaque];
+
+      if (!is_opaque)
+        [self setBackgroundColor:[NSColor clearColor]];
+    }
 }
 
 -(NSRect)constrainFrameRect:(NSRect)frameRect toScreen:(NSScreen *)screen


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