slint_build

Struct CompilerConfiguration

Source
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

Source

pub fn new() -> Self

Creates a new default configuration.

Source

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.

Source

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";
Source

pub fn with_style(self, style: String) -> Self

Create a new configuration that selects the style to be used for widgets.

Source

pub fn embed_resources(self, kind: EmbedResourcesKind) -> Self

Selects how the resources such as images and font are processed.

See EmbedResourcesKind

Source

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.

Source

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

Trait Implementations§

Source§

impl Default for CompilerConfiguration

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<R, P> ReadPrimitive<R> for P
where R: Read + ReadEndian<P>, P: Default,

Source§

fn read_from_little_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_little_endian().
Source§

fn read_from_big_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_big_endian().
Source§

fn read_from_native_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_native_endian().
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSendSync for T