summaryrefslogtreecommitdiffstats
path: root/winit/src/application.rs
diff options
context:
space:
mode:
Diffstat (limited to 'winit/src/application.rs')
-rw-r--r--winit/src/application.rs14
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();