make painter not stupid (size ctx is kinda tho)

This commit is contained in:
2025-12-16 00:26:25 -05:00
parent 486ed0ffd7
commit 2183fbd3cb
9 changed files with 217 additions and 212 deletions

View File

@@ -144,13 +144,13 @@ pub trait SensorUi<State> {
impl<State: 'static + HasUi> SensorUi<State> for State {
fn run_sensors(&mut self, cursor: &CursorState, window_size: Vec2) {
let layers = std::mem::take(&mut self.ui().data.layers);
let layers = std::mem::take(&mut self.ui().layers);
let mut active =
std::mem::take(&mut self.ui().data.events.get_type::<CursorSense>().active);
std::mem::take(&mut self.ui().events.get_type::<CursorSense>().active);
for layer in layers.indices().rev() {
let mut sensed = false;
for (id, sensor) in active.get_mut(&layer).into_iter().flatten() {
let shape = self.ui().data.active.get(id).unwrap().region;
let shape = self.ui().active.get(id).unwrap().region;
let region = shape.to_px(window_size);
let in_shape = cursor.exists && region.contains(cursor.pos);
sensor.hover.update(in_shape);
@@ -175,8 +175,8 @@ impl<State: 'static + HasUi> SensorUi<State> for State {
break;
}
}
self.ui().data.events.get_type::<CursorSense>().active = active;
self.ui().data.layers = layers;
self.ui().events.get_type::<CursorSense>().active = active;
self.ui().layers = layers;
}
}

View File

@@ -87,7 +87,7 @@ impl<State: 'static> TextBuilderOutput<State> for TextOutput {
builder.attrs.line_height,
));
let hint = builder.hint.get(ui);
let font_system = &mut ui.data.text.font_system;
let font_system = &mut ui.text.font_system;
buf.set_text(font_system, &builder.content, &Attrs::new(), SHAPING, None);
let mut text = Text {
content: builder.content.into(),
@@ -117,7 +117,7 @@ impl<State: 'static> TextBuilderOutput<State> for TextEditOutput {
TextView::new(buf, builder.attrs, builder.hint.get(ui)),
builder.output.single_line,
);
let font_system = &mut ui.data.text.font_system;
let font_system = &mut ui.text.font_system;
text.buf
.set_text(font_system, &builder.content, &Attrs::new(), SHAPING, None);
builder.attrs.apply(font_system, &mut text.buf, None);

View File

@@ -617,8 +617,8 @@ pub trait TextEditable<State> {
impl<State: 'static, I: IdLike<State, Widget = TextEdit<State>>> TextEditable<State> for I {
fn edit<'a>(&self, ui: &'a mut Ui<State>) -> TextEditCtx<'a, State> {
TextEditCtx {
text: ui.data.widgets.get_mut(self).unwrap(),
font_system: &mut ui.data.text.font_system,
text: ui.widgets.get_mut(self).unwrap(),
font_system: &mut ui.text.font_system,
}
}
}