70 Commits

Author SHA1 Message Date
Jeroen van Rijn
27667ce36b iff -> if and only if (⟺) 2026-03-13 11:54:15 +01:00
maximusdionyssopoulos
ac6cabd5e3 fix NSTimer scheduledTimerWithTimeInterval:repeats:block: procedure 2026-03-09 21:17:20 +11:00
Bruno
e65dcd64b8 add bindings to allow custom cursors 2026-02-27 09:54:26 -03:00
Jeroen van Rijn
76c866686c Remove core:mem import from core:sys/darwin/Foundation. 2026-02-12 13:56:06 +01:00
Tohei Ichikawa
85e2e3244b Create new core:sys/darwin/CoreGraphics package (#6147)
* Add Darwin mouse cursor-related bindings

Create CoreGraphics package in the process

* Remove unneeded semicolons

* Define some CG types in CoreFoundation instead

This matches where Darwin's C header files defines these types
2026-01-23 17:45:24 +01:00
Jacob Evelyn
11afefeedc Add NSWindow layout information method bindings to darwin/Foundation (#6040)
This commit adds bindings for `NSWindow`'s
["Getting Layout Information"](https://developer.apple.com/documentation/appkit/nswindow?language=objc#Getting-Layout-Information)
methods to the `core:sys/darwin/Foundation` package.

Co-authored-by: Jacob Evelyn <j@cob.land>
2026-01-13 21:13:59 +01:00
Jacob Evelyn
a4f958b738 Fix darwin/Foundation/NSScreen type property bindings (#6038)
This commit updates the `darwin/Foundation` package's `NSScreen` bindings
to treat Objective-C "type properties" as class methods rather than
instance methods.

As a result, we can now access these properties like this:

```odin
import NS "core:sys/darwin/Foundation"

main :: proc() {
  NS.Screen.mainScreen()
}
```

instead of this:

```odin
import NS "core:sys/darwin/Foundation"

main :: proc() {
  (^NS.Screen)(nil).mainScreen()
}
```

This commit also adds a binding for `NSScreen`'s `screensHaveSeparateSpaces`
type property, which was previously missing from the `darwin/Foundation`
package.

Co-authored-by: Jacob Evelyn <j@cob.land>
2026-01-13 21:13:18 +01:00
Lucas Perlind
b97e1fff9e More bindings for darwin 2025-12-19 13:34:45 +11:00
Tohei Ichikawa
67cc04b1da Added more NSApplication and NSWindow bindings 2025-12-05 17:20:15 -05:00
Tohei Ichikawa
b2a42ac14f Add NSWindow coordinate space conversion bindings 2025-11-18 22:38:25 -05:00
Tohei Ichikawa
8d9806817d Fix typo in NS.String_initWithCString 2025-11-12 09:29:28 -05:00
Glenn
2951e51487 Add comma to last enums to fix build check 2025-11-03 23:16:25 +00:00
Glenn
4485a45866 Add Window_center 2025-11-03 23:05:26 +00:00
Glenn
65ee1339b9 Add View alloc 2025-11-03 23:03:33 +00:00
Glenn
332653ca24 Add additional window bindings 2025-11-03 18:06:43 +00:00
Glenn
916e8810cc Add orderFront and orderOut 2025-11-03 18:06:15 +00:00
Glenn
8b3d74f797 Add getter for the WindowDelegate from the Window 2025-11-03 17:54:42 +00:00
Glenn
406eb9c7f5 Add WindowCollectionBehaviour, WindowLevel, WindowTabbingMode 2025-11-03 17:28:51 +00:00
Glenn
4f939cadc3 Add RunningApplication_finishedLaunching 2025-11-03 14:29:58 +00:00
Glenn
9f78c1e7be Add Application_postEvent
https://developer.apple.com/documentation/appkit/nsapplication/postevent(_:atstart:)?language=objc
2025-11-03 14:29:58 +00:00
Glenn
b4d4cd47f5 Add Event_otherEventWithType
https://developer.apple.com/documentation/appkit/nsevent/otherevent(with:location:modifierflags:timestamp:windownumber:context:subtype:data1:data2:)
2025-11-03 14:29:58 +00:00
Glenn
8c6120f414 Add Application_stop
https://developer.apple.com/documentation/appkit/nsapplication/stop(_:)?language=objc
2025-11-03 14:29:58 +00:00
Tohei Ichikawa
a454633774 Fix addObserver methods and add support for new Objc_Block 2025-09-11 09:50:31 -04:00
Stanislav Ch. Nikolov
ed389c188c Fixed and added obj-c methods for NSWindow 2025-08-28 12:39:15 +03:00
Steve Waddicor
9dfce3da86 Convert leading spaces to tabs 2025-08-01 23:06:04 +01:00
Steve Waddicor
9c5e577792 Additional obj-c methods for darwin Foundation
Added support for NSBitmapImageRep class.
Added ability to set contents to a CALayer.
I needed these to support a port of Handmade Hero, but they are of general use.
2025-07-29 21:01:22 +01:00
Harold Brenes
219b0fe535 Replace system:System.framework imports with system:System
This makes the linker work for both macOS and iOS targets
2025-07-13 15:45:21 -04:00
Jeroen van Rijn
4b36306674 Deprecate old @(deprecated) things. 2025-06-06 10:42:34 +02:00
Zach Clark
78d83288a0 Add missing SEL _cmd argument to objc class_addMethod IMPs
When trying to grab the window pointer off the notification in a
windowDidBecomeKey implementation, I kept getting segfaults calling
notification->object(). The second argument of these needs to be a SEL.

https://developer.apple.com/documentation/objectivec/class_addmethod(_:_:_:_:)?language=objc#Discussion

I imagine existing code is getting by by setting the window information
in the delegate's context userdata, which works fine when you only have
one window as you can avoid needing to call notification->object(),
until you want one delegate assigned to two windows, hard to work around.
2025-05-27 17:04:19 -07:00
Jeroen van Rijn
d6210ae76f Fix -vet complaints in core:sys/darwin/Foundation 2025-05-17 16:36:10 +02:00
gingerBill
5454e120fe Add NSMenuItem.odin 2025-05-17 13:27:54 +01:00
gingerBill
d77124feae Add Objective-C helper for creating subclasses 2025-05-17 11:36:24 +01:00
Harold Brenes
040d8b1d48 Fix 2 selectors in NSDictionary 2025-04-17 15:22:10 -04:00
Keenan Woodall
a709876788 SavePanel_URL returns ^URL instead of ^Array 2025-02-23 19:00:27 -06:00
gingerBill
dc7cd21986 Merge pull request #4782 from Daxode/nsstring-appendingstring
Add stringByAppendingString to NSString
2025-02-02 07:01:16 +00:00
daniel.andersen
c8a537aad9 Add stringByAppendingString to NSString 2025-02-02 03:26:07 +01:00
duffn
af63db5075 Fix tab indents in NSSavePanel 2025-01-29 16:06:19 -07:00
gingerBill
0e27acd755 Update NSSavelPanel 2025-01-28 11:38:06 +00:00
Samuel Elgozi
0f12618642 fix incorrect use of Bool 2025-01-18 21:08:54 +02:00
Samuel Elgozi
3fb766f98d updated to meet formatting style 2025-01-17 13:43:34 +02:00
Samuel Elgozi
19d6c01f0f Added Foundation bindings 2025-01-17 10:42:32 +02:00
Laytan Laats
ad80aa6d28 sys/info & odin report: rework macos version retrieval 2024-11-26 22:28:21 +01:00
Sebastian Pahnke
395fa7fdb8 Add NSApplication bindings for mainWindow and keyWindow 2024-11-13 14:42:31 +01:00
Laytan Laats
201a7b90bb fix EventMaskAny definition 2024-09-12 00:11:27 +02:00
Laytan Laats
ddf5ca7adf remove deprecation, technically deprecated but widely used 2024-09-05 01:08:09 +02:00
Vitalii Kravchenko
c86bbc61bc More Objective-C Runtime bindings. 2024-09-03 11:41:23 +01:00
Vitalii Kravchenko
14169ae5b4 A couple of foundation binding. Vet tabs. 2024-08-21 00:09:09 +01:00
Vitalii Kravchenko
004036dc59 More Foundation bindings. 2024-08-16 00:00:29 +01:00
Laytan Laats
6fe938b946 darwin: add setAllowedFileTypes binding for open panels 2024-08-06 21:42:33 +02:00
Laytan Laats
108b8feb35 Add vendor:wgpu 2024-06-12 17:22:02 +02:00