slint/api/cpp/Cargo.toml
Olivier Goffart 5c69db596a
Split the software renderer in its own crate: i-slint-renderer-software (#10229)
The goal is to be able to enable feature conditionally with `i-slint-renderer-software/?...`

NOTE: this change the implementation of
`SceneBuilder::platform_text_fill_brush/platform_text_stroke_brush`
It was warning about `non_exhaustive_omitted_patterns`.
And it changed it to always return the brush color so gradient gets
converted to plain color instead of None.
This is the behavior with the non-parley renderer
2025-12-09 14:17:05 +01:00

77 lines
3.3 KiB
TOML

# Copyright © SixtyFPS GmbH <info@slint.dev>
# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
[package]
name = "slint-cpp"
description = "Slint C++ integration"
authors.workspace = true
documentation.workspace = true
edition = "2024"
homepage.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
version.workspace = true
build = "build.rs"
publish = false
# prefix used to convey path to generated includes to the C++ test driver
links = "slint_cpp"
[lib]
path = "lib.rs"
crate-type = ["lib", "cdylib", "staticlib"]
name = "slint_cpp"
# Note, these features need to be kept in sync (along with their defaults) in
# the C++ crate's CMakeLists.txt as well as cbindgen.rs
[features]
interpreter = ["slint-interpreter", "std"]
live-preview = ["interpreter", "slint-interpreter/internal-live-preview"]
# Enable some function used by the integration tests
testing = ["dep:i-slint-backend-testing"]
backend-qt = ["i-slint-backend-selector/backend-qt", "std"]
backend-winit = ["i-slint-backend-selector/backend-winit", "std"]
backend-winit-x11 = ["i-slint-backend-selector/backend-winit-x11", "std"]
backend-winit-wayland = ["i-slint-backend-selector/backend-winit-wayland", "std"]
backend-linuxkms = ["i-slint-backend-selector/backend-linuxkms", "std"]
backend-linuxkms-noseat = ["i-slint-backend-selector/backend-linuxkms-noseat", "std"]
renderer-femtovg = ["i-slint-backend-selector/renderer-femtovg"]
renderer-femtovg-wgpu = ["i-slint-backend-selector/renderer-femtovg-wgpu"]
renderer-skia = ["i-slint-backend-selector/renderer-skia", "i-slint-renderer-skia", "raw-window-handle"]
renderer-skia-opengl = ["i-slint-backend-selector/renderer-skia-opengl", "renderer-skia"]
renderer-skia-vulkan = ["i-slint-backend-selector/renderer-skia-vulkan", "renderer-skia"]
renderer-software = ["i-slint-backend-selector/renderer-software", "dep:i-slint-renderer-software"]
gettext = ["i-slint-core/gettext-rs"]
accessibility = ["i-slint-backend-selector/accessibility"]
system-testing = ["i-slint-backend-selector/system-testing"]
std = [
"i-slint-core/default",
"i-slint-core/image-default-formats",
"i-slint-backend-selector",
"i-slint-renderer-software?/std",
]
freestanding = ["i-slint-core/libm", "i-slint-core/unsafe-single-threaded"]
experimental = ["i-slint-renderer-software?/experimental"]
default = ["std", "backend-winit", "renderer-femtovg", "backend-qt"]
[dependencies]
i-slint-backend-selector = { workspace = true, optional = true }
i-slint-backend-testing = { workspace = true, optional = true, features = ["ffi"] }
i-slint-renderer-skia = { workspace = true, features = ["default", "x11", "wayland"], optional = true }
i-slint-renderer-software = { workspace = true, optional = true }
i-slint-core = { workspace = true, features = ["ffi"] }
slint-interpreter = { workspace = true, features = ["ffi", "compat-1-2"], optional = true }
raw-window-handle = { version = "0.6", optional = true }
esp-backtrace = { version = "0.17.0", features = ["panic-handler", "println"], optional = true }
esp-println = { version = "0.15.0", default-features = false, features = ["auto", "log-04"], optional = true }
unicode-segmentation = { workspace = true }
[build-dependencies]
anyhow = "1.0"
cbindgen = { workspace = true }
i-slint-common = { workspace = true, features = ["default"] }
proc-macro2 = "1.0.11"