diff options
author | 2019-12-18 07:45:49 +0100 | |
---|---|---|
committer | 2019-12-18 07:45:49 +0100 | |
commit | a14b39555e5c480422c24df7d708dd1addd0a67b (patch) | |
tree | 00404b80c27f715d3739f14d882e88241d68f0c1 /winit/src/application.rs | |
parent | 0f2e20f5e5b1f0658ab4e6cbe6fdda9ca97f2b36 (diff) | |
download | iced-a14b39555e5c480422c24df7d708dd1addd0a67b.tar.gz iced-a14b39555e5c480422c24df7d708dd1addd0a67b.tar.bz2 iced-a14b39555e5c480422c24df7d708dd1addd0a67b.zip |
Allow clipboard access in `Widget::on_event`
Diffstat (limited to '')
-rw-r--r-- | winit/src/application.rs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/winit/src/application.rs b/winit/src/application.rs index 3b8ac16b..a8612b1a 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -2,8 +2,8 @@ use crate::{ conversion, input::{keyboard, mouse}, renderer::{Target, Windowed}, - subscription, Cache, Command, Container, Debug, Element, Event, Length, - MouseCursor, Settings, Subscription, UserInterface, + subscription, Cache, Clipboard, Command, Container, Debug, Element, Event, + Length, MouseCursor, Settings, Subscription, UserInterface, }; /// An interactive, native cross-platform application. @@ -139,6 +139,7 @@ pub trait Application: Sized { let mut size = window.inner_size(); let mut resized = false; + let clipboard = Clipboard::new(&window); let mut renderer = Self::Renderer::new(); let mut target = { @@ -193,8 +194,13 @@ pub trait Application: Sized { subscription_pool.broadcast_event(*event) }); - let mut messages = - user_interface.update(&renderer, events.drain(..)); + let mut messages = user_interface.update( + &renderer, + clipboard + .as_ref() + .map(|c| c as &dyn iced_native::Clipboard), + events.drain(..), + ); messages.extend(external_messages.drain(..)); debug.event_processing_finished(); |