Skip to main content

Host

Struct Host 

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

Implementations§

Source§

impl Host

Source

pub fn new(app: fn() -> Element) -> Self

Source

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

The theme the application chose. Choosing nothing follows the host platform, with Material 3 where the platform has no look of its own.

Source

pub fn rebuild(&mut self) -> Result<&[u8], ProtocolError>

Source

pub fn dispatch_event( &mut self, bytes: &[u8], ) -> Result<(&[u8], i64), ProtocolError>

Source

pub fn arena(&self) -> (*const u8, usize)

The batch arena, reported to the Renderer on every boundary call.

Source

pub fn resync(&mut self) -> Result<(&[u8], i64), ProtocolError>

Answers with the whole tree, for a Renderer that no longer has a node table.

The Host keeps no shadow of what it has already sent, so the only way to produce a full-tree batch is to build the application again, and that resets component state. A Renderer that keeps its node table across a configuration change never needs this call, which is what the Android host does.

Source

pub fn dispatch( &mut self, event: HostEvent<'_>, ) -> Result<(&[u8], i64), ProtocolError>

Source

pub fn render_frame( &mut self, _frame_time_nanos: u64, ) -> Result<&[u8], ProtocolError>

Source

pub fn append_text(&mut self, node_id: u32, tail: &str)

Queues a streamed tail for the next frame. Tokens arriving inside one frame are merged into a single AppendText record, so a token never costs a batch of its own.

Source

pub fn register_asset( &mut self, asset_id: u32, kind: AssetKind, bytes: &[u8], ) -> Result<&[u8], ProtocolError>

Registers one asset and returns the batch that carries it.

The bytes are copied once here and once more by the Renderer into its cache. After that the id is all that travels, so drawing the same image every frame costs a fixed-layout property record and nothing else.

Source

pub fn register_icon( &mut self, asset_id: u32, role: IconRole, ) -> Result<&[u8], ProtocolError>

Registers an icon by the meaning it carries. The Renderer holds the artwork for every design system, so what crosses is the role and not a picture or a name.

Source

pub fn release_asset(&mut self, asset_id: u32) -> Result<&[u8], ProtocolError>

Drops the asset from the Renderer’s cache. Using the id afterwards is a reported protocol error.

Source

pub fn set_text( &mut self, node_id: u32, text: &str, selection: Option<Selection>, ) -> Result<&[u8], ProtocolError>

Source

pub fn handler_target(&self, handler_id: u64) -> Option<ElementId>

Auto Trait Implementations§

§

impl !RefUnwindSafe for Host

§

impl !Send for Host

§

impl !Sync for Host

§

impl !UnwindSafe for Host

§

impl Freeze for Host

§

impl Unpin for Host

§

impl UnsafeUnpin for Host

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> InitializeFromFunction<T> for T

Source§

fn initialize_from_function(f: fn() -> T) -> T

Create an instance of this type from an initialization function
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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<Ret> SpawnIfAsync<(), Ret> for Ret

Source§

fn spawn(self) -> Ret

Spawn the value into the dioxus runtime if it is an async block
Source§

impl<T, O> SuperFrom<T> for O
where O: From<T>,

Source§

fn super_from(input: T) -> O

Convert from a type to another type.
Source§

impl<T, O, M> SuperInto<O, M> for T
where O: SuperFrom<T, M>,

Source§

fn super_into(self) -> O

Convert from a type to another type.
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more