diff options
author | 2021-10-18 16:43:18 +0700 | |
---|---|---|
committer | 2021-10-18 16:43:18 +0700 | |
commit | be97a5d502df8c8b23704f5a8a0d425f4eff2215 (patch) | |
tree | 187f0477534c5d5c783ef06686e2209bbf4f3b80 /native/src/element.rs | |
parent | 7a876c8b2918ae90cedfd82d1881cf6406811eeb (diff) | |
download | iced-be97a5d502df8c8b23704f5a8a0d425f4eff2215.tar.gz iced-be97a5d502df8c8b23704f5a8a0d425f4eff2215.tar.bz2 iced-be97a5d502df8c8b23704f5a8a0d425f4eff2215.zip |
Introduce `mouse_interaction` method to `Widget` trait
Diffstat (limited to '')
-rw-r--r-- | native/src/element.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/native/src/element.rs b/native/src/element.rs index 3ecd8e26..44b6d1ec 100644 --- a/native/src/element.rs +++ b/native/src/element.rs @@ -1,5 +1,6 @@ use crate::event::{self, Event}; use crate::layout; +use crate::mouse; use crate::overlay; use crate::renderer; use crate::{ @@ -251,6 +252,16 @@ where .draw(renderer, style, layout, cursor_position, viewport) } + pub fn mouse_interaction( + &self, + layout: Layout<'_>, + viewport: &Rectangle, + cursor_position: Point, + ) -> mouse::Interaction { + self.widget + .mouse_interaction(layout, viewport, cursor_position) + } + /// Computes the _layout_ hash of the [`Element`]. pub fn hash_layout(&self, state: &mut Hasher) { self.widget.hash_layout(state); @@ -346,6 +357,16 @@ where .draw(renderer, style, layout, cursor_position, viewport) } + fn mouse_interaction( + &self, + layout: Layout<'_>, + viewport: &Rectangle, + cursor_position: Point, + ) -> mouse::Interaction { + self.widget + .mouse_interaction(layout, viewport, cursor_position) + } + fn hash_layout(&self, state: &mut Hasher) { self.widget.hash_layout(state); } @@ -426,6 +447,17 @@ where ) { } + fn mouse_interaction( + &self, + layout: Layout<'_>, + viewport: &Rectangle, + cursor_position: Point, + ) -> mouse::Interaction { + self.element + .widget + .mouse_interaction(layout, viewport, cursor_position) + } + fn hash_layout(&self, state: &mut Hasher) { self.element.widget.hash_layout(state); } |