* Use objc2
* Replace `objc_id`
* Remove sel_impl import
* Fix `add_method` calls
* Fix accessing raw FFI functions
* Fix Encode impl
* Fix message sends arguments that do not implement `Encode`
* Use immutable reference in a few places where now necessary
See https://github.com/madsmtm/objc2/pull/150 for a bit of background
* Add a few Send + Sync bounds where examples require it
This is something we'll need to look into properly
* Use `&'static Class` instead of `*const Class`
Safer and more ergonomic. Also required for `msg_send_id!` macro
* Use msg_send_id! and rc::Id
* Update objc2 to v0.3.0-beta.2
* Replace `BOOL` with `Bool` when declaring delegates
This makes cacao compile on Aarch64 again
* Remove a few impossible to use correctly `into_inner` functions
These consumed `self`, and hence also dropped `Id` variable that was responsible for keeping the returned pointer alive
* Remove a few impossible to use correctly `From` implementations
* Quickly fix UB with using BACKGROUND_COLOR ivar
* Fix double-freeing of windows
* Fix double freeing of strings
* Fix a few remaining double-frees
- Added basic animation support, via NSAnimationContext proxy objects.
These can be used to animate layout constraints and alpha values,
currently.
- Fixed a bug in ListView where the underlying NSTableView would not
redraw the full correct virtual height in some conditions.
- Added safe layout guide support to some views.
- Added a new trait to buffer ObjC object access for view and control
types. This is the supertrait of the Layout and Control traits.
- Added a Control trait, which implements various NSControl pieces.
- Added a Select control, which is a Select-ish HTML dropdown lookalike.
- Added NSURL support, which is one of the few types to expose here.
- Filesystem and pasteboard types now work with NSURLs. Users who need
pathbufs can use the provided conversion method on NSURL.
- Fixed a bug where some Window and ViewController types could wind up
in a double-init scenario.
- Changes internal target_os flags to be feature flags; macOS is now
appkit, and iOS/tvOS are now uikit. This enables platforms that are
not Apple-specific platforms that use frameworks to be compiled for.
- Updates the examples to handle closing/quitting better.
- Basic support for `AttributedString` type.
- `Debug` implementations across the board to ease debugging issues.
- Methods that take `Color` and `Font` types now accept an `AsRef` to
make implementing less of a headache.
- Cleanup of the `utils` module.
- Adds support for NSSplitViewController.
- Reworks NSMenu support to be cleaner with enum variants.
- Reworks the Foundation underpinnings to be a bit safer and more clear
in how they're used and passed around.
- Changes to docs structure for push towards v0.1.
- Examples updated to account for changes.
- Filesystem Save/Open panels can return PathBuf's instead of Url's,
which feels more native to Rust.
- Support for drawing into an Image context with Core Graphics.
- ListView swipe-to-reveal action support.
- Experimental ListView cell reuse support.
- Updates to QuickLook to also support PathBuf's.
- Added support for basic Cursor management.
- Added support for NSWindow cancelOperation: callbacks. It's not...
perfect, but it works as a discrete hook.
- Added support for NSProgressIndicator.
- Properly forward Error types from QuickLook generation calls, and
future-proof the ThumbnailQuality enum.
- Add support for configuring Label line break mode.