Skip to main content

LaunchBuilder

Struct LaunchBuilder 

Source
pub struct LaunchBuilder { /* private fields */ }

Implementations§

Source§

impl LaunchBuilder

Source

pub fn new() -> Self

Source

pub fn with_mode(self, mode: LoopMode) -> Self

Source

pub fn with_theme(self, theme: Theme) -> Self

Theme::unified for one design system everywhere, Theme::adaptive to follow the host platform. Not calling this follows the host platform, falling back to Material 3.

Source

pub fn with_window(self, window: Window) -> Self

What the application asks of its own window: its size, and whether it wears the platform’s title bar or has content run into it.

Not calling this gets a modern window that the Renderer sizes. The window belongs to the Renderer and most of what it looks like is the design system’s, so what can be said here is short on purpose: nothing names a colour, a corner, or where the window buttons go.

Source

pub fn windows(self) -> Self

Runs several windows in one process: the root’s children are Window nodes, each a platform window, and they share one composition and one set of states. Without this the root’s content fills the one window.

The window that closes last ends the application, except on macOS where the application stays; LaunchBuilder::on_last_window_closed chooses.

Source

pub fn on_last_window_closed(self, policy: LastWindowClosed) -> Self

What happens when the last Window node is removed. Mobile platforms ignore it: the system decides how long the process lives.

Source

pub fn identifier(self, identifier: impl Into<String>) -> Self

The application’s identifier, which names its storage (compose_rust::storage).

Use the same value as [bundle] identifier in the application’s Dioxus.toml, such as "dev.darkpyonix.composerust.samples.todo". It is not read from anywhere else: a bundle, a package name or an executable name would give the same program a different storage depending on how it was started, and the web has none of them.

It is 1 to 255 bytes of ASCII letters, digits, . and -, because it names a directory and a browser database as it is. One that is not stops the launch before anything starts, with a sentence that says what is wrong and a failing exit status. An application that never uses storage does not need one.

Source

pub fn launch_runtime( self, runtime: impl Fn() -> Box<dyn Runtime> + Send + Sync + 'static, )

Runs the application whose tree runtime builds. Does not return while it is running, and ends the process with a failing status if the renderer loop could not run at all.

runtime is called on the Renderer’s UI thread each time a Host is made: once at start, and again whenever the Renderer asks for the whole tree back.

Exiting rather than returning is the point. Launching is the last statement of main in every application that uses this crate, so returning from it means main returns, which means the process exits 0. A window that never opened would then be indistinguishable from a program that did its work and stopped.

Source

pub fn try_launch_runtime( self, runtime: impl Fn() -> Box<dyn Runtime> + Send + Sync + 'static, ) -> i32

LaunchBuilder::launch_runtime without the exit: the status the renderer loop ended with, handed back for a caller that has its own idea of what to do with it.

Source§

impl LaunchBuilder

Source

pub fn launch(self, content: fn())

Runs a composable as the application. Does not return while it is running, and ends the process with a failing status if the renderer loop could not run at all.

ⓘ
#[Composable]
fn app() {
    Text("Hello");
}

fn main() {
    compose_rust::LaunchBuilder::new().launch(app);
}
Source

pub fn try_launch(self, content: fn()) -> i32

crate::LaunchBuilder::launch without the exit: the status the renderer loop ended with.

Source

pub fn application(self, content: fn())

The same as launch, under Compose Desktop’s name for it.

Trait Implementations§

Source§

impl Clone for LaunchBuilder

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for LaunchBuilder

Source§

impl Debug for LaunchBuilder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for LaunchBuilder

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.