iris: fold render state into Ui

This commit is contained in:
iris committed 2026-09-10 23:58:43 -04:00
1 parent 44a5da378b
commit 9b4c690916
25 files changed
+421 -390

No files matched your search

+9 -9
View File
@@ -161,7 +161,7 @@ pub trait TextSelectable {
impl<I: IdLike<Widget = Text>> TextSelectable for I {
fn selection<'a>(&self, ui: &'a mut impl UiRsc) -> TextSelectionCtx<'a> {
let ui = ui.ui_mut();
let ui: &mut UiData = ui.ui_mut();
TextSelectionCtx {
view: &mut ui.widgets.get_mut(self).unwrap().view,
data: &mut ui.text,
@@ -250,7 +250,7 @@ impl SelectionController {
id: WidgetId,
f: impl FnOnce(&mut TextSelectionCtx<'_>) -> T,
) -> Option<T> {
let ui = rsc.ui_mut();
let ui: &mut UiData = rsc.ui_mut();
let text = ui
.widgets
.get_dyn_mut(id)?
@@ -481,16 +481,16 @@ mod controller_tests {
use super::*;
struct TestRsc {
ui: UiData,
ui: Ui,
events: EventManager<TestRsc>,
}
impl UiRsc for TestRsc {
fn ui(&self) -> &UiData {
fn ui(&self) -> &Ui {
&self.ui
}
fn ui_mut(&mut self) -> &mut UiData {
fn ui_mut(&mut self) -> &mut Ui {
&mut self.ui
}
@@ -532,7 +532,7 @@ mod controller_tests {
StrongWidget,
) {
let mut rsc = TestRsc {
ui: UiData::default(),
ui: Ui::default(),
events: EventManager::default(),
};
let first = wtext("first").add(&mut rsc);
@@ -571,7 +571,7 @@ mod controller_tests {
#[test]
fn a_widget_without_an_order_override_keeps_draw_order() {
let mut rsc = TestRsc {
ui: UiData::default(),
ui: Ui::default(),
events: EventManager::default(),
};
let first = wtext("back").add(&mut rsc);
@@ -604,7 +604,7 @@ mod controller_tests {
#[test]
fn nearest_controller_prefers_the_inner_scope() {
let mut rsc = TestRsc {
ui: UiData::default(),
ui: Ui::default(),
events: EventManager::default(),
};
let leaf = wtext("leaf").add(&mut rsc);
@@ -624,7 +624,7 @@ mod controller_tests {
let found = rsc
.events()
.controllers
.nearest_id::<SelectionController>(leaf.id())
.nearest_id::<SelectionController>(leaf.id(), &render)
.unwrap();
assert_eq!(found.host(), inner.id());
}