Skip to main content

Mutation

Enum Mutation 

Source
pub enum Mutation<'a> {
Show 16 variants Create { node_id: u32, widget: WidgetKind, }, SetProp { node_id: u32, property: PropertyKind, value: PropertyValue<'a>, }, SetModifier { node_id: u32, index: u16, modifier: Modifier, }, Insert { parent_id: u32, node_id: u32, index: u32, }, Move { parent_id: u32, node_id: u32, index: u32, }, Remove { node_id: u32, }, SetText { node_id: u32, text: &'a str, selection: Option<Selection>, }, AppendText { node_id: u32, text: &'a str, }, SetTheme(Theme), SetWindow(Window), RegisterAsset { asset_id: u32, kind: AssetKind, bytes: &'a [u8], }, ReleaseAsset { asset_id: u32, }, ShowMessage { handler_id: u64, text: &'a str, action: &'a str, duration: MessageDuration, }, PostNotification { key: &'a str, title: &'a str, body: &'a str, channel: &'a str, action_1: &'a str, action_2: &'a str, importance: NotificationImportance, presentation: NotificationPresentation, }, WithdrawNotification { key: &'a str, }, RequestNotificationPermission,
}

Variants§

§

Create

Fields

§node_id: u32
§widget: WidgetKind
§

SetProp

Fields

§node_id: u32
§property: PropertyKind
§value: PropertyValue<'a>
§

SetModifier

Fields

§node_id: u32
§index: u16
§modifier: Modifier
§

Insert

Fields

§parent_id: u32
§node_id: u32
§index: u32
§

Move

Fields

§parent_id: u32
§node_id: u32
§index: u32
§

Remove

Fields

§node_id: u32
§

SetText

Fields

§node_id: u32
§text: &'a str
§selection: Option<Selection>
§

AppendText

Appends the streamed tail to a Text node instead of resending the whole string.

Fields

§node_id: u32
§text: &'a str
§

SetTheme(Theme)

The root theme. Sent once as the first record of the initial batch.

§

SetWindow(Window)

What the application asked of its own window.

Written once per rebuild beside the theme, and read by the Renderer before it stands the window up: compose_rust_host_init answers with the first batch, so the setting is in hand before there is a window to apply it to. Platforms where the window is not ours ignore it, which is not an error but an absence of anywhere to put it.

§

RegisterAsset

Hands the Renderer the bytes of one asset. The Renderer copies them into its own cache inside this call, because the batch buffer is only valid for the call that carries it and an image has to outlive the frame that draws it.

Fields

§asset_id: u32
§bytes: &'a [u8]
§

ReleaseAsset

Drops an asset from the Renderer’s cache. The Host owns the lifetime.

Fields

§asset_id: u32
§

ShowMessage

Says a sentence to the user once. It is not a node, because the Host would then have to hold “showing until four seconds from now” and run a render to take it away again. How long it stays, where it sits and what happens when a second one arrives while the first is up are all the Renderer’s.

handler_id is what the action label reports when it is pressed, or 0 when the message has no action, in which case action is empty too.

Fields

§handler_id: u64
§text: &'a str
§action: &'a str
§

PostNotification

Asks the platform to show one notification outside the window.

Not a node, for the same reason a message is not: it outlives the component that posted it, and when it goes away depends on what the user does in the notification centre, which the Host never hears about. Posting again under the same key replaces it. An empty key asks the Renderer to name it, and such a notification can be neither replaced nor withdrawn. An empty action label means no button.

Fields

§key: &'a str
§title: &'a str
§body: &'a str
§channel: &'a str
§action_1: &'a str
§action_2: &'a str
§

WithdrawNotification

Takes back the notification posted under key, if it is still showing.

Fields

§key: &'a str
§

RequestNotificationPermission

Asks the platform for permission to show notifications. It carries nothing: the answer comes back as a permission event.

Trait Implementations§

Source§

impl<'a> Clone for Mutation<'a>

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<'a> Debug for Mutation<'a>

Source§

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

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

impl<'a> PartialEq for Mutation<'a>

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl<'a> StructuralPartialEq for Mutation<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for Mutation<'a>

§

impl<'a> RefUnwindSafe for Mutation<'a>

§

impl<'a> Send for Mutation<'a>

§

impl<'a> Sync for Mutation<'a>

§

impl<'a> Unpin for Mutation<'a>

§

impl<'a> UnsafeUnpin for Mutation<'a>

§

impl<'a> UnwindSafe for Mutation<'a>

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.