diff options
author | 2025-02-09 08:36:34 +0100 | |
---|---|---|
committer | 2025-02-09 08:36:34 +0100 | |
commit | 12653114bd1cadb10b9fe185b6f2b1e4300bdcf7 (patch) | |
tree | 8fa2254a1eb36685fd93241db638d2ad65856bcb /core/src | |
parent | 65bf503963bb58186ba7a60f6b6010e8a3b41ae7 (diff) | |
parent | e0d60d58391535d96f0864da4a4dde50d5669543 (diff) | |
download | iced-12653114bd1cadb10b9fe185b6f2b1e4300bdcf7.tar.gz iced-12653114bd1cadb10b9fe185b6f2b1e4300bdcf7.tar.bz2 iced-12653114bd1cadb10b9fe185b6f2b1e4300bdcf7.zip |
Merge pull request #2796 from tarkah/feat/gallery-enhancements
Add blurhash to gallery
Diffstat (limited to 'core/src')
-rw-r--r-- | core/src/animation.rs | 12 | ||||
-rw-r--r-- | core/src/length.rs | 6 | ||||
-rw-r--r-- | core/src/pixels.rs | 6 |
3 files changed, 18 insertions, 6 deletions
diff --git a/core/src/animation.rs b/core/src/animation.rs index 258fd084..14cbb5c3 100644 --- a/core/src/animation.rs +++ b/core/src/animation.rs @@ -13,6 +13,7 @@ where T: Clone + Copy + PartialEq + Float, { raw: lilt::Animated<T, Instant>, + duration: Duration, // TODO: Expose duration getter in `lilt` } impl<T> Animation<T> @@ -23,6 +24,7 @@ where pub fn new(state: T) -> Self { Self { raw: lilt::Animated::new(state), + duration: Duration::from_millis(100), } } @@ -58,6 +60,7 @@ where /// Sets the duration of the [`Animation`] to the given value. pub fn duration(mut self, duration: Duration) -> Self { self.raw = self.raw.duration(duration.as_secs_f32() * 1_000.0); + self.duration = duration; self } @@ -133,4 +136,13 @@ impl Animation<bool> { { self.raw.animate_bool(start, end, at) } + + /// Returns the remaining [`Duration`] of the [`Animation`]. + pub fn remaining(&self, at: Instant) -> Duration { + Duration::from_secs_f32(self.interpolate( + self.duration.as_secs_f32(), + 0.0, + at, + )) + } } diff --git a/core/src/length.rs b/core/src/length.rs index 5f24169f..363833c4 100644 --- a/core/src/length.rs +++ b/core/src/length.rs @@ -77,8 +77,8 @@ impl From<f32> for Length { } } -impl From<u16> for Length { - fn from(units: u16) -> Self { - Length::Fixed(f32::from(units)) +impl From<u32> for Length { + fn from(units: u32) -> Self { + Length::Fixed(units as f32) } } diff --git a/core/src/pixels.rs b/core/src/pixels.rs index 7d6267cf..c87e2b31 100644 --- a/core/src/pixels.rs +++ b/core/src/pixels.rs @@ -20,9 +20,9 @@ impl From<f32> for Pixels { } } -impl From<u16> for Pixels { - fn from(amount: u16) -> Self { - Self(f32::from(amount)) +impl From<u32> for Pixels { + fn from(amount: u32) -> Self { + Self(amount as f32) } } |