mirror of
https://github.com/italicsjenga/winit-sonoma-fix.git
synced 2025-01-11 21:31:29 +11:00
Merge pull request #606 from paulrouget/NSFullSizeContentViewWindowMask
Use NSFullSizeContentViewWindowMask for decoration-less windows
This commit is contained in:
commit
a448043b16
|
@ -48,7 +48,7 @@ objc = "0.1"
|
||||||
[target.x86_64-apple-darwin.dependencies]
|
[target.x86_64-apple-darwin.dependencies]
|
||||||
objc = "0.1"
|
objc = "0.1"
|
||||||
cgl = "0"
|
cgl = "0"
|
||||||
cocoa = "0"
|
cocoa = "0.1.4"
|
||||||
core-foundation = "0"
|
core-foundation = "0"
|
||||||
core-graphics = "0"
|
core-graphics = "0"
|
||||||
|
|
||||||
|
|
|
@ -399,14 +399,24 @@ impl Window {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
let masks = if screen.is_some() || !attrs.decorations {
|
let masks = match (attrs.decorations, attrs.transparent) {
|
||||||
NSBorderlessWindowMask as NSUInteger |
|
(true, false) =>
|
||||||
NSResizableWindowMask as NSUInteger
|
// Classic opaque window with titlebar
|
||||||
} else {
|
|
||||||
NSTitledWindowMask as NSUInteger |
|
|
||||||
NSClosableWindowMask as NSUInteger |
|
NSClosableWindowMask as NSUInteger |
|
||||||
NSMiniaturizableWindowMask as NSUInteger |
|
NSMiniaturizableWindowMask as NSUInteger |
|
||||||
NSResizableWindowMask 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 window = IdRef::new(NSWindow::alloc(nil).initWithContentRect_styleMask_backing_defer_(
|
let window = IdRef::new(NSWindow::alloc(nil).initWithContentRect_styleMask_backing_defer_(
|
||||||
|
@ -419,6 +429,12 @@ impl Window {
|
||||||
let title = IdRef::new(NSString::alloc(nil).init_str(&attrs.title));
|
let title = IdRef::new(NSString::alloc(nil).init_str(&attrs.title));
|
||||||
window.setTitle_(*title);
|
window.setTitle_(*title);
|
||||||
window.setAcceptsMouseMovedEvents_(YES);
|
window.setAcceptsMouseMovedEvents_(YES);
|
||||||
|
|
||||||
|
if !attrs.decorations {
|
||||||
|
window.setTitleVisibility_(NSWindowTitleVisibility::NSWindowTitleHidden);
|
||||||
|
window.setTitlebarAppearsTransparent_(YES);
|
||||||
|
}
|
||||||
|
|
||||||
if screen.is_some() {
|
if screen.is_some() {
|
||||||
window.setLevel_(NSMainMenuWindowLevel as i64 + 1);
|
window.setLevel_(NSMainMenuWindowLevel as i64 + 1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue