From 332653ca24a399dfb24660353d086d7e97d44985 Mon Sep 17 00:00:00 2001 From: Glenn Date: Mon, 3 Nov 2025 18:06:43 +0000 Subject: [PATCH] Add additional window bindings --- core/sys/darwin/Foundation/NSWindow.odin | 32 ++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/core/sys/darwin/Foundation/NSWindow.odin b/core/sys/darwin/Foundation/NSWindow.odin index f66228890..bbfaa14cd 100644 --- a/core/sys/darwin/Foundation/NSWindow.odin +++ b/core/sys/darwin/Foundation/NSWindow.odin @@ -864,3 +864,35 @@ Window_performWindowDragWithEvent :: proc "c" (self: ^Window, event: ^Event) { Window_setToolbar :: proc "c" (self: ^Window, toolbar: ^Toolbar) { msgSend(nil, self, "setToolbar:", toolbar) } +@(objc_type = Window, objc_name = "setCollectionBehavior") +Window_setCollectionBehavior :: proc "c" (self: ^Window, behavior: WindowCollectionBehavior) { + msgSend(nil, self, "setCollectionBehavior:", behavior) +} +@(objc_type = Window, objc_name = "collectionBehavior") +Window_collectionBehavior :: proc "c" (self: ^Window) -> WindowCollectionBehavior { + return msgSend(WindowCollectionBehavior, self, "collectionBehavior") +} +@(objc_type = Window, objc_name = "setLevel") +Window_setLevel :: proc "c" (self: ^Window, level: WindowLevel) { + msgSend(nil, self, "setLevel:", level) +} +@(objc_type = Window, objc_name = "setReleasedWhenClosed") +Window_setReleasedWhenClosed :: proc "c" (self: ^Window, flag: BOOL) { + msgSend(nil, self, "setReleasedWhenClosed:", flag) +} +@(objc_type = Window, objc_name = "makeFirstResponder") +Window_makeFirstResponder :: proc "c" (self: ^Window, responder: ^Responder) -> BOOL { + return msgSend(BOOL, self, "makeFirstResponder:", responder) +} +@(objc_type = Window, objc_name = "setRestorable") +Window_setRestorable :: proc "c" (self: ^Window, flag: BOOL) { + msgSend(nil, self, "setRestorable:", flag) +} +@(objc_type = Window, objc_name = "setTabbingMode") +Window_setTabbingMode :: proc "c" (self: ^Window, mode: WindowTabbingMode) { + msgSend(nil, self, "setTabbingMode:", mode) +} +@(objc_type = Window, objc_name = "toggleFullScreen") +Window_toggleFullScreen :: proc "c" (self: ^Window, sender: id) { + msgSend(nil, self, "toggleFullScreen:", sender) +}