From ab6ab73ef75ab5560d21eef46f31b731fed97e05 Mon Sep 17 00:00:00 2001 From: koneko64 Date: Tue, 22 Jul 2025 01:19:43 -0500 Subject: [PATCH] Fix missing redraw request in `geometry` example --- examples/geometry/src/main.rs | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/examples/geometry/src/main.rs b/examples/geometry/src/main.rs index 1334a52f..feffd2df 100644 --- a/examples/geometry/src/main.rs +++ b/examples/geometry/src/main.rs @@ -5,10 +5,11 @@ mod rainbow { use iced::advanced::layout::{self, Layout}; use iced::advanced::renderer; use iced::advanced::widget::{self, Widget}; + use iced::advanced::{Clipboard, Shell}; use iced::mouse; use iced::{ - Element, Length, Rectangle, Renderer, Size, Theme, Transformation, - Vector, + Element, Event, Length, Rectangle, Renderer, Size, Theme, + Transformation, Vector, }; #[derive(Debug, Clone, Copy, Default)] @@ -37,6 +38,22 @@ mod rainbow { layout::Node::new(Size::new(width, width)) } + fn update( + &mut self, + _state: &mut widget::Tree, + _event: &Event, + layout: Layout<'_>, + cursor: mouse::Cursor, + _renderer: &Renderer, + _clipboard: &mut dyn Clipboard, + shell: &mut Shell<'_, Message>, + _viewport: &Rectangle, + ) { + if cursor.is_over(layout.bounds()) { + shell.request_redraw(); + } + } + fn draw( &self, _tree: &widget::Tree,