Skip to content

Commit d1dd372

Browse files
committed
Fix loupe example not requesting redraws
Closes #3153.
1 parent bc3a12c commit d1dd372

1 file changed

Lines changed: 17 additions & 1 deletion

File tree

examples/loupe/src/main.rs

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,12 @@ impl Loupe {
4747

4848
mod loupe {
4949
use iced::advanced::Renderer as _;
50+
use iced::advanced::Shell;
5051
use iced::advanced::layout::{self, Layout};
5152
use iced::advanced::renderer;
5253
use iced::advanced::widget::{self, Widget};
5354
use iced::mouse;
54-
use iced::{Color, Element, Length, Rectangle, Renderer, Size, Theme, Transformation};
55+
use iced::{Color, Element, Event, Length, Rectangle, Renderer, Size, Theme, Transformation};
5556

5657
pub fn loupe<'a, Message>(
5758
zoom: f32,
@@ -101,6 +102,21 @@ mod loupe {
101102
self.content.as_widget_mut().layout(tree, renderer, limits)
102103
}
103104

105+
fn update(
106+
&mut self,
107+
_tree: &mut widget::Tree,
108+
_event: &Event,
109+
layout: Layout<'_>,
110+
cursor: mouse::Cursor,
111+
_renderer: &Renderer,
112+
shell: &mut Shell<'_, Message>,
113+
_viewport: &Rectangle,
114+
) {
115+
if cursor.is_over(layout.bounds().expand(10)) {
116+
shell.request_redraw();
117+
}
118+
}
119+
104120
fn draw(
105121
&self,
106122
tree: &widget::Tree,

0 commit comments

Comments
 (0)