Skip to main content

SvgViewer

Struct SvgViewer 

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

SVG viewer component.

Rasterizes the SVG asynchronously to the size measured on its container, caching 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>) -> SvgViewer

Source

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

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

Source

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

Override the SVG’s currentColor, used by shapes that inherit their color.

Source

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

Override the fill color of the SVG’s shapes.

Source

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

Override the stroke color of the SVG’s shapes.

Source

pub fn stroke_width(self, stroke_width: impl Into<f32>) -> SvgViewer

Override the SVG stroke width.

Source

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

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

Source

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl Component for SvgViewer

Source§

impl ContainerExt for SvgViewer

§

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

Set the inner spacing between the element’s edges and its content. See Gaps.
§

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

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

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

Set the minimum width the element can shrink to. See Size.
§

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

Set the minimum height the element can shrink to. See Size.
§

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

Set the maximum width the element can grow to. See Size.
§

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

Set the maximum height the element can grow to. See Size.
§

fn visible_width(self, visible_width: impl Into<VisibleSize>) -> Self

Set how much of the measured width is actually used in layout. See VisibleSize.
§

fn visible_height(self, visible_height: impl Into<VisibleSize>) -> Self

Set how much of the measured height is actually used in layout. See VisibleSize.
Source§

impl EffectExt for SvgViewer

Source§

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

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

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

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

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

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

fn blur(self, blur: impl Into<f32>) -> Self

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

fn rotation(self, rotation: impl Into<f32>) -> Self

Rotate the element by the given angle in degrees.
§

fn opacity(self, opacity: impl Into<f32>) -> Self

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

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

Scale the element. See Scale.
§

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 HashMap<EventName, EventHandlerType, FxBuildHasher>

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

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

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

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

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

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

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

Fires when the cursor moves over the element.
§

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Fires when a touch point moves across the element.
§

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

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

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).
§

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

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

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

Fires when a pointer enters the element.
§

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

Fires when a pointer leaves the element.
§

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

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

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

Fires when a file is dropped onto the element.
§

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

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

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).
§

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

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
§

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
§

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

Gets triggered when: Read more
§

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

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

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

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

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

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

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

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

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

Assign a key derived from any hashable value, used to reconcile elements in dynamic lists.
Source§

impl LayoutExt for SvgViewer

Source§

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

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

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl SvgThemeExt for SvgViewer

Source§

impl StructuralPartialEq for SvgViewer

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
§

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

§

fn equals(&self, other: &(dyn Any + 'static)) -> bool

§

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

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
§

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

§

fn default_key(&self) -> DiffKey

§

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

§

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

§

impl<T> ContainerPositionExt for T
where T: ContainerExt,

§

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

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

impl<T> ContainerSizeExt for T
where T: ContainerExt,

§

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

Set the element’s width. See Size.
§

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

Set the element’s height. See Size.
§

fn expanded(self) -> Self

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

impl<T> Downcast for T
where T: 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.
§

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

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

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.

§

impl<S> FromSample<S> for S

§

fn from_sample_(s: S) -> S

§

impl<T> Instrument for T

§

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

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

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
§

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

§

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

§

fn into_readable(self) -> Readable<T>

§

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

§

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

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

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

impl<T> Pointable for T

§

const ALIGN: usize

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
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
§

impl<T, U> ToSample<U> for T
where U: FromSample<T>,

§

fn to_sample_(self) -> U

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

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> AutoreleaseSafe for T
where T: ?Sized,

Source§

impl<T> AutoreleaseSafe for T
where T: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<S, T> Duplex<S> for T
where T: FromSample<S> + ToSample<S>,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,