From b6110fed9e78cc2d30df24ef3a2352667ba98e0b Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Fri, 4 Aug 2023 07:56:20 -0600 Subject: [PATCH] WIP --- crates/gpui/playground/ui/src/node.rs | 5 +++++ crates/gpui/src/app/window.rs | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/crates/gpui/playground/ui/src/node.rs b/crates/gpui/playground/ui/src/node.rs index 979b2f84157485a6464121fc5b4c83bd96dcdaae..9cea0aa043935906a2c1e0fc84cd81142c00ece2 100644 --- a/crates/gpui/playground/ui/src/node.rs +++ b/crates/gpui/playground/ui/src/node.rs @@ -1528,6 +1528,11 @@ mod tests { }); }); + window.update(cx, |cx| { + let root = cx.root_element(); + dbg!(root.debug(cx).unwrap()); + }); + // tree.layout( // SizeConstraint::strict(vec2f(100., 100.)), // &mut (), diff --git a/crates/gpui/src/app/window.rs b/crates/gpui/src/app/window.rs index 14728ae1b412fb0f82065cfedbaa55cb971c13c7..4a00e529823cb76cbc8b55df237adaca16aba81e 100644 --- a/crates/gpui/src/app/window.rs +++ b/crates/gpui/src/app/window.rs @@ -923,7 +923,7 @@ impl<'a> WindowContext<'a> { Ok(element) } - pub(crate) fn layout(&mut self, refreshing: bool) -> Result> { + pub fn layout(&mut self, refreshing: bool) -> Result> { let window_size = self.window.platform_window.content_size(); let root_view_id = self.window.root_view().id(); let mut rendered_root = self.window.rendered_views.remove(&root_view_id).unwrap(); @@ -963,7 +963,7 @@ impl<'a> WindowContext<'a> { Ok(old_parents) } - pub(crate) fn paint(&mut self) -> Result { + pub fn paint(&mut self) -> Result { let window_size = self.window.platform_window.content_size(); let scale_factor = self.window.platform_window.scale_factor(); @@ -995,6 +995,11 @@ impl<'a> WindowContext<'a> { Ok(scene) } + pub fn root_element(&self) -> &Box { + let view_id = self.window.root_view().id(); + self.window.rendered_views.get(&view_id).unwrap() + } + pub fn rect_for_text_range(&self, range_utf16: Range) -> Option { let focused_view_id = self.window.focused_view_id?; self.window