From be97a5d502df8c8b23704f5a8a0d425f4eff2215 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Mon, 18 Oct 2021 16:43:18 +0700 Subject: Introduce `mouse_interaction` method to `Widget` trait --- native/src/element.rs | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'native/src/element.rs') 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); } -- cgit