diff options
author | 2024-01-18 03:46:13 +0100 | |
---|---|---|
committer | 2024-01-18 03:46:13 +0100 | |
commit | 61e3d8502fec7e83c584218e598fa20c79363be3 (patch) | |
tree | 89dcd993beff331e5a92e00c9249e0413ee2e5f5 /widget | |
parent | 070abff5cee7fd351185a7cbc38a54e1d5f0db70 (diff) | |
parent | b083eda663b8939e1c3e86b5ce2cb5fa8fc80ccb (diff) | |
download | iced-61e3d8502fec7e83c584218e598fa20c79363be3.tar.gz iced-61e3d8502fec7e83c584218e598fa20c79363be3.tar.bz2 iced-61e3d8502fec7e83c584218e598fa20c79363be3.zip |
Merge pull request #2163 from hicaru/svg_hover
added svg hover, for styles impl
Diffstat (limited to 'widget')
-rw-r--r-- | widget/src/svg.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/widget/src/svg.rs b/widget/src/svg.rs index 830abb0f..2357cf65 100644 --- a/widget/src/svg.rs +++ b/widget/src/svg.rs @@ -141,7 +141,7 @@ where theme: &Renderer::Theme, _style: &renderer::Style, layout: Layout<'_>, - _cursor: mouse::Cursor, + cursor: mouse::Cursor, _viewport: &Rectangle, ) { let Size { width, height } = renderer.dimensions(&self.handle); @@ -149,6 +149,7 @@ where let bounds = layout.bounds(); let adjusted_fit = self.content_fit.fit(image_size, bounds.size()); + let is_mouse_over = cursor.is_over(bounds); let render = |renderer: &mut Renderer| { let offset = Vector::new( @@ -162,7 +163,11 @@ where ..bounds }; - let appearance = theme.appearance(&self.style); + let appearance = if is_mouse_over { + theme.hovered(&self.style) + } else { + theme.appearance(&self.style) + }; renderer.draw( self.handle.clone(), |