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)
}See the interactive components demo.
Implementations§
Source§impl ImageViewer
impl ImageViewer
pub fn new(source: impl Into<ImageSource>) -> Self
Source§impl ImageViewer
impl ImageViewer
Sourcepub fn loading_placeholder(self, placeholder: impl Into<Element>) -> Self
pub fn loading_placeholder(self, placeholder: impl Into<Element>) -> Self
Custom element rendered while loading.
Sourcepub fn decode_mode(self, decode_mode: DecodeMode) -> Self
pub fn decode_mode(self, decode_mode: DecodeMode) -> Self
Pick how the image is decoded. See DecodeMode.
Sourcepub fn asset_age(self, asset_age: impl Into<AssetAge>) -> Self
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).
Trait Implementations§
Source§impl AccessibilityExt for ImageViewer
impl AccessibilityExt for ImageViewer
Source§fn accessibility_data_mut(&mut self) -> &mut AccessibilityData
fn accessibility_data_mut(&mut self) -> &mut AccessibilityData
Returns a mutable reference to the element’s accessibility data.
Source§fn accessibility(self, accessibility: AccessibilityData) -> Self
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
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_enabled(self, enabled: impl Into<bool>) -> Self
fn a11y_enabled(self, enabled: impl Into<bool>) -> Self
Set whether the element is enabled for assistive technology.
Source§fn a11y_focusable(self, a11y_focusable: impl Into<Focusable>) -> Self
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
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
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
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<String>) -> Self
fn a11y_alt(self, value: impl Into<String>) -> Self
Set the text label that describes the element in the accessibility tree.
Source§fn a11y_builder(self, with: impl FnOnce(&mut Node)) -> Self
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
impl ChildrenExt for ImageViewer
Source§fn children_mut(&mut self) -> &mut Vec<Element>
fn children_mut(&mut self) -> &mut Vec<Element>
Returns a mutable reference to the internal children vector. Read more
Source§fn children(self, children: impl IntoIterator<Item = impl IntoElement>) -> Self
fn children(self, children: impl IntoIterator<Item = impl IntoElement>) -> Self
Extends the children with an iterable of anything that implements
IntoElement. Read moreSource§fn maybe_child<C>(self, child: Option<C>) -> Selfwhere
C: IntoElement,
fn maybe_child<C>(self, child: Option<C>) -> Selfwhere
C: IntoElement,
Source§fn child<C>(self, child: C) -> Selfwhere
C: IntoElement,
fn child<C>(self, child: C) -> Selfwhere
C: IntoElement,
Appends a single child element. Read more
Source§impl Component for ImageViewer
impl Component for ImageViewer
fn render(&self) -> impl IntoElement
fn render_key(&self) -> DiffKey
Source§impl ContainerPositionExt for ImageViewer
impl ContainerPositionExt for ImageViewer
Source§impl ContainerSizeExt for ImageViewer
impl ContainerSizeExt for ImageViewer
Source§impl ContainerWithContentExt for ImageViewer
impl ContainerWithContentExt for ImageViewer
Source§fn direction(self, direction: Direction) -> Self
fn direction(self, direction: Direction) -> Self
Set the axis children are stacked along. See
Direction.Source§fn main_align(self, main_align: impl Into<Alignment>) -> Self
fn main_align(self, main_align: impl Into<Alignment>) -> Self
Set how children are aligned along the direction axis. See
Alignment.Source§fn cross_align(self, cross_align: impl Into<Alignment>) -> Self
fn cross_align(self, cross_align: impl Into<Alignment>) -> Self
Set how children are aligned across the direction axis. See
Alignment.Source§fn spacing(self, spacing: f32) -> Self
fn spacing(self, spacing: f32) -> Self
Set the gap inserted between adjacent children, in pixels.
Source§fn content(self, content: Content) -> Self
fn content(self, content: Content) -> Self
Set how children share the available space along the direction axis. See
Content.Source§fn offset_x(self, offset_x: f32) -> Self
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
fn offset_y(self, offset_y: f32) -> Self
Shift the element’s children vertically by the given pixels.
Source§fn vertical(self) -> Self
fn vertical(self) -> Self
Stack children vertically. Shorthand for
direction set to Direction::Vertical.Source§fn horizontal(self) -> Self
fn horizontal(self) -> Self
Stack children horizontally. Shorthand for
direction set to Direction::Horizontal.Source§impl DecorationExt for ImageViewer
impl DecorationExt for ImageViewer
Source§fn border(self, border: impl Into<Option<Border>>) -> Self
fn border(self, border: impl Into<Option<Border>>) -> Self
Add an outline around the element. See
Border.Source§fn shadow(self, shadow: impl Into<Shadow>) -> Self
fn shadow(self, shadow: impl Into<Shadow>) -> Self
Add a shadow cast by the element. See
Shadow.Source§fn corner_radius(self, corner_radius: impl Into<CornerRadius>) -> Self
fn corner_radius(self, corner_radius: impl Into<CornerRadius>) -> Self
Round the element’s corners. See
CornerRadius.Source§impl EffectExt for ImageViewer
impl EffectExt for ImageViewer
Source§fn effect_mut(&mut self) -> &mut EffectData
fn effect_mut(&mut self) -> &mut EffectData
Returns a mutable reference to the element’s effect data.
Source§fn cursor(self, cursor: impl Into<Option<CursorIcon>>) -> Self
fn cursor(self, cursor: impl Into<Option<CursorIcon>>) -> Self
Set the
CursorIcon shown while the element is hovered. Read moreSource§fn cursor_visible(self, visible: impl Into<Option<bool>>) -> Self
fn cursor_visible(self, visible: impl Into<Option<bool>>) -> Self
Show or hide the mouse cursor while the element is hovered. Read more
Source§fn effect(self, effect: EffectData) -> Self
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
fn overflow(self, overflow: impl Into<Overflow>) -> Self
Set whether content overflowing the element’s bounds is clipped. See
Overflow.Source§fn backdrop_blur(self, blur: f32) -> Self
fn backdrop_blur(self, blur: f32) -> Self
Apply a Gaussian blur of the given radius to the backdrop behind the element.
Source§fn opacity(self, opacity: f32) -> Self
fn opacity(self, opacity: f32) -> Self
Set the element’s opacity, from
0.0 (transparent) to 1.0 (opaque).Source§fn transform_origin(self, transform_origin: impl Into<TransformOrigin>) -> Self
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
impl ImageExt for ImageViewer
Source§fn image_data_mut(&mut self) -> &mut ImageData
fn image_data_mut(&mut self) -> &mut ImageData
Returns a mutable reference to the element’s image data.
Source§fn image_data(self, image_data: ImageData) -> Self
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
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
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
fn image_cover(self, image_cover: ImageCover) -> Self
Set how the image is positioned within its bounds. See
ImageCover.Source§fn snap_to_grid(self, snap_to_grid: bool) -> Self
fn snap_to_grid(self, snap_to_grid: bool) -> Self
Snap the image to the pixels grid. Defaults to
false, but SvgViewer enables it.Source§impl KeyExt for ImageViewer
impl KeyExt for ImageViewer
Source§impl LayoutExt for ImageViewer
impl LayoutExt for ImageViewer
Source§fn layout_mut(&mut self) -> &mut LayoutData
fn layout_mut(&mut self) -> &mut LayoutData
Returns a mutable reference to the element’s layout data.
Source§fn layout(self, layout: LayoutData) -> Self
fn layout(self, layout: LayoutData) -> Self
Replace all of the element’s layout data at once. See
LayoutData.Source§impl PartialEq for ImageViewer
impl PartialEq for ImageViewer
impl StructuralPartialEq for ImageViewer
Source§impl StyleExt for ImageViewer
impl StyleExt for ImageViewer
Source§fn style_mut(&mut self) -> &mut StyleState
fn style_mut(&mut self) -> &mut StyleState
Returns a mutable reference to the element’s style data.
Source§fn style(self, style: StyleState) -> Self
fn style(self, style: StyleState) -> Self
Replace all of the element’s style data at once. See
StyleState.Auto Trait Implementations§
impl !Freeze for ImageViewer
impl !RefUnwindSafe for ImageViewer
impl !Send for ImageViewer
impl !Sync for ImageViewer
impl !UnwindSafe for ImageViewer
impl Forget for ImageViewer
impl Unpin for ImageViewer
impl UnsafeUnpin for ImageViewer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> ComponentKey for Twhere
T: Component,
impl<T> ComponentKey for Twhere
T: Component,
fn default_key(&self) -> DiffKey
Source§impl<T> ComponentProps for T
impl<T> ComponentProps for T
fn changed(&self, other: &(dyn ComponentProps + 'static)) -> bool
Source§impl<T> CornerRadiusExt for Twhere
T: DecorationExt,
impl<T> CornerRadiusExt for Twhere
T: DecorationExt,
Source§fn with_corner_radius(self, corner_radius: f32) -> T
fn with_corner_radius(self, corner_radius: f32) -> T
Round all four corners to the given radius in pixels.
Source§fn rounded_none(self) -> Self
fn rounded_none(self) -> Self
Shortcut for
corner_radius(0.) - removes border radius.Source§fn rounded_sm(self) -> Self
fn rounded_sm(self) -> Self
Shortcut for
corner_radius(4.) - small border radius.Source§fn rounded_md(self) -> Self
fn rounded_md(self) -> Self
Shortcut for
corner_radius(6.) - medium border radius.Source§fn rounded_lg(self) -> Self
fn rounded_lg(self) -> Self
Shortcut for
corner_radius(8.) - large border radius.Source§fn rounded_xl(self) -> Self
fn rounded_xl(self) -> Self
Shortcut for
corner_radius(12.) - extra large border radius.Source§fn rounded_2xl(self) -> Self
fn rounded_2xl(self) -> Self
Shortcut for
corner_radius(16.) - extra large border radius.Source§fn rounded_3xl(self) -> Self
fn rounded_3xl(self) -> Self
Shortcut for
corner_radius(24.) - extra large border radius.Source§fn rounded_4xl(self) -> Self
fn rounded_4xl(self) -> Self
Shortcut for
corner_radius(32.) - extra large border radius.Source§fn rounded_full(self) -> Self
fn rounded_full(self) -> Self
Shortcut for
corner_radius(99.) - fully rounded (pill shape).Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
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>
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)
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)
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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