Skip to main content

ImageViewer

Struct ImageViewer 

Source
pub struct ImageViewer { /* private fields */ }
Expand description

Image viewer component.

Handles async loading, caching, and error states for images. See ImageSource for all supported image sources.

§Example

fn app() -> impl IntoElement {
    let source: ImageSource = (
        "rust-logo",
        include_bytes!("../../../examples/rust_logo.png"),
    )
        .into();

    ImageViewer::new(source)
}

§Preview

ImageViewer Preview

Implementations§

Source§

impl ImageViewer

Source

pub fn new(source: impl Into<ImageSource>) -> Self

Source§

impl ImageViewer

Source

pub fn corner_radius(self, corner_radius: impl Into<CornerRadius>) -> Self

Source

pub fn loading_placeholder(self, placeholder: impl Into<Element>) -> Self

Custom element rendered while loading.

Source

pub fn decode_mode(self, decode_mode: DecodeMode) -> Self

Pick how the image is decoded. See DecodeMode.

Source

pub fn asset_age(self, asset_age: impl Into<AssetAge>) -> Self

Customize how long the image will remain cached after no longer being used.

Defaults to AssetAge::default (1h).

Source

pub fn error_renderer( self, renderer: impl Into<Callback<String, Element>>, ) -> Self

Custom element rendered when the image fails to load.

Trait Implementations§

Source§

impl AccessibilityExt for ImageViewer

Source§

fn get_accessibility_data(&mut self) -> &mut AccessibilityData

Returns a mutable reference to the element’s accessibility data.
Source§

fn accessibility(self, accessibility: AccessibilityData) -> Self

Replace all of the element’s accessibility data at once. See AccessibilityData.
Source§

fn a11y_id(self, a11y_id: impl Into<Option<NodeId>>) -> Self

Set an explicit accessibility id instead of an autogenerated one. See AccessibilityId.
Source§

fn a11y_focusable(self, a11y_focusable: impl Into<Focusable>) -> Self

Set whether the element can receive keyboard focus. See Focusable.
Source§

fn a11y_auto_focus(self, a11y_auto_focus: impl Into<bool>) -> Self

Request that the element be focused automatically when it is mounted.
Source§

fn a11y_member_of(self, a11y_member_of: impl Into<NodeId>) -> Self

Mark the element as a member of the group identified by the given AccessibilityId.
Source§

fn a11y_role(self, a11y_role: impl Into<Role>) -> Self

Set the accessibility role exposed in the accessibility tree. See AccessibilityRole.
Source§

fn a11y_alt(self, value: impl Into<Box<str>>) -> Self

Set the text label that describes the element in the accessibility tree.
Source§

fn a11y_builder(self, with: impl FnOnce(&mut Node)) -> Self

Edit the underlying accesskit node directly for advanced accessibility properties.
Source§

impl ChildrenExt for ImageViewer

Source§

fn get_children(&mut self) -> &mut Vec<Element>

Returns a mutable reference to the internal children vector. Read more
Source§

fn children(self, children: impl IntoIterator<Item = Element>) -> Self

Extends the children with an iterable of Elements. Read more
Source§

fn maybe_child<C>(self, child: Option<C>) -> Self
where C: IntoElement,

Appends a child only when the Option is Some. Read more
Source§

fn child<C>(self, child: C) -> Self
where C: IntoElement,

Appends a single child element. Read more
Source§

impl Component for ImageViewer

Source§

impl ContainerPositionExt for ImageViewer

Source§

fn position(self, position: impl Into<Position>) -> Self

Set how the element is placed relative to its parent or the window. See Position.
Source§

fn margin(self, margin: impl Into<Gaps>) -> Self

Set the outer spacing between the element’s edges and its surroundings. See Gaps.
Source§

impl ContainerSizeExt for ImageViewer

Source§

fn width(self, width: impl Into<Size>) -> Self

Set the element’s width. See Size.
Source§

fn height(self, height: impl Into<Size>) -> Self

Set the element’s height. See Size.
Source§

fn expanded(self) -> Self

Expand both width and height using Size::fill().
Source§

impl ContainerWithContentExt for ImageViewer

Source§

fn direction(self, direction: Direction) -> Self

Set the axis children are stacked along. See Direction.
Source§

fn main_align(self, main_align: Alignment) -> Self

Set how children are aligned along the direction axis. See Alignment.
Source§

fn cross_align(self, cross_align: Alignment) -> Self

Set how children are aligned across the direction axis. See Alignment.
Source§

fn spacing(self, spacing: f32) -> Self

Set the gap inserted between adjacent children, in pixels.
Source§

fn content(self, content: Content) -> Self

Set how children share the available space along the direction axis. See Content.
Source§

fn center(self) -> Self

Center children on both axes. Shorthand for main_align and cross_align set to Alignment::Center.
Source§

fn offset_x(self, offset_x: f32) -> Self

Shift the element’s children horizontally by the given pixels.
Source§

fn offset_y(self, offset_y: f32) -> Self

Shift the element’s children vertically by the given pixels.
Source§

fn vertical(self) -> Self

Stack children vertically. Shorthand for direction set to Direction::Vertical.
Source§

fn horizontal(self) -> Self

Stack children horizontally. Shorthand for direction set to Direction::Horizontal.
Source§

impl EffectExt for ImageViewer

Source§

fn get_effect(&mut self) -> &mut EffectData

Returns a mutable reference to the element’s effect data.
Source§

fn effect(self, effect: EffectData) -> Self

Replace all of the element’s effect data at once. See EffectData.
Source§

fn overflow(self, overflow: impl Into<Overflow>) -> Self

Set whether content overflowing the element’s bounds is clipped. See Overflow.
Source§

fn blur(self, blur: f32) -> Self

Apply a gaussian blur of the given radius to the element.
Source§

fn rotation(self, rotation: f32) -> Self

Rotate the element by the given angle in degrees.
Source§

fn opacity(self, opacity: f32) -> Self

Set the element’s opacity, from 0.0 (transparent) to 1.0 (opaque).
Source§

fn scale(self, scale: impl Into<Scale>) -> Self

Scale the element. See Scale.
Source§

fn transform_origin(self, transform_origin: impl Into<TransformOrigin>) -> Self

Set the point that the scale and rotation effects pivot around. Read more
Source§

impl ImageExt for ImageViewer

Source§

fn get_image_data(&mut self) -> &mut ImageData

Returns a mutable reference to the element’s image data.
Source§

fn image_data(self, image_data: ImageData) -> Self

Replace all of the element’s image data at once. See ImageData.
Source§

fn sampling_mode(self, sampling_mode: SamplingMode) -> Self

Set the filtering used when the image is scaled. See SamplingMode.
Source§

fn aspect_ratio(self, aspect_ratio: AspectRatio) -> Self

Set how the image is scaled to fit its bounds. See AspectRatio.
Source§

fn image_cover(self, image_cover: ImageCover) -> Self

Set how the image is positioned within its bounds. See ImageCover.
Source§

impl KeyExt for ImageViewer

Source§

fn write_key(&mut self) -> &mut DiffKey

Returns a mutable reference to the element’s diff key.
Source§

fn key(self, key: impl Hash) -> Self
where Self: 'static,

Assign a key derived from any hashable value, used to reconcile elements in dynamic lists. The key is scoped to the element’s type, so the same value used on different element or component types never collides.
Source§

impl LayoutExt for ImageViewer

Source§

fn get_layout(&mut self) -> &mut LayoutData

Returns a mutable reference to the element’s layout data.
Source§

fn layout(self, layout: LayoutData) -> Self

Replace all of the element’s layout data at once. See LayoutData.
Source§

impl PartialEq for ImageViewer

Source§

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

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

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ImageViewer

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> ComponentKey for T
where T: Component,

Source§

impl<T> ComponentProps for T
where T: Any + PartialEq,

Source§

fn changed(&self, other: &(dyn ComponentProps + 'static)) -> bool

Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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

impl<T> IntoElement for T
where T: Into<Element>,

Source§

impl<T> IntoReadable<T> for T
where T: 'static + PartialEq,

Source§

impl<T> MaybeExt for T
where T: Component,

Source§

fn maybe(self, bool: impl Into<bool>, then: impl FnOnce(Self) -> Self) -> Self

Apply then to the element only when the condition is true.
Source§

fn map<T>(self, data: Option<T>, then: impl FnOnce(Self, T) -> Self) -> Self

Apply then to the element only when the Option is Some, passing the inner value.
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.
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