From 511343a7fc91b137d4509ea3459305eeb978973b Mon Sep 17 00:00:00 2001 From: rustbasic <127506429+rustbasic@users.noreply.github.com> Date: Thu, 27 Jun 2024 23:25:32 +0900 Subject: [PATCH 1/4] Update image.rs --- crates/egui/src/widgets/image.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/crates/egui/src/widgets/image.rs b/crates/egui/src/widgets/image.rs index 7783f02fed9..9454a48d302 100644 --- a/crates/egui/src/widgets/image.rs +++ b/crates/egui/src/widgets/image.rs @@ -283,6 +283,21 @@ impl<'a> Image<'a> { } } + #[inline] + pub fn uri(&self) -> Option<&str> { + let mut uri: Option<&str> = match &self.source { + ImageSource::Bytes { uri, .. } | ImageSource::Uri(uri) => Some(uri), + ImageSource::Texture(_) => None, + }; + + if is_gif_uri(uri.unwrap_or_default()) { + if let Ok((gif_uri, _index)) = decode_gif_uri(uri.unwrap_or_default()) { + uri = Some(gif_uri); + } + } + uri + } + #[inline] pub fn image_options(&self) -> &ImageOptions { &self.image_options From 076e21df74f8da17840162a218084538cf768239 Mon Sep 17 00:00:00 2001 From: rustbasic <127506429+rustbasic@users.noreply.github.com> Date: Thu, 27 Jun 2024 23:55:53 +0900 Subject: [PATCH 2/4] Update image.rs --- crates/egui/src/widgets/image.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/crates/egui/src/widgets/image.rs b/crates/egui/src/widgets/image.rs index 9454a48d302..c3893a18c73 100644 --- a/crates/egui/src/widgets/image.rs +++ b/crates/egui/src/widgets/image.rs @@ -285,10 +285,7 @@ impl<'a> Image<'a> { #[inline] pub fn uri(&self) -> Option<&str> { - let mut uri: Option<&str> = match &self.source { - ImageSource::Bytes { uri, .. } | ImageSource::Uri(uri) => Some(uri), - ImageSource::Texture(_) => None, - }; + let mut uri = self.source.uri(); if is_gif_uri(uri.unwrap_or_default()) { if let Ok((gif_uri, _index)) = decode_gif_uri(uri.unwrap_or_default()) { From 2bb17c7354b67e941b377c675832fd4eb8ab3906 Mon Sep 17 00:00:00 2001 From: rustbasic <127506429+rustbasic@users.noreply.github.com> Date: Fri, 28 Jun 2024 21:44:34 +0900 Subject: [PATCH 3/4] Update image.rs --- crates/egui/src/widgets/image.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/crates/egui/src/widgets/image.rs b/crates/egui/src/widgets/image.rs index c3893a18c73..a38ba4909e0 100644 --- a/crates/egui/src/widgets/image.rs +++ b/crates/egui/src/widgets/image.rs @@ -283,16 +283,16 @@ impl<'a> Image<'a> { } } + /// Get the `uri` that this image. #[inline] pub fn uri(&self) -> Option<&str> { - let mut uri = self.source.uri(); + let uri = self.source.uri()?; - if is_gif_uri(uri.unwrap_or_default()) { - if let Ok((gif_uri, _index)) = decode_gif_uri(uri.unwrap_or_default()) { - uri = Some(gif_uri); - } + if let Ok((gif_uri, _index)) = decode_gif_uri(uri) { + Some(gif_uri) + } else { + Some(uri) } - uri } #[inline] From 9df6d257e99bd345bf00876298ec6d251453008f Mon Sep 17 00:00:00 2001 From: rustbasic <127506429+rustbasic@users.noreply.github.com> Date: Fri, 5 Jul 2024 00:55:18 +0900 Subject: [PATCH 4/4] Update image.rs --- crates/egui/src/widgets/image.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/egui/src/widgets/image.rs b/crates/egui/src/widgets/image.rs index a38ba4909e0..ab2a10bd6ad 100644 --- a/crates/egui/src/widgets/image.rs +++ b/crates/egui/src/widgets/image.rs @@ -283,7 +283,9 @@ impl<'a> Image<'a> { } } - /// Get the `uri` that this image. + /// Returns the URI of the image. + /// + /// For GIFs, returns the URI without the frame number. #[inline] pub fn uri(&self) -> Option<&str> { let uri = self.source.uri()?;