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.
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§
Auto 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> 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 more§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()
.§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read more§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).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.