core/sys/darwin/Foundation

objc_Foundation

Types

139

ActivityOptionsBits

ActivityOptionsBits :: enum u64 { IdleDisplaySleepDisabled = log2(1099511627776), // Require the screen to stay powered on. IdleSystemSleepDisabled = log2(1048576), // Prevent idle sleep. SuddenTerminationDisabled = log2(16384), // Prevent sudden termination. AutomaticTerminationDisabled = log2(32768), // Prevent automatic termination. AnimationTrackingEnabled = log2(35184372088832), // Track activity with an animation signpost interval. TrackingEnabled = log2(70368744177664), // Track activity with a signpost interval. UserInitiated = log2(16777215), // Performing a user-requested action. UserInitiatedAllowingIdleSystemSleep = log2(15728639), // Performing a user-requested action, but the system can sleep on idle. Background = log2(255), // Initiated some kind of work, but not as the direct result of a user request. LatencyCritical = log2(1095216660480), // Requires the highest amount of timer and I/O precision available. UserInteractive = log2(1095233437695), // Responding to user interaction. }Source

ApplicationDelegateTemplate

ApplicationDelegateTemplate :: struct { // Launching Applications applicationWillFinishLaunching: proc(notification: ^Notification), notification: ^Notification, applicationDidFinishLaunching: proc(notification: ^Notification), notification: ^Notification, // Managing Active Status applicationWillBecomeActive: proc(notification: ^Notification), notification: ^Notification, applicationDidBecomeActive: proc(notification: ^Notification), notification: ^Notification, applicationWillResignActive: proc(notification: ^Notification), notification: ^Notification, applicationDidResignActive: proc(notification: ^Notification), notification: ^Notification, // Terminating Applications applicationShouldTerminate: proc(sender: ^Application) -> (ApplicationTerminateReply), sender: ^Application, applicationShouldTerminateAfterLastWindowClosed: proc(sender: ^Application) -> (BOOL), sender: ^Application, applicationWillTerminate: proc(notification: ^Notification), notification: ^Notification, // Hiding Applications applicationWillHide: proc(notification: ^Notification), notification: ^Notification, applicationDidHide: proc(notification: ^Notification), notification: ^Notification, applicationWillUnhide: proc(notification: ^Notification), notification: ^Notification, applicationDidUnhide: proc(notification: ^Notification), notification: ^Notification, // Managing Windows applicationWillUpdate: proc(notification: ^Notification), notification: ^Notification, applicationDidUpdate: proc(notification: ^Notification), notification: ^Notification, applicationShouldHandleReopenHasVisibleWindows: proc(sender: ^Application, flag: BOOL) -> (BOOL), sender: ^Application, Application: BOOL, flag: BOOL, // Managing the Dock Menu applicationDockMenu: proc(sender: ^Application) -> (^Menu), sender: ^Application, // Localizing Keyboard Shortcuts applicationShouldAutomaticallyLocalizeKeyEquivalents: proc(application: ^Application) -> (BOOL), application: ^Application, // Displaying Errors applicationWillPresentError: proc(application: ^Application, error: ^Error) -> (^Error), application: ^Application, Application: ^Error, error: ^Error, // Managing the Screen applicationDidChangeScreenParameters: proc(notification: ^Notification), notification: ^Notification, // Continuing User Activities applicationWillContinueUserActivityWithType: proc(application: ^Application, userActivityType: ^String) -> (BOOL), application: ^Application, Application: ^String, userActivityType: ^String, applicationContinueUserActivityRestorationHandler: proc(application: ^Application, userActivity: ^UserActivity, restorationHandler: ^Block) -> (BOOL), application: ^Application, Application: ^UserActivity, userActivity: ^UserActivity, UserActivity: ^Block, restorationHandler: ^Block, applicationDidFailToContinueUserActivityWithTypeError: proc(application: ^Application, userActivityType: ^String, error: ^Error), application: ^Application, Application: ^String, userActivityType: ^String, String: ^Error, error: ^Error, applicationDidUpdateUserActivity: proc(application: ^Application, userActivity: ^UserActivity), application: ^Application, Application: ^UserActivity, userActivity: ^UserActivity, // Handling Push Notifications applicationDidRegisterForRemoteNotificationsWithDeviceToken: proc(application: ^Application, deviceToken: ^Data), application: ^Application, Application: ^Data, deviceToken: ^Data, applicationDidFailToRegisterForRemoteNotificationsWithError: proc(application: ^Application, error: ^Error), application: ^Application, Application: ^Error, error: ^Error, applicationDidReceiveRemoteNotification: proc(application: ^Application, userInfo: ^Dictionary), application: ^Application, Application: ^Dictionary, userInfo: ^Dictionary, // Handling CloudKit Invitations // TODO: if/when we have cloud kit bindings implement // applicationUserDidAcceptCloudKitShareWithMetadata: proc(application: ^Application, metadata: ^CKShareMetadata), // Handling SiriKit Intents // TODO: if/when we have siri kit bindings implement // applicationHandlerForIntent: proc(application: ^Application, intent: ^INIntent) -> id, // Opening Files applicationOpenURLs: proc(application: ^Application, urls: ^Array), application: ^Application, Application: ^Array, urls: ^Array, applicationOpenFile: proc(sender: ^Application, filename: ^String) -> (BOOL), sender: ^Application, Application: ^String, filename: ^String, applicationOpenFileWithoutUI: proc(sender: id, filename: ^String) -> (BOOL), sender: id, filename: ^String, applicationOpenTempFile: proc(sender: ^Application, filename: ^String) -> (BOOL), sender: ^Application, Application: ^String, filename: ^String, applicationOpenFiles: proc(sender: ^Application, filenames: ^Array), sender: ^Application, Application: ^Array, filenames: ^Array, applicationShouldOpenUntitledFile: proc(sender: ^Application) -> (BOOL), sender: ^Application, applicationOpenUntitledFile: proc(sender: ^Application) -> (BOOL), sender: ^Application, // Printing applicationPrintFile: proc(sender: ^Application, filename: ^String) -> (BOOL), sender: ^Application, Application: ^String, filename: ^String, applicationPrintFilesWithSettingsShowPrintPanels: proc(application: ^Application, fileNames: ^Array, printSettings: ^Dictionary, showPrintPanels: BOOL) -> (ApplicationPrintReply), application: ^Application, Application: ^Array, fileNames: ^Array, Array: ^Dictionary, printSettings: ^Dictionary, Dictionary: BOOL, showPrintPanels: BOOL, // Restoring Application State applicationSupportsSecureRestorableState: proc(app: ^Application) -> (BOOL), app: ^Application, applicationProtectedDataDidBecomeAvailable: proc(notification: ^Notification), notification: ^Notification, applicationProtectedDataWillBecomeUnavailable: proc(notification: ^Notification), notification: ^Notification, applicationWillEncodeRestorableState: proc(app: ^Application, coder: ^Coder), app: ^Application, Application: ^Coder, coder: ^Coder, applicationDidDecodeRestorableState: proc(app: ^Application, coder: ^Coder), app: ^Application, Application: ^Coder, coder: ^Coder, // Handling Changes to the Occlusion State applicationDidChangeOcclusionState: proc(notification: ^Notification), notification: ^Notification, // Scripting Your App applicationDelegateHandlesKey: proc(sender: ^Application, key: ^String) -> (BOOL), sender: ^Application, Application: ^String, key: ^String, }Source

ApplicationPresentationOptionFlag

ApplicationPresentationOptionFlag :: enum UInteger { AutoHideDock = 0, HideDock = 1, AutoHideMenuBar = 2, HideMenuBar = 3, DisableAppleMenu = 4, DisableProcessSwitching = 5, DisableForceQuit = 6, DisableSessionTermination = 7, DisableHideApplication = 8, DisableMenuBarTransparency = 9, FullScreen = 10, AutoHideToolbar = 11, DisableCursorLocationAssistance = 12, }Source

StringEncoding

StringEncoding :: enum UInteger { ASCII = 1, NEXTSTEP = 2, JapaneseEUC = 3, UTF8 = 4, ISOLatin1 = 5, Symbol = 6, NonLossyASCII = 7, ShiftJIS = 8, ISOLatin2 = 9, Unicode = 10, WindowsCP1251 = 11, WindowsCP1252 = 12, WindowsCP1253 = 13, WindowsCP1254 = 14, WindowsCP1250 = 15, ISO2022JP = 21, MacOSRoman = 30, UTF16 = Unicode, UTF16BigEndian = 2415919360, UTF16LittleEndian = 2483028224, UTF32 = 2348810496, UTF32BigEndian = 2550137088, UTF32LittleEndian = 2617245952, }Source

WindowCollectionBehaviorFlag

WindowCollectionBehaviorFlag :: enum UInteger { CanJoinAllSpaces = 0, MoveToActiveSpace = 1, Managed = 2, Transient = 3, Stationary = 4, ParticipatesInCycle = 5, IgnoresCycle = 6, FullScreenPrimary = 7, FullScreenAuxiliary = 8, FullScreenNone = 9, FullScreenAllowsTiling = 11, FullScreenDisallowsTiling = 12, Primary = 16, Auxiliary = 17, CanJoinAllApplications = 18, }Source

WindowDelegateTemplate

WindowDelegateTemplate :: struct { // Managing Sheets windowWillPositionSheetUsingRect: proc(window: ^Window, sheet: ^Window, rect: Rect) -> (Rect), window: ^Window, Window: ^Window, sheet: ^Window, Window: Rect, rect: Rect, windowWillBeginSheet: proc(notification: ^Notification), notification: ^Notification, windowDidEndSheet: proc(notification: ^Notification), notification: ^Notification, // Sizing Windows windowWillResizeToSize: proc(sender: ^Window, frameSize: Size) -> (Size), sender: ^Window, Window: Size, frameSize: Size, windowDidResize: proc(notification: ^Notification), notification: ^Notification, windowWillStartLiveResize: proc(noitifcation: ^Notification), noitifcation: ^Notification, windowDidEndLiveResize: proc(notification: ^Notification), notification: ^Notification, // Minimizing Windows windowWillMiniaturize: proc(notification: ^Notification), notification: ^Notification, windowDidMiniaturize: proc(notification: ^Notification), notification: ^Notification, windowDidDeminiaturize: proc(notification: ^Notification), notification: ^Notification, // Zooming window windowWillUseStandardFrameDefaultFrame: proc(window: ^Window, newFrame: Rect) -> (Rect), window: ^Window, Window: Rect, newFrame: Rect, windowShouldZoomToFrame: proc(window: ^Window, newFrame: Rect) -> (BOOL), window: ^Window, Window: Rect, newFrame: Rect, // Managing Full-Screen Presentation windowWillUseFullScreenContentSize: proc(window: ^Window, proposedSize: Size) -> (Size), window: ^Window, Window: Size, proposedSize: Size, windowWillUseFullScreenPresentationOptions: proc(window: ^Window, proposedOptions: ApplicationPresentationOptions) -> (ApplicationPresentationOptions), window: ^Window, Window: ApplicationPresentationOptions, proposedOptions: ApplicationPresentationOptions, windowWillEnterFullScreen: proc(notification: ^Notification), notification: ^Notification, windowDidEnterFullScreen: proc(notification: ^Notification), notification: ^Notification, windowWillExitFullScreen: proc(notification: ^Notification), notification: ^Notification, windowDidExitFullScreen: proc(notification: ^Notification), notification: ^Notification, // Custom Full-Screen Presentation Animations customWindowsToEnterFullScreenForWindow: proc(window: ^Window) -> (^Array), window: ^Window, customWindowsToEnterFullScreenForWindowOnScreen: proc(window: ^Window, screen: ^Screen) -> (^Array), window: ^Window, Window: ^Screen, screen: ^Screen, windowStartCustomAnimationToEnterFullScreenWithDuration: proc(window: ^Window, duration: TimeInterval), window: ^Window, Window: TimeInterval, duration: TimeInterval, windowStartCustomAnimationToEnterFullScreenOnScreenWithDuration: proc(window: ^Window, screen: ^Screen, duration: TimeInterval), window: ^Window, Window: ^Screen, screen: ^Screen, Screen: TimeInterval, duration: TimeInterval, windowDidFailToEnterFullScreen: proc(window: ^Window), window: ^Window, customWindowsToExitFullScreenForWindow: proc(window: ^Window) -> (^Array), window: ^Window, windowStartCustomAnimationToExitFullScreenWithDuration: proc(window: ^Window, duration: TimeInterval), window: ^Window, Window: TimeInterval, duration: TimeInterval, windowDidFailToExitFullScreen: proc(window: ^Window), window: ^Window, // Moving Windows windowWillMove: proc(notification: ^Notification), notification: ^Notification, windowDidMove: proc(notification: ^Notification), notification: ^Notification, windowDidChangeScreen: proc(notification: ^Notification), notification: ^Notification, windowDidChangeScreenProfile: proc(notification: ^Notification), notification: ^Notification, windowDidChangeBackingProperties: proc(notification: ^Notification), notification: ^Notification, // Closing Windows windowShouldClose: proc(sender: ^Window) -> (BOOL), sender: ^Window, windowWillClose: proc(notification: ^Notification), notification: ^Notification, // Managing Key Status windowDidBecomeKey: proc(notification: ^Notification), notification: ^Notification, windowDidResignKey: proc(notification: ^Notification), notification: ^Notification, // Managing Main Status windowDidBecomeMain: proc(notification: ^Notification), notification: ^Notification, windowDidResignMain: proc(notification: ^Notification), notification: ^Notification, // Managing Field Editors windowWillReturnFieldEditorToObject: proc(sender: ^Window, client: id) -> (id), sender: ^Window, Window: id, client: id, // Updating Windows windowDidUpdate: proc(notification: ^Notification), notification: ^Notification, // Exposing Windows windowDidExpose: proc(notification: ^Notification), notification: ^Notification, // Managing Occlusion State windowDidChangeOcclusionState: proc(notification: ^Notification), notification: ^Notification, // Dragging Windows windowShouldDragDocumentWithEventFromWithPasteboard: proc(window: ^Window, event: ^Event, dragImageLocation: Point, pasteboard: ^Pasteboard) -> (BOOL), window: ^Window, Window: ^Event, event: ^Event, Event: Point, dragImageLocation: Point, pasteboard: ^Pasteboard, // Getting the Undo Manager windowWillReturnUndoManager: proc(window: ^Window) -> (^UndoManager), window: ^Window, // Managing Titles windowShouldPopUpDocumentPathMenu: proc(window: ^Window, menu: ^Menu) -> (BOOL), window: ^Window, Window: ^Menu, menu: ^Menu, // Managing Restorable State windowWillEncodeRestorableState: proc(window: ^Window, state: ^Coder), window: ^Window, Window: ^Coder, state: ^Coder, windowDidEncodeRestorableState: proc(window: ^Window, state: ^Coder), window: ^Window, Window: ^Coder, state: ^Coder, // Managing Presentation in Version Browsers windowWillResizeForVersionBrowserWithMaxPreferredSizeMaxAllowedSize: proc(window: ^Window, maxPreferredFrameSize: Size, maxAllowedFrameSize: Size) -> (Size), window: ^Window, Window: Size, maxPreferredFrameSize: Size, maxAllowedFrameSize: Size, windowWillEnterVersionBrowser: proc(notification: ^Notification), notification: ^Notification, windowDidEnterVersionBrowser: proc(notification: ^Notification), notification: ^Notification, windowWillExitVersionBrowser: proc(notification: ^Notification), notification: ^Notification, windowDidExitVersionBrowser: proc(notification: ^Notification), notification: ^Notification, }Source

WindowLevel

WindowLevel :: enum Integer { Normal = 0, Floating = 3, Submenu = 3, TornOffMenu = 3, ModalPanel = 8, MainMenu = 24, Status = 25, PopUpMenu = 101, ScreenSaver = 1000, }Source

WindowStyleFlag

WindowStyleFlag :: enum UInteger { Titled = 0, Closable = 1, Miniaturizable = 2, Resizable = 3, TexturedBackground = 8, UnifiedTitleAndToolbar = 12, FullScreen = 14, FullSizeContentView = 15, UtilityWindow = 4, DocModalWindow = 6, NonactivatingPanel = 7, HUDWindow = 13, }Source

kVK

kVK :: enum int { ANSI_A = 0, ANSI_S = 1, ANSI_D = 2, ANSI_F = 3, ANSI_H = 4, ANSI_G = 5, ANSI_Z = 6, ANSI_X = 7, ANSI_C = 8, ANSI_V = 9, ANSI_B = 11, ANSI_Q = 12, ANSI_W = 13, ANSI_E = 14, ANSI_R = 15, ANSI_Y = 16, ANSI_T = 17, ANSI_1 = 18, ANSI_2 = 19, ANSI_3 = 20, ANSI_4 = 21, ANSI_6 = 22, ANSI_5 = 23, ANSI_Equal = 24, ANSI_9 = 25, ANSI_7 = 26, ANSI_Minus = 27, ANSI_8 = 28, ANSI_0 = 29, ANSI_RightBracket = 30, ANSI_O = 31, ANSI_U = 32, ANSI_LeftBracket = 33, ANSI_I = 34, ANSI_P = 35, ANSI_L = 37, ANSI_J = 38, ANSI_Quote = 39, ANSI_K = 40, ANSI_Semicolon = 41, ANSI_Backslash = 42, ANSI_Comma = 43, ANSI_Slash = 44, ANSI_N = 45, ANSI_M = 46, ANSI_Period = 47, ANSI_Grave = 50, ANSI_KeypadDecimal = 65, ANSI_KeypadMultiply = 67, ANSI_KeypadPlus = 69, ANSI_KeypadClear = 71, ANSI_KeypadDivide = 75, ANSI_KeypadEnter = 76, ANSI_KeypadMinus = 78, ANSI_KeypadEquals = 81, ANSI_Keypad0 = 82, ANSI_Keypad1 = 83, ANSI_Keypad2 = 84, ANSI_Keypad3 = 85, ANSI_Keypad4 = 86, ANSI_Keypad5 = 87, ANSI_Keypad6 = 88, ANSI_Keypad7 = 89, ANSI_Keypad8 = 91, ANSI_Keypad9 = 92, Return = 36, Tab = 48, Space = 49, Delete = 51, Escape = 53, Command = 55, Shift = 56, CapsLock = 57, Option = 58, Control = 59, RightCommand = 54, RightShift = 60, RightOption = 61, RightControl = 62, Function = 63, F17 = 64, VolumeUp = 72, VolumeDown = 73, Mute = 74, F18 = 79, F19 = 80, F20 = 90, F5 = 96, F6 = 97, F7 = 98, F3 = 99, F8 = 100, F9 = 101, F11 = 103, F13 = 105, F16 = 106, F14 = 107, F10 = 109, F12 = 111, F15 = 113, Help = 114, Home = 115, PageUp = 116, ForwardDelete = 117, F4 = 118, End = 119, F2 = 120, PageDown = 121, F1 = 122, LeftArrow = 123, RightArrow = 124, DownArrow = 125, UpArrow = 126, JIS_Yen = 93, JIS_Underscore = 94, JIS_KeypadComma = 95, JIS_Eisu = 102, JIS_Kana = 104, ISO_Section = 10, }Source

Defined in Carbon.framework Events.h

Constants

66

Variables

1

Procedures

731

Application_setAppleMenu

Application_setAppleMenu :: proc(self: ^Application, menu: ^Menu)Source

This property is actually not exposed in AppKit's public API. But there is basically no other way to configure the apple menu without using NIB files. Therefore, an Odin binding for this non-public API was created. Note: SDL also calls this non-public method.

Procedure Groups

8

Reference search

Find anything

Documentation preferences

Settings

System theme variants

Used only while Theme is set to System.