mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-01 20:28:15 +00:00
Revert "Remove the workaround for NSWindow initWithContentFrame"
This commit is contained in:
+12
-1
@@ -103,7 +103,18 @@ Window_alloc :: proc() -> ^Window {
|
|||||||
|
|
||||||
@(objc_type=Window, objc_name="initWithContentRect")
|
@(objc_type=Window, objc_name="initWithContentRect")
|
||||||
Window_initWithContentRect :: proc (self: ^Window, contentRect: Rect, styleMask: WindowStyleMask, backing: BackingStoreType, doDefer: bool) -> ^Window {
|
Window_initWithContentRect :: proc (self: ^Window, contentRect: Rect, styleMask: WindowStyleMask, backing: BackingStoreType, doDefer: bool) -> ^Window {
|
||||||
return msgSend(^Window, self, "initWithContentRect:styleMask:backing:defer:", contentRect, styleMask, backing, doDefer)
|
self := self
|
||||||
|
// HACK: due to a compiler bug, the generated calling code does not
|
||||||
|
// currently work for this message. Has to do with passing a struct along
|
||||||
|
// with other parameters, so we don't send the rect here.
|
||||||
|
// Omiting the rect argument here actually works, because of how the C
|
||||||
|
// calling conventions are defined.
|
||||||
|
self = msgSend(^Window, self, "initWithContentRect:styleMask:backing:defer:", styleMask, backing, doDefer)
|
||||||
|
|
||||||
|
// apply the contentRect now, since we did not pass it to the init call
|
||||||
|
msgSend(nil, self, "setContentSize:", contentRect.size)
|
||||||
|
msgSend(nil, self, "setFrameOrigin:", contentRect.origin)
|
||||||
|
return self
|
||||||
}
|
}
|
||||||
@(objc_type=Window, objc_name="contentView")
|
@(objc_type=Window, objc_name="contentView")
|
||||||
Window_contentView :: proc(self: ^Window) -> ^View {
|
Window_contentView :: proc(self: ^Window) -> ^View {
|
||||||
|
|||||||
Reference in New Issue
Block a user