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
impl SvgViewer
pub fn new(source: impl Into<ImageSource>) -> Self
Sourcepub fn show_loader(self, show_loader: bool) -> Self
pub fn show_loader(self, show_loader: bool) -> Self
Whether to render a loading indicator while the SVG is being rasterized. Defaults to true.
Sourcepub fn color(self, color: impl Into<Color>) -> Self
pub fn color(self, color: impl Into<Color>) -> Self
Override the SVG’s currentColor, used by shapes that inherit their color.
Sourcepub fn stroke(self, stroke: impl Into<Color>) -> Self
pub fn stroke(self, stroke: impl Into<Color>) -> Self
Override the stroke color of the SVG’s shapes.
Sourcepub fn stroke_width(self, stroke_width: impl Into<f32>) -> Self
pub fn stroke_width(self, stroke_width: impl Into<f32>) -> Self
Override the SVG stroke width.
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 raster remains cached after no longer being used.
Sourcepub fn error_renderer(
self,
renderer: impl Into<Callback<String, Element>>,
) -> Self
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
impl AccessibilityExt for SvgViewer
Source§fn get_accessibility_data(&mut self) -> &mut AccessibilityData
fn get_accessibility_data(&mut self) -> &mut AccessibilityData
Returns a mutable reference to the element’s accessibility data.
§fn accessibility(self, accessibility: AccessibilityData) -> Self
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
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
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
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
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
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
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
fn a11y_builder(self, with: impl FnOnce(&mut Node)) -> Self
Edit the underlying
accesskit node directly for advanced accessibility properties.Source§impl ContainerExt for SvgViewer
impl ContainerExt for SvgViewer
§fn padding(self, padding: impl Into<Gaps>) -> Self
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
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
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
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
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
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
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
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
impl EffectExt for SvgViewer
Source§fn get_effect(&mut self) -> &mut EffectData
fn get_effect(&mut self) -> &mut EffectData
Returns a mutable reference to the element’s effect data.
§fn effect(self, effect: EffectData) -> Self
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
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
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
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
fn opacity(self, opacity: impl Into<f32>) -> Self
Set the element’s opacity, from
0.0 (transparent) to 1.0 (opaque).§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 EventHandlersExt for SvgViewer
impl EventHandlersExt for SvgViewer
Source§fn get_event_handlers(&mut self) -> &mut FxHashMap<EventName, EventHandlerType>
fn get_event_handlers(&mut self) -> &mut FxHashMap<EventName, EventHandlerType>
Returns a mutable reference to the element’s event handler map.
§fn with_event_handlers(
self,
event_handlers: HashMap<EventName, EventHandlerType, FxBuildHasher>,
) -> Self
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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>>>,
) -> Selfwhere
Self: LayoutExt,
fn on_sized(
self,
on_sized: impl Into<EventHandler<Event<SizedEventData>>>,
) -> Selfwhere
Self: LayoutExt,
Fires when the element’s measured size or position changes.
§fn on_press(
self,
on_press: impl Into<EventHandler<Event<PressEventData>>>,
) -> Self
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
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
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
fn on_focus_press( self, on_focus_press: impl Into<EventHandler<Event<FocusPressEventData>>>, ) -> Self
Gets triggered when: Read more
Source§impl ImageExt for SvgViewer
impl ImageExt for SvgViewer
Source§fn get_image_data(&mut self) -> &mut ImageData
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
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
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
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
fn image_cover(self, image_cover: ImageCover) -> Self
Set how the image is positioned within its bounds. See [
ImageCover].Source§impl LayoutExt for SvgViewer
impl LayoutExt for SvgViewer
Source§fn get_layout(&mut self) -> &mut LayoutData
fn get_layout(&mut self) -> &mut LayoutData
Returns a mutable reference to the element’s layout data.
Source§impl SvgThemeExt for SvgViewer
impl SvgThemeExt for SvgViewer
fn theme_color(self) -> Self
fn theme_accent_color(self) -> Self
fn theme_fill(self) -> Self
fn theme_stroke(self) -> Self
fn theme_accent_fill(self) -> Self
fn theme_accent_stroke(self) -> Self
impl StructuralPartialEq for SvgViewer
Auto Trait Implementations§
impl !Freeze for SvgViewer
impl !RefUnwindSafe for SvgViewer
impl !Send for SvgViewer
impl !Sync for SvgViewer
impl Unpin for SvgViewer
impl UnsafeUnpin for SvgViewer
impl !UnwindSafe for SvgViewer
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
§impl<T> ComponentKey for Twhere
T: Component,
impl<T> ComponentKey for Twhere
T: Component,
fn default_key(&self) -> DiffKey
§impl<T> ComponentProps for T
impl<T> ComponentProps for T
§impl<T> ContainerPositionExt for Twhere
T: ContainerExt,
impl<T> ContainerPositionExt for Twhere
T: ContainerExt,
§impl<T> ContainerSizeExt for Twhere
T: ContainerExt,
impl<T> ContainerSizeExt for Twhere
T: ContainerExt,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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