pub struct CompilerConfiguration { /* private fields */ }Expand description
The structure for configuring aspects of the compilation of .slint markup files to Rust.
Implementations§
Source§impl CompilerConfiguration
impl CompilerConfiguration
Sourcepub fn with_include_paths(self, include_paths: Vec<PathBuf>) -> Self
pub fn with_include_paths(self, include_paths: Vec<PathBuf>) -> Self
Create a new configuration that includes sets the include paths used for looking up
.slint imports to the specified vector of paths.
Sourcepub fn with_library_paths(self, library_paths: HashMap<String, PathBuf>) -> Self
pub fn with_library_paths(self, library_paths: HashMap<String, PathBuf>) -> Self
Create a new configuration that sets the library paths used for looking up
@library imports to the specified map of paths.
Each library path can either be a path to a .slint file or a directory.
If it’s a file, the library is imported by its name prefixed by @ (e.g.
@example). The specified file is the only entry-point for the library
and other files from the library won’t be accessible from the outside.
If it’s a directory, a specific file in that directory must be specified
when importing the library (e.g. @example/widgets.slint). This allows
exposing multiple entry-points for a single library.
Compile ui/main.slint and specify an “example” library path:
let manifest_dir = std::path::PathBuf::from(std::env::var_os("CARGO_MANIFEST_DIR").unwrap());
let library_paths = std::collections::HashMap::from([(
"example".to_string(),
manifest_dir.join("third_party/example/ui/lib.slint"),
)]);
let config = slint_build::CompilerConfiguration::new().with_library_paths(library_paths);
slint_build::compile_with_config("ui/main.slint", config).unwrap();Import the “example” library in ui/main.slint:
import { Example } from "@example";Sourcepub fn with_style(self, style: String) -> Self
pub fn with_style(self, style: String) -> Self
Create a new configuration that selects the style to be used for widgets.
Sourcepub fn embed_resources(self, kind: EmbedResourcesKind) -> Self
pub fn embed_resources(self, kind: EmbedResourcesKind) -> Self
Selects how the resources such as images and font are processed.
Sourcepub fn with_scale_factor(self, factor: f32) -> Self
pub fn with_scale_factor(self, factor: f32) -> Self
Sets the scale factor to be applied to all px to phx conversions
as constant value. This is only intended for MCU environments. Use
in combination with Self::embed_resources to pre-scale images and glyphs
accordingly.
Sourcepub fn with_bundled_translations(
self,
path: impl Into<PathBuf>,
) -> CompilerConfiguration
pub fn with_bundled_translations( self, path: impl Into<PathBuf>, ) -> CompilerConfiguration
Configures the compiler to bundle translations when compiling Slint code.
It expects the path to be the root directory of the translation files.
If given a relative path, it will be resolved relative to $CARGO_MANIFEST_DIR.
The translation files should be in the gettext .po format and follow this pattern:
<path>/<lang>/LC_MESSAGES/<crate>.po
Sourcepub fn with_sdf_fonts(self, enable: bool) -> Self
pub fn with_sdf_fonts(self, enable: bool) -> Self
Configures the compiler to use Signed Distance Field (SDF) encoding for fonts.
This flag only takes effect when embed_resources is set to EmbedResourcesKind::EmbedForSoftwareRenderer,
and requires the sdf-fonts cargo feature to be enabled.
SDF reduces the binary size by using an alternative representation for fonts, trading off some rendering quality for a smaller binary footprint. Rendering is slower and may result in slightly inferior visual output. Use this on systems with limited flash memory.
Trait Implementations§
Source§impl Clone for CompilerConfiguration
impl Clone for CompilerConfiguration
Source§fn clone(&self) -> CompilerConfiguration
fn clone(&self) -> CompilerConfiguration
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for CompilerConfiguration
impl !RefUnwindSafe for CompilerConfiguration
impl !Send for CompilerConfiguration
impl !Sync for CompilerConfiguration
impl Unpin for CompilerConfiguration
impl !UnwindSafe for CompilerConfiguration
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.