This has been sitting for a bit, but should probably get merged as it's blocking some other PRs.
Notable changes:
Adds basic animation support for views via NSAnimationContext wrapper types. Can be used to animate alpha and layout changes.
Fixes a bug in NSTableView-based lists where they would not redraw their heights in certain contexts.
Adds safe layout guide support to some views.
Moves many ObjC access points to common trait implementations, which helps reduce quite a bit of boilerplate.
Adds a Control trait, per the last point, that helps with handling NSControl types.
Migrated away from automatically converting NSURL types to PathBuf & co; users can do this on their own but hiding the machinery away was proving cumbersome.
Adds a Select dropdown style control.
Fixes a bug where NSWindow with a ViewController could double-init.
AutoLayout is defaulted behind a feature flag; environments that don't support AutoLayout (e.g, RavynOS (at the moment, I believe)) could opt to disable this and use Frame-based layouts.
target_os dropped in favor of feature flags (e.g, macos), so that random targets who might be interested in can control behavior in a custom way.
Fixed a bug where an NSEvent key character could get released incorrectly.
Some of these bugs regarding unsafe behavior will hopefully be easier to avoid with objc2, but I want to merge and release this for now so that other things can move on.
This has been sitting for a bit, but should probably get merged as it's blocking some other PRs.
Notable changes:
NSAnimationContext
wrapper types. Can be used to animate alpha and layout changes.Control
trait, per the last point, that helps with handling NSControl types.NSURL
types toPathBuf
& co; users can do this on their own but hiding the machinery away was proving cumbersome.Select
dropdown style control.NSWindow
with aViewController
could double-init.target_os
dropped in favor of feature flags (e.g,macos
), so that random targets who might be interested in can control behavior in a custom way.NSEvent
key character could get released incorrectly.Some of these bugs regarding unsafe behavior will hopefully be easier to avoid with
objc2
, but I want to merge and release this for now so that other things can move on.Any issues, feel free to open. :)