diff options
author | 2021-10-18 16:47:37 +0700 | |
---|---|---|
committer | 2021-10-18 16:48:08 +0700 | |
commit | 519a0cc233ac915c3a5df2bd81d1375edb05a4ae (patch) | |
tree | 5a80dab5ba54f5034ee2ab68d113b425e7bde8f0 /native/src/widget/column.rs | |
parent | 5130e98dc873f57279f7fa7acb0b7e6d12fb7edf (diff) | |
download | iced-519a0cc233ac915c3a5df2bd81d1375edb05a4ae.tar.gz iced-519a0cc233ac915c3a5df2bd81d1375edb05a4ae.tar.bz2 iced-519a0cc233ac915c3a5df2bd81d1375edb05a4ae.zip |
Implement `Widget::mouse_interaction` for `Column`
Diffstat (limited to 'native/src/widget/column.rs')
-rw-r--r-- | native/src/widget/column.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/native/src/widget/column.rs b/native/src/widget/column.rs index e7ce0041..1d2c8485 100644 --- a/native/src/widget/column.rs +++ b/native/src/widget/column.rs @@ -3,6 +3,7 @@ use std::hash::Hash; use crate::event::{self, Event}; use crate::layout; +use crate::mouse; use crate::overlay; use crate::renderer; use crate::{ @@ -163,6 +164,26 @@ where .fold(event::Status::Ignored, event::Status::merge) } + fn mouse_interaction( + &self, + layout: Layout<'_>, + viewport: &Rectangle, + cursor_position: Point, + ) -> mouse::Interaction { + self.children + .iter() + .zip(layout.children()) + .map(|(child, layout)| { + child.widget.mouse_interaction( + layout, + viewport, + cursor_position, + ) + }) + .max() + .unwrap_or_default() + } + fn draw( &self, renderer: &mut Renderer, |