diff options
author | 2023-02-15 14:55:02 -0800 | |
---|---|---|
committer | 2023-02-15 14:55:02 -0800 | |
commit | 63fb608d8bea8a653bf011f5f9cffc88525576e0 (patch) | |
tree | 938c15b85fd9d27ee3a82806cf83bc211e7b94dd /native/src/overlay/element.rs | |
parent | 64e0e817c27d720dc954ee94de58ded35b3f9f9a (diff) | |
parent | 0cb72f69716adc82ad85a0ee7120edb6e653b0c0 (diff) | |
download | iced-63fb608d8bea8a653bf011f5f9cffc88525576e0.tar.gz iced-63fb608d8bea8a653bf011f5f9cffc88525576e0.tar.bz2 iced-63fb608d8bea8a653bf011f5f9cffc88525576e0.zip |
Merge remote-tracking branch 'origin/master' into feat/multi-window-support
# Conflicts:
# native/src/command/action.rs
# native/src/window/action.rs
# winit/src/window.rs
Diffstat (limited to '')
-rw-r--r-- | native/src/overlay/element.rs | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/native/src/overlay/element.rs b/native/src/overlay/element.rs index 41a8a597..237d25d1 100644 --- a/native/src/overlay/element.rs +++ b/native/src/overlay/element.rs @@ -53,8 +53,14 @@ where } /// Computes the layout of the [`Element`] in the given bounds. - pub fn layout(&self, renderer: &Renderer, bounds: Size) -> layout::Node { - self.overlay.layout(renderer, bounds, self.position) + pub fn layout( + &self, + renderer: &Renderer, + bounds: Size, + translation: Vector, + ) -> layout::Node { + self.overlay + .layout(renderer, bounds, self.position + translation) } /// Processes a runtime [`Event`]. @@ -115,6 +121,11 @@ where ) { self.overlay.operate(layout, renderer, operation); } + + /// Returns true if the cursor is over the [`Element`]. + pub fn is_over(&self, layout: Layout<'_>, cursor_position: Point) -> bool { + self.overlay.is_over(layout, cursor_position) + } } struct Map<'a, A, B, Renderer> { @@ -252,4 +263,8 @@ where self.content .draw(renderer, theme, style, layout, cursor_position) } + + fn is_over(&self, layout: Layout<'_>, cursor_position: Point) -> bool { + self.content.is_over(layout, cursor_position) + } } |