Browse Source

Merge branch 'master' of https://github.com/odin-lang/Odin

gingerBill 8 months ago
parent
commit
cf819f45fd
2 changed files with 71 additions and 0 deletions
  1. 10 0
      core/sys/darwin/Foundation/NSApplication.odin
  2. 61 0
      core/sys/windows/user32.odin

+ 10 - 0
core/sys/darwin/Foundation/NSApplication.odin

@@ -108,6 +108,16 @@ Application_setMainMenu :: proc "c" (self: ^Application, menu: ^Menu) {
 	msgSend(nil, self, "setMainMenu:", menu)
 }
 
+@(objc_type=Application, objc_name="mainWindow")
+Application_mainWindow :: proc "c" (self: ^Application) -> ^Window {
+	return msgSend(^Window, self, "mainWindow")
+}
+
+@(objc_type=Application, objc_name="keyWindow")
+Application_keyWindow :: proc "c" (self: ^Application) -> ^Window {
+	return msgSend(^Window, self, "keyWindow")
+}
+
 @(objc_type=Application, objc_name="windows")
 Application_windows :: proc "c" (self: ^Application) -> ^Array {
 	return msgSend(^Array, self, "windows")

+ 61 - 0
core/sys/windows/user32.odin

@@ -781,3 +781,64 @@ CF_GDIOBJLAST      :: 0x03FF
 CF_OWNERDISPLAY    :: 0x0080
 CF_PRIVATEFIRST    :: 0x0200
 CF_PRIVATELAST     :: 0x02FF
+
+STICKYKEYS :: struct {
+	cbSize: UINT,
+	dwFlags: DWORD,
+}
+LPSTICKYKEYS :: ^STICKYKEYS
+
+SKF_STICKYKEYSON    :: 0x1
+SKF_AVAILABLE       :: 0x2
+SKF_HOTKEYACTIVE    :: 0x4
+SKF_CONFIRMHOTKEY   :: 0x8
+SKF_HOTKEYSOUND     :: 0x10
+SKF_INDICATOR       :: 0x20
+SKF_AUDIBLEFEEDBACK :: 0x40
+SKF_TRISTATE        :: 0x80
+SKF_TWOKEYSOFF      :: 0x100
+SKF_LSHIFTLOCKED    :: 0x10000
+SKF_RSHIFTLOCKED    :: 0x20000
+SKF_LCTLLOCKED      :: 0x40000
+SKF_RCTLLOCKED      :: 0x80000
+SKF_LALTLOCKED      :: 0x100000
+SKF_RALTLOCKED      :: 0x200000
+SKF_LWINLOCKED      :: 0x400000
+SKF_RWINLOCKED      :: 0x800000
+SKF_LSHIFTLATCHED   :: 0x1000000
+SKF_RSHIFTLATCHED   :: 0x2000000
+SKF_LCTLLATCHED     :: 0x4000000
+SKF_RCTLLATCHED     :: 0x8000000
+SKF_LALTLATCHED     :: 0x10000000
+SKF_RALTLATCHED     :: 0x20000000
+
+TOGGLEKEYS :: struct {
+	cbSize: UINT,
+	dwFlags: DWORD,
+}
+LPTOGGLEKEYS :: ^TOGGLEKEYS
+
+TKF_TOGGLEKEYSON  :: 0x1
+TKF_AVAILABLE     :: 0x2
+TKF_HOTKEYACTIVE  :: 0x4
+TKF_CONFIRMHOTKEY :: 0x8
+TKF_HOTKEYSOUND   :: 0x10
+TKF_INDICATOR     :: 0x20
+
+FILTERKEYS :: struct {
+	cbSize:  UINT,
+	dwFlags: DWORD,
+	iWaitMSec: DWORD,
+	iDelayMSec: DWORD,
+	iRepeatMSec: DWORD,
+	iBounceMSec: DWORD,
+}
+LPFILTERKEYS :: ^FILTERKEYS
+
+FKF_FILTERKEYSON  :: 0x1
+FKF_AVAILABLE     :: 0x2
+FKF_HOTKEYACTIVE  :: 0x4
+FKF_CONFIRMHOTKEY :: 0x8
+FKF_HOTKEYSOUND   :: 0x10
+FKF_INDICATOR     :: 0x20
+FKF_CLICKON       :: 0x40