Skip to main content

SvgViewer

Struct SvgViewer 

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

SVG viewer component.

Rasterizes the SVG synchronously or asynchronously and caches the result. See ImageSource for all supported sources.

§Example

fn app() -> impl IntoElement {
    SvgViewer::new(include_bytes!("../../../examples/ferris.svg"))
        .width(Size::px(300.))
        .height(Size::px(300.))
}

Implementations§

Source§

impl SvgViewer

Source

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

Source

pub fn show_loader(self, show_loader: bool) -> Self

Whether to render a loading indicator while the SVG is being rasterized. Defaults to true.

Source

pub fn parallel(self, parallel: bool) -> Self

Whether to fetch and rasterize the SVG in a background thread. Defaults to false.

Source

pub fn color(self, color: impl Into<Color>) -> Self

Override the SVG’s currentColor, used by shapes that inherit their color. When not set, SVGs referencing currentColor use the inherited text color.

Source

pub fn fill(self, fill: impl Into<Color>) -> Self

Override the fill color of the SVG’s shapes.

Source

pub fn stroke(self, stroke: impl Into<Color>) -> Self

Override the stroke color of the SVG’s shapes.

Source

pub fn stroke_width(self, stroke_width: f32) -> Self

Override the SVG stroke width.

Source

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

Customize how long the raster remains cached after no longer being used.

Source

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

Custom element rendered when the SVG fails to load.

Trait Implementations§

Source§

impl AccessibilityExt for SvgViewer

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 SvgViewer

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 SvgViewer

Source§

impl ContainerPositionExt for SvgViewer

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 SvgViewer

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 SvgViewer

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 SvgViewer

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 EventHandlersExt for SvgViewer

Source§

fn get_event_handlers(&mut self) -> &mut FxHashMap<EventName, EventHandlerType>

Returns a mutable reference to the element’s event handler map.
Source§

fn with_event_handlers( self, event_handlers: HashMap<EventName, EventHandlerType, FxBuildHasher>, ) -> Self

Replace all of this element’s event handlers with the given map.
Source§

fn on_mouse_down( self, on_mouse_down: impl Into<EventHandler<Event<MouseEventData>>>, ) -> Self

Fires when a mouse button is pressed down over the element.
Source§

fn on_mouse_up( self, on_mouse_up: impl Into<EventHandler<Event<MouseEventData>>>, ) -> Self

Fires when a mouse button is released over the element.
Source§

fn on_mouse_move( self, on_mouse_move: impl Into<EventHandler<Event<MouseEventData>>>, ) -> Self

Fires when the cursor moves over the element.
Source§

fn on_global_pointer_press( self, on_global_pointer_press: impl Into<EventHandler<Event<PointerEventData>>>, ) -> Self

Fires when a pointer (mouse or touch) is pressed anywhere, even outside the element.
Source§

fn on_global_pointer_down( self, on_global_pointer_down: impl Into<EventHandler<Event<PointerEventData>>>, ) -> Self

Fires when a pointer (mouse or touch) goes down anywhere, even outside the element.
Source§

fn on_global_pointer_move( self, on_global_pointer_move: impl Into<EventHandler<Event<PointerEventData>>>, ) -> Self

Fires when a pointer (mouse or touch) moves anywhere, even outside the element.
Source§

fn on_capture_global_pointer_move( self, on_capture_global_pointer_move: impl Into<EventHandler<Event<PointerEventData>>>, ) -> Self

Like on_global_pointer_move, but fires during the top-down capture phase.
Source§

fn on_capture_global_pointer_press( self, on_capture_global_pointer_press: impl Into<EventHandler<Event<PointerEventData>>>, ) -> Self

Like on_global_pointer_press, but fires during the top-down capture phase.
Source§

fn on_key_down( self, on_key_down: impl Into<EventHandler<Event<KeyboardEventData>>>, ) -> Self

Fires when a key is pressed down while the element is focused.
Source§

fn on_key_up( self, on_key_up: impl Into<EventHandler<Event<KeyboardEventData>>>, ) -> Self

Fires when a key is released while the element is focused.
Source§

fn on_global_key_down( self, on_global_key_down: impl Into<EventHandler<Event<KeyboardEventData>>>, ) -> Self

Fires when a key is pressed down, regardless of which element is focused.
Source§

fn on_global_key_up( self, on_global_key_up: impl Into<EventHandler<Event<KeyboardEventData>>>, ) -> Self

Fires when a key is released, regardless of which element is focused.
Source§

fn on_wheel( self, on_wheel: impl Into<EventHandler<Event<WheelEventData>>>, ) -> Self

Fires when the scroll wheel is used over the element.
Source§

fn on_touch_cancel( self, on_touch_cancel: impl Into<EventHandler<Event<TouchEventData>>>, ) -> Self

Fires when an ongoing touch is cancelled by the system.
Source§

fn on_touch_start( self, on_touch_start: impl Into<EventHandler<Event<TouchEventData>>>, ) -> Self

Fires when a touch point is placed on the element.
Source§

fn on_touch_move( self, on_touch_move: impl Into<EventHandler<Event<TouchEventData>>>, ) -> Self

Fires when a touch point moves across the element.
Source§

fn on_touch_end( self, on_touch_end: impl Into<EventHandler<Event<TouchEventData>>>, ) -> Self

Fires when a touch point is lifted from the element.
Source§

fn on_pointer_press( self, on_pointer_press: impl Into<EventHandler<Event<PointerEventData>>>, ) -> Self

Fires when the element is pressed and released by a pointer (mouse or touch).
Source§

fn on_pointer_down( self, on_pointer_down: impl Into<EventHandler<Event<PointerEventData>>>, ) -> Self

Fires when a pointer (mouse or touch) goes down over the element.
Source§

fn on_pointer_move( self, on_pointer_move: impl Into<EventHandler<Event<PointerEventData>>>, ) -> Self

Fires when a pointer (mouse or touch) moves over the element.
Source§

fn on_pointer_enter( self, on_pointer_enter: impl Into<EventHandler<Event<PointerEventData>>>, ) -> Self

Fires when a pointer enters the element.
Source§

fn on_pointer_leave( self, on_pointer_leave: impl Into<EventHandler<Event<PointerEventData>>>, ) -> Self

Fires when a pointer leaves the element.
Source§

fn on_pointer_over( self, on_pointer_over: impl Into<EventHandler<Event<PointerEventData>>>, ) -> Self

Fires when a pointer is over the element, including over its children.
Source§

fn on_pointer_out( self, on_pointer_out: impl Into<EventHandler<Event<PointerEventData>>>, ) -> Self

Fires when a pointer leaves the element or one of its children.
Source§

fn on_file_drop( self, on_file_drop: impl Into<EventHandler<Event<FileEventData>>>, ) -> Self

Fires when a file is dropped onto the element.
Source§

fn on_global_file_hover( self, on_global_file_hover: impl Into<EventHandler<Event<FileEventData>>>, ) -> Self

Fires when a dragged file hovers anywhere over the window.
Source§

fn on_global_file_hover_cancelled( self, on_global_file_hover_cancelled: impl Into<EventHandler<Event<FileEventData>>>, ) -> Self

Fires when a dragged file stops hovering over the window.
Source§

fn on_ime_preedit( self, on_ime_preedit: impl Into<EventHandler<Event<ImePreeditEventData>>>, ) -> Self

Fires while text is being composed through an input method editor (IME).
Source§

fn on_sized( self, on_sized: impl Into<EventHandler<Event<SizedEventData>>>, ) -> Self
where Self: LayoutExt,

Fires when the element’s measured size or position changes.
Source§

fn on_styled( self, on_styled: impl Into<EventHandler<Event<StyledEventData>>>, ) -> Self

Fires when the element’s inherited text style is resolved or changes.
Source§

fn on_press( self, on_press: impl Into<EventHandler<Event<PressEventData>>>, ) -> Self

This is generally the best event in which to run “press” logic, this might be called onClick, onActivate, or onConnect in other platforms. Read more
Source§

fn on_secondary_down( self, on_secondary_down: impl Into<EventHandler<Event<PressEventData>>>, ) -> Self

Also called the context menu click in other platforms. Gets triggered when: Read more
Source§

fn on_all_press( self, on_press: impl Into<EventHandler<Event<PressEventData>>>, ) -> Self

Gets triggered when: Read more
Source§

fn on_focus_press( self, on_focus_press: impl Into<EventHandler<Event<FocusPressEventData>>>, ) -> Self

Gets triggered when: Read more
Source§

impl ImageExt for SvgViewer

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 SvgViewer

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 SvgViewer

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 SvgViewer

Source§

fn eq(&self, other: &SvgViewer) -> 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 SvgViewer

Source§

impl SvgThemeExt for SvgViewer

Source§

fn theme_color(self) -> Self

Source§

fn theme_accent_color(self) -> Self

Source§

fn theme_fill(self) -> Self

Source§

fn theme_stroke(self) -> Self

Source§

fn theme_accent_fill(self) -> Self

Source§

fn theme_accent_stroke(self) -> Self

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 = !

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