From 54a817a5abd7655910f7c4e9f57e0d78ba14b7a3 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Mon, 13 Nov 2023 22:28:33 -0700 Subject: [PATCH] Checkpoint --- crates/gpui2/src/elements/node.rs | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/crates/gpui2/src/elements/node.rs b/crates/gpui2/src/elements/node.rs index 43bac764a9d5574f559b538cac17fd11767ea1c0..d5bfd63647c2f433c2455915e383713ea8ed5d88 100644 --- a/crates/gpui2/src/elements/node.rs +++ b/crates/gpui2/src/elements/node.rs @@ -603,8 +603,6 @@ impl Element for Node { element_state: &mut Self::ElementState, cx: &mut ViewContext, ) { - let mut interactivity = mem::take(&mut self.interactivity); - let mut child_min = point(Pixels::MAX, Pixels::MAX); let mut child_max = Point::default(); let content_size = if element_state.child_layout_ids.is_empty() { @@ -618,6 +616,7 @@ impl Element for Node { (child_max - child_min).into() }; + let mut interactivity = mem::take(&mut self.interactivity); interactivity.paint( bounds, content_size, @@ -664,8 +663,6 @@ impl AsMut for InteractiveElementState { } pub struct Interactivity { - hovered: bool, - group_hovered: bool, key_context: KeyContext, tracked_focus_handle: Option, focusable: bool, @@ -1117,8 +1114,6 @@ where impl Default for Interactivity { fn default() -> Self { Self { - hovered: false, - group_hovered: false, key_context: KeyContext::default(), tracked_focus_handle: None, scroll_offset: Point::default(), @@ -1256,7 +1251,7 @@ where element_state: Option, cx: &mut ViewContext, ) -> Self::ElementState { - todo!() + self.element.initialize(view_state, element_state, cx) } fn layout( @@ -1265,7 +1260,7 @@ where element_state: &mut Self::ElementState, cx: &mut ViewContext, ) -> LayoutId { - todo!() + self.element.layout(view_state, element_state, cx) } fn paint( @@ -1275,7 +1270,7 @@ where element_state: &mut Self::ElementState, cx: &mut ViewContext, ) { - todo!() + self.element.paint(bounds, view_state, element_state, cx); } } @@ -1314,10 +1309,10 @@ where V: 'static, E: Element, { - type ElementState = InteractiveElementState; + type ElementState = E::ElementState; fn id(&self) -> Option { - todo!() + self.element.id() } fn initialize( @@ -1326,7 +1321,7 @@ where element_state: Option, cx: &mut ViewContext, ) -> Self::ElementState { - todo!() + self.element.initialize(view_state, element_state, cx) } fn layout( @@ -1335,7 +1330,7 @@ where element_state: &mut Self::ElementState, cx: &mut ViewContext, ) -> LayoutId { - todo!() + self.element.layout(view_state, element_state, cx) } fn paint( @@ -1345,6 +1340,6 @@ where element_state: &mut Self::ElementState, cx: &mut ViewContext, ) { - todo!() + self.element.paint(bounds, view_state, element_state, cx) } }