summaryrefslogtreecommitdiffstats
path: root/native/src/element.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2021-10-18 16:43:18 +0700
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2021-10-18 16:43:18 +0700
commitbe97a5d502df8c8b23704f5a8a0d425f4eff2215 (patch)
tree187f0477534c5d5c783ef06686e2209bbf4f3b80 /native/src/element.rs
parent7a876c8b2918ae90cedfd82d1881cf6406811eeb (diff)
downloadiced-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.rs32
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);
}