FIX SIZE CACHE
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
use crate::{
|
||||
Axis, Len, RenderedText, Size, SizeCtx, TextAttrs, TextBuffer, TextData, TextureHandle,
|
||||
UiRegion, UiVec2, WidgetHandle, WidgetId,
|
||||
UiRegion, Widget, WidgetHandle, WidgetId,
|
||||
render::{Mask, MaskIdx, Primitive, PrimitiveHandle, PrimitiveInst},
|
||||
ui::draw_state::DrawState,
|
||||
util::{HashMap, Vec2},
|
||||
util::Vec2,
|
||||
};
|
||||
|
||||
/// makes your surfaces look pretty
|
||||
@@ -15,8 +15,6 @@ pub struct Painter<'a, 'b, State> {
|
||||
pub(super) textures: Vec<TextureHandle>,
|
||||
pub(super) primitives: Vec<PrimitiveHandle>,
|
||||
pub(super) children: Vec<WidgetId>,
|
||||
pub(super) children_width: HashMap<WidgetId, (UiVec2, Len)>,
|
||||
pub(super) children_height: HashMap<WidgetId, (UiVec2, Len)>,
|
||||
pub layer: usize,
|
||||
pub(super) id: WidgetId,
|
||||
}
|
||||
@@ -97,11 +95,15 @@ impl<'a, 'c, State: 'static> Painter<'a, 'c, State> {
|
||||
self.region
|
||||
}
|
||||
|
||||
pub fn size<W: ?Sized>(&mut self, id: &WidgetHandle<State, W>) -> Size {
|
||||
pub fn size<W: ?Sized + Widget<State>>(&mut self, id: &WidgetHandle<State, W>) -> Size {
|
||||
self.size_ctx().size(id)
|
||||
}
|
||||
|
||||
pub fn len_axis<W: ?Sized>(&mut self, id: &WidgetHandle<State, W>, axis: Axis) -> Len {
|
||||
pub fn len_axis<W: ?Sized + Widget<State>>(
|
||||
&mut self,
|
||||
id: &WidgetHandle<State, W>,
|
||||
axis: Axis,
|
||||
) -> Len {
|
||||
match axis {
|
||||
Axis::X => self.size_ctx().width(id),
|
||||
Axis::Y => self.size_ctx().height(id),
|
||||
@@ -137,12 +139,6 @@ impl<'a, 'c, State: 'static> Painter<'a, 'c, State> {
|
||||
}
|
||||
|
||||
pub fn size_ctx(&mut self) -> SizeCtx<'_, State> {
|
||||
self.state.size_ctx(
|
||||
self.id,
|
||||
self.region.size(),
|
||||
self.id,
|
||||
&mut self.children_width,
|
||||
&mut self.children_height,
|
||||
)
|
||||
self.state.size_ctx(self.id, self.region.size())
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user