cacao/Cargo.toml
Ryan McGrath a167be8383
More features and cleanup.
- Reconfigured subclass creation, as there was a
  subtle-but-big-when-it-hit bug in the prior method where bridge
  callbacks would lose context of the appropriate delegate when calling
  the trait method. The new approach found in `src/foundation/class.rs`
  maps and caches subclass creation, and subclasses are now more
  apparent when debugging from the Objective-C side as we can carry
  their intended name/usage through. Not applied to all yet, but
  eventually.

- Cleaned up a number of linter warnings that had grown over time.

- Delegate traits now require an associated const `NAME`, which is used
  for subclass creation.

- (macOS) Toolbars now supported setting selected items, which is
  typically used in preferences screens.

- (macOS) Windows now support setting the toolbar display style. On Big
  Sur, this works as intended - it's a noop on older OS's that don't
  support it.

- Support for system icons for macOS preferences windows.

Still a bit to go to flesh this all out, but it's getting there - at
which point then iOS supoort can be folded in easier.
2021-02-07 20:25:56 -08:00

37 lines
923 B
TOML

[package]
name = "cacao"
description = "Rust bindings for AppKit (macOS) and UIKit (iOS/tvOS). Experimental, but working!"
version = "0.1.0"
edition = "2018"
authors = ["Ryan McGrath <ryan@rymc.io>"]
build = "build.rs"
repository = "https://github.com/ryanmcgrath/cacao"
categories = ["gui", "os::macos-apis", "os::ios-apis"]
keywords = ["gui", "macos", "ios", "appkit", "uikit"]
[package.metadata.docs.rs]
default-target = "x86_64-apple-darwin"
[dependencies]
block = "0.1.6"
core-foundation = { version = "0.9", features = ["with-chrono", "mac_os_10_8_features"] }
core-graphics = "0.22"
dispatch = "0.2.0"
lazy_static = "1.4.0"
libc = "0.2"
objc = "0.2.7"
objc_id = "0.1.1"
os_info = "3.0.1"
uuid = { version = "0.8", features = ["v4"], optional = true }
url = "2.1.1"
[features]
default = ["macos"]
cloudkit = []
ios = []
macos = []
quicklook = []
user-notifications = ["uuid"]
webview = []
webview-downloading = []