Co-Authored-By: Nathan Sobo <nathan@zed.dev>
This commit is contained in:
Antonio Scandurra
2021-08-30 17:24:51 +02:00
co-authored by Nathan Sobo
parent 87cd668a33
commit 917a80ec36
3 changed files with 10 additions and 7 deletions
+1 -1
View File
@@ -1248,7 +1248,7 @@ impl MutableAppContext {
)
}
pub fn render_cx<V: View>(
pub fn build_render_context<V: View>(
&mut self,
window_id: usize,
view_id: usize,
+4 -4
View File
@@ -440,13 +440,13 @@ mod tests {
let mut list = List::new(
state.clone(),
&cx.render_cx::<TestView>(0, 0, 0., false),
&cx.build_render_context::<TestView>(0, 0, 0., false),
|range| elements[range].iter().copied().map(item),
)
.boxed();
let size = list.layout(
SizeConstraint::new(vec2f(0., 0.), vec2f(100., 40.)),
&mut presenter.layout_cx(cx),
&mut presenter.build_layout_context(cx),
);
assert_eq!(size, vec2f(100., 40.));
assert_eq!(
@@ -473,13 +473,13 @@ mod tests {
let mut list = List::new(
state.clone(),
&cx.render_cx::<TestView>(0, 0, 0., false),
&cx.build_render_context::<TestView>(0, 0, 0., false),
|range| elements[range].iter().copied().map(item),
)
.boxed();
let size = list.layout(
SizeConstraint::new(vec2f(0., 0.), vec2f(100., 40.)),
&mut presenter.layout_cx(cx),
&mut presenter.build_layout_context(cx),
);
assert_eq!(size, vec2f(100., 40.));
assert_eq!(
+5 -2
View File
@@ -124,12 +124,15 @@ impl Presenter {
fn layout(&mut self, size: Vector2F, cx: &mut MutableAppContext) {
if let Some(root_view_id) = cx.root_view_id(self.window_id) {
self.layout_cx(cx)
self.build_layout_context(cx)
.layout(root_view_id, SizeConstraint::strict(size));
}
}
pub fn layout_cx<'a>(&'a mut self, cx: &'a mut MutableAppContext) -> LayoutContext<'a> {
pub fn build_layout_context<'a>(
&'a mut self,
cx: &'a mut MutableAppContext,
) -> LayoutContext<'a> {
LayoutContext {
rendered_views: &mut self.rendered_views,
parents: &mut self.parents,