Merge pull request 'Request a frame after resize' (#3) from iris-ai/iris:split/02-resize-redraw into main
Reviewed-on: iris/iris#3 Reviewed-by: iris <2+iris@noreply.localhost>
This commit is contained in:
commit
936fbdd8ce
1 file changed
+7
-2
@@ -52,7 +52,7 @@ impl UiRenderState {
|
||||
);
|
||||
}
|
||||
let root = root.into();
|
||||
if self.root_changed(root) || self.resized {
|
||||
if self.needs_full_redraw(root) {
|
||||
self.redraw_all(root, rsc);
|
||||
self.old_root = root.map(|r| r.id());
|
||||
self.resized = false;
|
||||
@@ -218,12 +218,17 @@ impl UiRenderState {
|
||||
root.into().map(|r| r.id()) != self.old_root
|
||||
}
|
||||
|
||||
// Scheduling and drawing must use the same full-redraw predicate.
|
||||
fn needs_full_redraw<'a>(&self, root: impl Into<Option<&'a StrongWidget>>) -> bool {
|
||||
self.root_changed(root) || self.resized
|
||||
}
|
||||
|
||||
pub fn needs_redraw<'a>(
|
||||
&self,
|
||||
root: impl Into<Option<&'a StrongWidget>>,
|
||||
widgets: &Widgets,
|
||||
) -> bool {
|
||||
self.root_changed(root) || widgets.has_updates()
|
||||
self.needs_full_redraw(root) || widgets.has_updates()
|
||||
}
|
||||
|
||||
pub fn active_widgets(&self) -> usize {
|
||||
|
||||
Reference in new issue
Block a user