summaryrefslogtreecommitdiffstats
path: root/renderer
diff options
context:
space:
mode:
authorLibravatar Bingus <shankern@protonmail.com>2023-09-28 09:48:38 -0700
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2023-11-14 11:31:44 +0100
commit65f4ff060a36c6dc3afea20d75f541d72460d333 (patch)
tree68e3170812b6af935b3f087a357decdaef10d79e /renderer
parent91fca024b629b7ddf4de533a75f01593954362f6 (diff)
downloadiced-65f4ff060a36c6dc3afea20d75f541d72460d333.tar.gz
iced-65f4ff060a36c6dc3afea20d75f541d72460d333.tar.bz2
iced-65f4ff060a36c6dc3afea20d75f541d72460d333.zip
Added redraw request handling to widget events.
Diffstat (limited to 'renderer')
-rw-r--r--renderer/src/widget/shader.rs8
-rw-r--r--renderer/src/widget/shader/event.rs4
2 files changed, 8 insertions, 4 deletions
diff --git a/renderer/src/widget/shader.rs b/renderer/src/widget/shader.rs
index 85fc13c8..385fa981 100644
--- a/renderer/src/widget/shader.rs
+++ b/renderer/src/widget/shader.rs
@@ -5,10 +5,7 @@ use crate::core::mouse::{Cursor, Interaction};
use crate::core::renderer::Style;
use crate::core::widget::tree::{State, Tag};
use crate::core::widget::{tree, Tree};
-use crate::core::{
- self, layout, mouse, widget, Clipboard, Element, Layout, Length, Rectangle,
- Shell, Size, Widget,
-};
+use crate::core::{self, layout, mouse, widget, Clipboard, Element, Layout, Length, Rectangle, Shell, Size, Widget, window};
use std::marker::PhantomData;
mod event;
@@ -109,6 +106,9 @@ where
Some(Event::Keyboard(keyboard_event))
}
core::Event::Touch(touch_event) => Some(Event::Touch(touch_event)),
+ core::Event::Window(window::Event::RedrawRequested(instant)) => {
+ Some(Event::RedrawRequested(instant))
+ }
_ => None,
};
diff --git a/renderer/src/widget/shader/event.rs b/renderer/src/widget/shader/event.rs
index 981b30d7..c1696580 100644
--- a/renderer/src/widget/shader/event.rs
+++ b/renderer/src/widget/shader/event.rs
@@ -1,4 +1,5 @@
//! Handle events of a custom shader widget.
+use std::time::Instant;
use crate::core::keyboard;
use crate::core::mouse;
use crate::core::touch;
@@ -18,4 +19,7 @@ pub enum Event {
/// A keyboard event.
Keyboard(keyboard::Event),
+
+ /// A window requested a redraw.
+ RedrawRequested(Instant),
}