summaryrefslogtreecommitdiffstats
path: root/native/src/element.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-11-12 00:09:52 +0100
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-11-12 00:09:52 +0100
commit3f968b8c876b7c2351232856887fb9c3e3db3130 (patch)
tree0d8c04a09e2da877bb823bc039a57d4222fb1346 /native/src/element.rs
parent1db11ba69a3183924a1f4cae91031f4c5051b6dc (diff)
downloadiced-3f968b8c876b7c2351232856887fb9c3e3db3130.tar.gz
iced-3f968b8c876b7c2351232856887fb9c3e3db3130.tar.bz2
iced-3f968b8c876b7c2351232856887fb9c3e3db3130.zip
Make `Widget::on_event` return an `event::Status`
Diffstat (limited to 'native/src/element.rs')
-rw-r--r--native/src/element.rs15
1 files changed, 9 insertions, 6 deletions
diff --git a/native/src/element.rs b/native/src/element.rs
index 10e1b5fb..9703a7db 100644
--- a/native/src/element.rs
+++ b/native/src/element.rs
@@ -1,7 +1,8 @@
+use crate::event::{self, Event};
use crate::layout;
use crate::overlay;
use crate::{
- Clipboard, Color, Event, Hasher, Layout, Length, Point, Rectangle, Widget,
+ Clipboard, Color, Hasher, Layout, Length, Point, Rectangle, Widget,
};
/// A generic [`Widget`].
@@ -240,7 +241,7 @@ where
messages: &mut Vec<Message>,
renderer: &Renderer,
clipboard: Option<&dyn Clipboard>,
- ) {
+ ) -> event::Status {
self.widget.on_event(
event,
layout,
@@ -248,7 +249,7 @@ where
messages,
renderer,
clipboard,
- );
+ )
}
/// Draws the [`Element`] and its children using the given [`Layout`].
@@ -335,10 +336,10 @@ where
messages: &mut Vec<B>,
renderer: &Renderer,
clipboard: Option<&dyn Clipboard>,
- ) {
+ ) -> event::Status {
let mut original_messages = Vec::new();
- self.widget.on_event(
+ let status = self.widget.on_event(
event,
layout,
cursor_position,
@@ -350,6 +351,8 @@ where
original_messages
.drain(..)
.for_each(|message| messages.push((self.mapper)(message)));
+
+ status
}
fn draw(
@@ -423,7 +426,7 @@ where
messages: &mut Vec<Message>,
renderer: &Renderer,
clipboard: Option<&dyn Clipboard>,
- ) {
+ ) -> event::Status {
self.element.widget.on_event(
event,
layout,