pub struct ImageLightbox { /* private fields */ }Expand description
Pictures over the whole app, one at a time, with zoom by ZoomPanView, a caption and a
counter. It shows while open holds the index of a picture, and Escape or its X set it to
None.
The arrows go to the previous and the next, and pan instead once zoomed in, Home and End go
to the ends, and the keys of ZoomPanView zoom. Each picture starts fitted.
use ravenrs_core::{Color, ImageData};
use ravenrs_reactive::State;
use ravenrs_widgets::{ImageLightbox, LightboxItem};
let open = State::new(None::<usize>);
let pictures: Vec<LightboxItem> = ImageData::from_fn(64, 48, |_, _| Color::rgb(0.3, 0.3, 0.3))
.map(|image| LightboxItem::new(image).caption("IMG_0001.JPG"))
.into_iter()
.collect();
let lightbox = ImageLightbox::new(open.binding(), pictures);Implementations§
Source§impl ImageLightbox
impl ImageLightbox
Sourcepub fn new(
open: Binding<Option<usize>>,
items: impl IntoIterator<Item = LightboxItem>,
) -> ImageLightbox
pub fn new( open: Binding<Option<usize>>, items: impl IntoIterator<Item = LightboxItem>, ) -> ImageLightbox
A lightbox over these pictures, shown while open holds the index of one.
Sourcepub fn wrap(self, wrap: bool) -> ImageLightbox
pub fn wrap(self, wrap: bool) -> ImageLightbox
Whether going past the last picture comes back to the first (it does not by default).
Trait Implementations§
Source§impl Debug for ImageLightbox
impl Debug for ImageLightbox
Auto Trait Implementations§
impl !RefUnwindSafe for ImageLightbox
impl !Send for ImageLightbox
impl !Sync for ImageLightbox
impl !UnwindSafe for ImageLightbox
impl Freeze for ImageLightbox
impl Unpin for ImageLightbox
impl UnsafeUnpin for ImageLightbox
Blanket Implementations§
impl<T> AutoreleaseSafe for Twhere
T: ?Sized,
impl<T> AutoreleaseSafe for Twhere
T: ?Sized,
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T, U> ToSample<U> for Twhere
U: FromSample<T>,
impl<T, U> ToSample<U> for Twhere
U: FromSample<T>,
fn to_sample_(self) -> U
Source§impl<V> ViewExt for Vwhere
V: View,
impl<V> ViewExt for Vwhere
V: View,
Source§fn padding(self, padding: impl Into<Insets>) -> Styled<Self>
fn padding(self, padding: impl Into<Insets>) -> Styled<Self>
Adds padding inside the box, in logical pixels.
Source§fn background(self, fill: impl Into<Fill>) -> Styled<Self>
fn background(self, fill: impl Into<Fill>) -> Styled<Self>
Paints a background behind the content.
Source§fn frame(self, width: Option<f32>, height: Option<f32>) -> Styled<Self>
fn frame(self, width: Option<f32>, height: Option<f32>) -> Styled<Self>
Fixes the width and/or height in logical pixels;
None keeps the content size.