summaryrefslogtreecommitdiffstats
path: root/native/src/program
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2021-09-01 19:21:49 +0700
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2021-09-02 13:29:34 +0700
commit76698ff2b5753e637b14533650c0d28e681be3c5 (patch)
tree6b3376df6ac84598b03f2885598b7908e993fe4a /native/src/program
parentb7b7741578257bbf6a8b873c360182e2c9b920ab (diff)
downloadiced-76698ff2b5753e637b14533650c0d28e681be3c5.tar.gz
iced-76698ff2b5753e637b14533650c0d28e681be3c5.tar.bz2
iced-76698ff2b5753e637b14533650c0d28e681be3c5.zip
Make `Command` implementations platform-specific
This allows us to introduce a platform-specific `Action` to both `iced_native` and `iced_web` and remove the `Clipboard` from `Application::update` to maintain purity. Additionally, this should let us implement further actions to let users query and modify the shell environment (e.g. window, clipboard, and more!)
Diffstat (limited to 'native/src/program')
-rw-r--r--native/src/program/state.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/native/src/program/state.rs b/native/src/program/state.rs
index fd1f2b52..3f5f6069 100644
--- a/native/src/program/state.rs
+++ b/native/src/program/state.rs
@@ -1,5 +1,6 @@
use crate::{
- Cache, Command, Debug, Event, Point, Program, Renderer, Size, UserInterface,
+ Cache, Clipboard, Command, Debug, Event, Point, Program, Renderer, Size,
+ UserInterface,
};
/// The execution state of a [`Program`]. It leverages caching, event
@@ -91,7 +92,7 @@ where
bounds: Size,
cursor_position: Point,
renderer: &mut P::Renderer,
- clipboard: &mut P::Clipboard,
+ clipboard: &mut dyn Clipboard,
debug: &mut Debug,
) -> Option<Command<P::Message>> {
let mut user_interface = build_user_interface(
@@ -135,7 +136,7 @@ where
debug.log_message(&message);
debug.update_started();
- let command = self.program.update(message, clipboard);
+ let command = self.program.update(message);
debug.update_finished();
command