pub struct Renderer<B: Backend, Theme> { /* private fields */ }
Expand description

A backend-agnostic renderer that supports all the built-in widgets.

Implementations§

source§

impl<B: Backend, T> Renderer<B, T>

source

pub fn new(backend: B) -> Self

Creates a new Renderer from the given Backend.

source

pub fn backend(&self) -> &B

Returns the Backend of the Renderer.

source

pub fn draw_primitive(&mut self, primitive: Primitive)

Enqueues the given Primitive in the Renderer for drawing.

source

pub fn with_primitives(&mut self, f: impl FnOnce(&mut B, &[Primitive]))

Runs the given closure with the Backend and the recorded primitives of the Renderer.

Trait Implementations§

source§

impl<B: Debug + Backend, Theme: Debug> Debug for Renderer<B, Theme>

source§

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

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

impl<B, T> Renderer for Renderer<B, T>where B: Backend + Text,

§

type Font = Font

The font type used.
source§

const ICON_FONT: Font = B::ICON_FONT

The icon font of the backend.
source§

const CHECKMARK_ICON: char = B::CHECKMARK_ICON

The char representing a ✔ icon in the ICON_FONT.
source§

const ARROW_DOWN_ICON: char = B::ARROW_DOWN_ICON

The char representing a ▼ icon in the built-in ICON_FONT.
source§

fn default_size(&self) -> f32

Returns the default size of Text.
source§

fn measure(&self, content: &str, size: f32, font: Font, bounds: Size) -> (f32, f32)

Measures the text in the given bounds and returns the minimum boundaries that can fit the contents.
source§

fn hit_test( &self, content: &str, size: f32, font: Font, bounds: Size, point: Point, nearest_only: bool ) -> Option<Hit>

Tests whether the provided point is within the boundaries of text laid out with the given parameters, returning information about the nearest character. Read more
source§

fn fill_text(&mut self, text: Text<'_, Self::Font>)

Draws the given Text.
source§

fn measure_width(&self, content: &str, size: f32, font: Self::Font) -> f32

Measures the width of the text as if it were laid out in a single line.
source§

impl<B, T> Renderer for Renderer<B, T>where B: Backend + Svg,

source§

fn dimensions(&self, handle: &Handle) -> Size<u32>

Returns the default dimensions of an SVG for the given Handle.
source§

fn draw(&mut self, handle: Handle, color: Option<Color>, bounds: Rectangle)

Draws an SVG with the given Handle, an optional Color filter, and inside the provided bounds.
source§

impl<B, T> Renderer for Renderer<B, T>where B: Backend,

§

type Theme = T

The supported theme of the Renderer.
source§

fn layout<Message>( &mut self, element: &Element<'_, Message, Self>, limits: &Limits ) -> Node

Lays out the elements of a user interface. Read more
source§

fn with_layer(&mut self, bounds: Rectangle, f: impl FnOnce(&mut Self))

Draws the primitives recorded in the given closure in a new layer. Read more
source§

fn with_translation(&mut self, translation: Vector, f: impl FnOnce(&mut Self))

Applies a translation to the primitives recorded in the given closure.
source§

fn fill_quad(&mut self, quad: Quad, background: impl Into<Background>)

Fills a Quad with the provided Background.
source§

fn clear(&mut self)

Clears all of the recorded primitives in the Renderer.
source§

impl<B, T> Renderer for Renderer<B, T>where B: Backend + Image,

§

type Handle = Handle

The image Handle to be displayed. Iced exposes its own default implementation of a Handle
source§

fn dimensions(&self, handle: &Handle) -> Size<u32>

Returns the dimensions of an image for the given Handle.
source§

fn draw(&mut self, handle: Handle, bounds: Rectangle)

Draws an image with the given Handle and inside the provided bounds.
source§

impl<Message, P, B, T> Widget<Message, Renderer<B, T>> for Canvas<Message, T, P>where P: Program<Message, T>, B: Backend,

Available on crate feature canvas only.
source§

fn tag(&self) -> Tag

Returns the Tag of the Widget.
source§

fn state(&self) -> State

Returns the State of the Widget.
source§

fn width(&self) -> Length

Returns the width of the Widget.
source§

fn height(&self) -> Length

Returns the height of the Widget.
source§

fn layout(&self, _renderer: &Renderer<B, T>, limits: &Limits) -> Node

Returns the layout::Node of the Widget. Read more
source§

fn on_event( &mut self, tree: &mut Tree, event: Event, layout: Layout<'_>, cursor_position: Point, _renderer: &Renderer<B, T>, _clipboard: &mut dyn Clipboard, shell: &mut Shell<'_, Message> ) -> Status

Processes a runtime Event. Read more
source§

fn mouse_interaction( &self, tree: &Tree, layout: Layout<'_>, cursor_position: Point, _viewport: &Rectangle, _renderer: &Renderer<B, T> ) -> Interaction

Returns the current [mouse::Interaction] of the Widget. Read more
source§

fn draw( &self, tree: &Tree, renderer: &mut Renderer<B, T>, theme: &T, _style: &Style, layout: Layout<'_>, cursor_position: Point, _viewport: &Rectangle )

Draws the Widget using the associated Renderer.
source§

fn children(&self) -> Vec<Tree, Global>

Returns the state Tree of the children of the Widget.
source§

fn diff(&self, _tree: &mut Tree)

Reconciliates the Widget with the provided Tree.
source§

fn operate( &self, _state: &mut Tree, _layout: Layout<'_>, _renderer: &Renderer, _operation: &mut dyn Operation<Message> )

Applies an Operation to the Widget.
source§

fn overlay<'a>( &'a mut self, _state: &'a mut Tree, _layout: Layout<'_>, _renderer: &Renderer ) -> Option<Element<'a, Message, Renderer>>

Returns the overlay of the Widget, if there is any.
source§

impl<'a, Message, B, T> Widget<Message, Renderer<B, T>> for QRCode<'a>where B: Backend,

Available on crate feature qr_code only.
source§

fn width(&self) -> Length

Returns the width of the Widget.
source§

fn height(&self) -> Length

Returns the height of the Widget.
source§

fn layout(&self, _renderer: &Renderer<B, T>, _limits: &Limits) -> Node

Returns the layout::Node of the Widget. Read more
source§

fn draw( &self, _state: &Tree, renderer: &mut Renderer<B, T>, _theme: &T, _style: &Style, layout: Layout<'_>, _cursor_position: Point, _viewport: &Rectangle )

Draws the Widget using the associated Renderer.
source§

fn tag(&self) -> Tag

Returns the Tag of the Widget.
source§

fn state(&self) -> State

Returns the State of the Widget.
source§

fn children(&self) -> Vec<Tree, Global>

Returns the state Tree of the children of the Widget.
source§

fn diff(&self, _tree: &mut Tree)

Reconciliates the Widget with the provided Tree.
source§

fn operate( &self, _state: &mut Tree, _layout: Layout<'_>, _renderer: &Renderer, _operation: &mut dyn Operation<Message> )

Applies an Operation to the Widget.
source§

fn on_event( &mut self, _state: &mut Tree, _event: Event, _layout: Layout<'_>, _cursor_position: Point, _renderer: &Renderer, _clipboard: &mut dyn Clipboard, _shell: &mut Shell<'_, Message> ) -> Status

Processes a runtime Event. Read more
source§

fn mouse_interaction( &self, _state: &Tree, _layout: Layout<'_>, _cursor_position: Point, _viewport: &Rectangle<f32>, _renderer: &Renderer ) -> Interaction

Returns the current [mouse::Interaction] of the Widget. Read more
source§

fn overlay<'a>( &'a mut self, _state: &'a mut Tree, _layout: Layout<'_>, _renderer: &Renderer ) -> Option<Element<'a, Message, Renderer>>

Returns the overlay of the Widget, if there is any.

Auto Trait Implementations§

§

impl<B, Theme> !RefUnwindSafe for Renderer<B, Theme>

§

impl<B, Theme> Send for Renderer<B, Theme>where B: Send, Theme: Send,

§

impl<B, Theme> Sync for Renderer<B, Theme>where B: Sync, Theme: Sync,

§

impl<B, Theme> Unpin for Renderer<B, Theme>where B: Unpin, Theme: Unpin,

§

impl<B, Theme> !UnwindSafe for Renderer<B, Theme>

Blanket Implementations§

source§

impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere T: FloatComponent, Swp: WhitePoint, Dwp: WhitePoint, D: AdaptFrom<S, Swp, Dwp, T>,

source§

fn adapt_into_using<M>(self, method: M) -> Dwhere M: TransformMatrix<Swp, Dwp, T>,

Convert the source color to the destination color using the specified method
source§

fn adapt_into(self) -> D

Convert the source color to the destination color using the bradford method by default
source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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, U> IntoColor<U> for Twhere U: FromColor<T>,

source§

fn into_color(self) -> U

Convert into T with values clamped to the color defined bounds Read more
source§

impl<T, U> IntoColorUnclamped<U> for Twhere U: FromColorUnclamped<T>,

source§

fn into_color_unclamped(self) -> U

Convert into T. The resulting color might be invalid in its color space Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

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<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

impl<T, U> TryIntoColor<U> for Twhere U: TryFromColor<T>,

source§

fn try_into_color(self) -> Result<U, OutOfBounds<U>>

Convert into T, returning ok if the color is inside of its defined range, otherwise an OutOfBounds error is returned which contains the unclamped color. Read more
§

impl<T> MaybeSend for Twhere T: Send,