From 0b66095f9ffddad0a6bc6f4e8aa4e2311e89292a Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Fri, 29 Oct 2021 16:47:30 +0700 Subject: Implement `Widget::mouse_interaction` for `Canvas` in `iced_graphics` --- graphics/src/widget/canvas.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'graphics') diff --git a/graphics/src/widget/canvas.rs b/graphics/src/widget/canvas.rs index 1b0d49d8..ad9704d0 100644 --- a/graphics/src/widget/canvas.rs +++ b/graphics/src/widget/canvas.rs @@ -7,6 +7,7 @@ use crate::renderer::{self, Renderer}; use crate::{Backend, Primitive}; use iced_native::layout; +use iced_native::mouse; use iced_native::{ Clipboard, Element, Hasher, Layout, Length, Point, Rectangle, Size, Vector, Widget, @@ -187,6 +188,18 @@ where event::Status::Ignored } + fn mouse_interaction( + &self, + layout: Layout<'_>, + _viewport: &Rectangle, + cursor_position: Point, + ) -> mouse::Interaction { + let bounds = layout.bounds(); + let cursor = Cursor::from_window_position(cursor_position); + + self.program.mouse_interaction(bounds, cursor) + } + fn draw( &self, renderer: &mut Renderer, -- cgit