# Copyright © SixtyFPS GmbH # SPDX-License-Identifier: (GPL-3.0-only OR LicenseRef-SixtyFPS-commercial) [package] name = "sixtyfps-corelib" version = "0.1.6" authors = ["SixtyFPS "] edition = "2018" license = "(GPL-3.0-only OR LicenseRef-SixtyFPS-commercial)" description = "Internal SixtyFPS runtime library." repository = "https://github.com/sixtyfpsui/sixtyfps" homepage = "https://sixtyfps.io" categories = ["gui", "development-tools"] keywords = ["gui", "ui", "toolkit", "graphics", "design"] [lib] path = "lib.rs" [features] # Allow the viewer to query at runtime information about item types rtti = [] # Expose C ABI ffi = [] # Use the standard library std = ["euclid/std", "once_cell/std", "scoped-tls-hkt", "lyon_path", "lyon_algorithms", "lyon_geom", "instant"] default = ["std"] # Unsafe feature meaning that there is only one core running and all thread_local are static. # You can only enable this feature if you are sure that any API of this crate is only called # from a single core, and not in a interrupt or signal handler. unsafe_single_core = [] libm = ["num-traits/libm", "euclid/libm"] [dependencies] const-field-offset = { version = "0.1", path = "../../helper_crates/const-field-offset" } vtable = { version="0.1.1", path = "../../helper_crates/vtable" } sixtyfps-corelib-macros = { version = "=0.1.6", path = "../corelib_macros" } lyon_path = { version = "0.17.3" , optional = true } lyon_algorithms = { version = "0.17.1" , optional = true } lyon_geom = { version = "0.17.0", optional = true } euclid = { version = "0.22.1", default-features = false } once_cell = { version = "1.5", default-features = false } instant = { version = "0.1", features = [ "now" ], optional = true } derive_more = "0.99.5" scoped-tls-hkt = { version = "0.1", optional = true } static_assertions = "1.1" strum = { version = "0.23.0", default-features = false, features = ["derive"] } slab = { version = "0.4.3", default-features = false } pin-weak = { version = "1.1", default-features = false } auto_enums = "0.7" scopeguard = { version = "1.1.0", default-features = false } cfg-if = "1" unicode-segmentation = "1.8.0" # Note: the rgb version is extracted in ci.yaml for rustdoc builds rgb = "0.8.27" pin-project = "1" atomic-polyfill = { version = "0.1.5" } num-traits = { version = "0.2", default-features = false } sixtyfps-common = { version = "=0.1.6", path = "../common" } defmt = { version = "0.3.0", optional = true } [target.'cfg(target_arch = "wasm32")'.dependencies] instant = { version = "0.1", features = [ "wasm-bindgen", "now" ] } web_sys = { version = "0.3", package = "web-sys", features=["console", "CanvasRenderingContext2d", "TextMetrics", "HtmlSpanElement"] } wasm-bindgen = { version = "0.2" } [dev-dependencies] pin-weak = "1" image = { version = "0.23.14", default-features = false, features = [ "png" ] } tiny-skia = "0.6.1"