Make Iris layout dependencies explicit
This commit is contained in:
1 parent
2bc0ff1866
commit
3ae034a47b
25 files changed
+609
-186
No files matched your search
@@ -939,7 +939,7 @@ impl LazySpan {
|
||||
(Some(h), None) => {
|
||||
let (lead, trail) = placement.edges(h);
|
||||
let region = self.row_region(lead, trail);
|
||||
let used = painter.widget_within(self.slot_widget(slot), region);
|
||||
let used = painter.widget_within(self.slot_widget(slot), region).size();
|
||||
let height = resolve(used);
|
||||
if height != h {
|
||||
let (new_lead, new_trail) = placement.edges(height);
|
||||
@@ -957,7 +957,7 @@ impl LazySpan {
|
||||
Placement::Trailing(_) => 0.0,
|
||||
};
|
||||
let first = self.row_region(measure_from, measure_from + GENEROUS_PADDING);
|
||||
let height = resolve(painter.widget_within(self.slot_widget(slot), first));
|
||||
let height = resolve(painter.widget_within(self.slot_widget(slot), first).size());
|
||||
let (lead, trail) = placement.edges(height);
|
||||
if is_anchor {
|
||||
self.stabilize_lead(painter, measure_from, lead);
|
||||
@@ -1072,7 +1072,7 @@ impl Widget for LazySpan {
|
||||
self.tick_fling(now)
|
||||
}
|
||||
|
||||
fn draw(&mut self, painter: &mut Painter) -> Size {
|
||||
fn draw(&mut self, painter: &mut Painter) {
|
||||
let axis = self.dir.axis;
|
||||
let output_len = painter.output_size().axis(axis);
|
||||
self.viewport_len = painter.region().axis(axis).len().to_abs(output_len);
|
||||
@@ -1081,7 +1081,8 @@ impl Widget for LazySpan {
|
||||
self.repair_anchor();
|
||||
if self.anchor.is_none() {
|
||||
self.extents.clear();
|
||||
return Size::REST;
|
||||
painter.set_size(Size::REST);
|
||||
return;
|
||||
}
|
||||
|
||||
// What a wheel, a drag or a fling asked for since the last frame,
|
||||
@@ -1154,7 +1155,7 @@ impl Widget for LazySpan {
|
||||
self.rehome_anchor();
|
||||
self.update_snap_end();
|
||||
self.ctl.set_travel(self.travel());
|
||||
Size::REST
|
||||
painter.set_size(Size::REST);
|
||||
}
|
||||
|
||||
fn size_hint(&self, _axis: Axis) -> Option<Len> {
|
||||
|
||||
Reference in new issue
Block a user