update px dependent on resize + move painter data into struct in ui
This commit is contained in:
@@ -169,8 +169,8 @@ impl<Ctx: UiCtx + 'static> SensorCtx for Ctx {
|
||||
|
||||
impl<Ctx: UiCtx + 'static> CursorModule<Ctx> {
|
||||
pub fn run(ctx: &mut Ctx, cursor: &CursorState, window_size: Vec2) {
|
||||
let layers = std::mem::take(&mut ctx.ui().layers);
|
||||
let mut module = std::mem::take(ctx.ui().modules.get_mut::<Self>());
|
||||
let layers = std::mem::take(&mut ctx.ui().data.layers);
|
||||
let mut module = std::mem::take(ctx.ui().data.modules.get_mut::<Self>());
|
||||
|
||||
for i in layers.indices().rev() {
|
||||
let Some(list) = module.active.get_mut(&i) else {
|
||||
@@ -203,10 +203,10 @@ impl<Ctx: UiCtx + 'static> CursorModule<Ctx> {
|
||||
}
|
||||
}
|
||||
|
||||
let ui_mod = ctx.ui().modules.get_mut::<Self>();
|
||||
let ui_mod = ctx.ui().data.modules.get_mut::<Self>();
|
||||
std::mem::swap(ui_mod, &mut module);
|
||||
ui_mod.merge(module);
|
||||
ctx.ui().layers = layers;
|
||||
ctx.ui().data.layers = layers;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -124,12 +124,8 @@ impl FnOnce<(&mut Ui,)> for TextBuilder {
|
||||
extern "rust-call" fn call_once(self, args: (&mut Ui,)) -> Self::Output {
|
||||
let mut buf =
|
||||
TextBuffer::new_empty(Metrics::new(self.attrs.font_size, self.attrs.line_height));
|
||||
buf.set_text(
|
||||
&mut args.0.text.font_system,
|
||||
&self.content,
|
||||
&Attrs::new(),
|
||||
Shaping::Advanced,
|
||||
);
|
||||
let font_system = &mut args.0.data.text.font_system;
|
||||
buf.set_text(font_system, &self.content, &Attrs::new(), Shaping::Advanced);
|
||||
let mut text = Text {
|
||||
content: self.content.into(),
|
||||
buf,
|
||||
@@ -138,8 +134,7 @@ impl FnOnce<(&mut Ui,)> for TextBuilder {
|
||||
size: Vec2::ZERO,
|
||||
};
|
||||
text.content.changed = false;
|
||||
self.attrs
|
||||
.apply(&mut args.0.text.font_system, &mut text.buf, None);
|
||||
self.attrs.apply(font_system, &mut text.buf, None);
|
||||
text
|
||||
}
|
||||
}
|
||||
|
||||
@@ -322,14 +322,10 @@ impl FnOnce<(&mut Ui,)> for TextEditBuilder {
|
||||
cursor: None,
|
||||
size: Vec2::ZERO,
|
||||
};
|
||||
text.buf.set_text(
|
||||
&mut args.0.text.font_system,
|
||||
&self.content,
|
||||
&Attrs::new(),
|
||||
Shaping::Advanced,
|
||||
);
|
||||
self.attrs
|
||||
.apply(&mut args.0.text.font_system, &mut text.buf, None);
|
||||
let font_system = &mut args.0.data.text.font_system;
|
||||
text.buf
|
||||
.set_text(font_system, &self.content, &Attrs::new(), Shaping::Advanced);
|
||||
self.attrs.apply(font_system, &mut text.buf, None);
|
||||
text
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user