refactor painter
This commit is contained in:
1 parent
2183fbd3cb
commit
71f3beaf94
5 files changed
+470
-457
No files matched your search
+9
-4
@@ -1,6 +1,7 @@
|
||||
use crate::{
|
||||
Event, EventFn, EventLike, EventManager, IdLike, Mask, PixelRegion, PrimitiveLayers, TextData,
|
||||
TextureHandle, Textures, Widget, WidgetHandle, WidgetId, WidgetLike, Widgets,
|
||||
ui::draw_state::DrawState,
|
||||
util::{HashMap, TrackedArena, Vec2},
|
||||
};
|
||||
use image::DynamicImage;
|
||||
@@ -9,8 +10,12 @@ use std::{
|
||||
sync::mpsc::{Receiver, Sender, channel},
|
||||
};
|
||||
|
||||
mod draw_state;
|
||||
mod painter;
|
||||
pub use painter::{ActiveData, Painter, SizeCtx};
|
||||
mod size;
|
||||
|
||||
pub use painter::{ActiveData, Painter};
|
||||
pub use size::*;
|
||||
|
||||
pub struct Ui<State> {
|
||||
// TODO: edit visibilities
|
||||
@@ -106,14 +111,14 @@ impl<State: 'static> Ui<State> {
|
||||
|
||||
pub fn update(&mut self) {
|
||||
if self.full_redraw {
|
||||
self.redraw_all();
|
||||
DrawState::new(self).redraw_all();
|
||||
self.full_redraw = false;
|
||||
} else if self.widgets.has_updates() {
|
||||
self.redraw_updates();
|
||||
DrawState::new(self).redraw_updates();
|
||||
}
|
||||
if self.resized {
|
||||
self.resized = false;
|
||||
self.redraw_all();
|
||||
DrawState::new(self).redraw_all();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user