From bbd9355450bc2df3a2c0e37cc900ba00b26255af Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Mon, 29 Nov 2021 16:22:01 +0700 Subject: Introduce `Shell` type in `iced_native` Widgets now can invalidate the current layout of the application on demand. --- graphics/src/widget/canvas.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'graphics') diff --git a/graphics/src/widget/canvas.rs b/graphics/src/widget/canvas.rs index 639c2a9b..97846d65 100644 --- a/graphics/src/widget/canvas.rs +++ b/graphics/src/widget/canvas.rs @@ -9,8 +9,8 @@ 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, + Clipboard, Element, Hasher, Layout, Length, Point, Rectangle, Shell, Size, + Vector, Widget, }; use std::hash::Hash; use std::marker::PhantomData; @@ -158,7 +158,7 @@ where cursor_position: Point, _renderer: &Renderer, _clipboard: &mut dyn Clipboard, - messages: &mut Vec, + shell: &mut Shell<'_, Message>, ) -> event::Status { let bounds = layout.bounds(); @@ -179,7 +179,7 @@ where self.program.update(canvas_event, bounds, cursor); if let Some(message) = message { - messages.push(message); + shell.publish(message); } return event_status; -- cgit