aboutsummaryrefslogtreecommitdiffstats
path: root/src/api/cocoa/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/cocoa/mod.rs')
-rw-r--r--src/api/cocoa/mod.rs36
1 files changed, 17 insertions, 19 deletions
diff --git a/src/api/cocoa/mod.rs b/src/api/cocoa/mod.rs
index 5bc7e80..eae344c 100644
--- a/src/api/cocoa/mod.rs
+++ b/src/api/cocoa/mod.rs
@@ -397,26 +397,24 @@ impl Window {
}
};
- let masks = match (attrs.decorations, attrs.transparent) {
- (true, false) =>
- // Classic opaque window with titlebar
- NSClosableWindowMask as NSUInteger |
- NSMiniaturizableWindowMask as NSUInteger |
- NSResizableWindowMask as NSUInteger |
- NSTitledWindowMask as NSUInteger,
- (false, false) =>
- // Opaque window without a titlebar
- NSClosableWindowMask as NSUInteger |
- NSMiniaturizableWindowMask as NSUInteger |
- NSResizableWindowMask as NSUInteger |
- NSTitledWindowMask as NSUInteger |
- NSFullSizeContentViewWindowMask as NSUInteger,
- (_, true) =>
- // Fully transparent window.
- // No shadow, decorations or borders.
- NSBorderlessWindowMask as NSUInteger
+ let masks = if screen.is_some() || attrs.transparent {
+ // Fullscreen or transparent window
+ NSBorderlessWindowMask as NSUInteger
+ } else if attrs.decorations {
+ // Classic opaque window with titlebar
+ NSClosableWindowMask as NSUInteger |
+ NSMiniaturizableWindowMask as NSUInteger |
+ NSResizableWindowMask as NSUInteger |
+ NSTitledWindowMask as NSUInteger
+ } else {
+ // Opaque window without a titlebar
+ NSClosableWindowMask as NSUInteger |
+ NSMiniaturizableWindowMask as NSUInteger |
+ NSResizableWindowMask as NSUInteger |
+ NSTitledWindowMask as NSUInteger |
+ NSFullSizeContentViewWindowMask as NSUInteger
};
-
+
let window = IdRef::new(NSWindow::alloc(nil).initWithContentRect_styleMask_backing_defer_(
frame,
masks,