diff --git a/crates/gpui/playground/src/element.rs b/crates/gpui/playground/src/element.rs index 6567a69252..ff1e6412b8 100644 --- a/crates/gpui/playground/src/element.rs +++ b/crates/gpui/playground/src/element.rs @@ -524,6 +524,21 @@ impl AnyElement { from_element: element_layout.as_mut(), }; + let fill_color = self + .element + .style_mut() + .fill + .as_ref() + .and_then(Fill::color) + .map(Into::into); + + cx.scene.push_quad(gpui::scene::Quad { + bounds: layout.from_engine.bounds, + background: fill_color, + border: Default::default(), + corner_radii: Default::default(), + }); + for event_handler in self.element.handlers_mut().iter().cloned() { let EngineLayout { order, bounds } = layout.from_engine; diff --git a/crates/gpui/playground/src/frame.rs b/crates/gpui/playground/src/frame.rs index 7bd5546f3d..56201c331b 100644 --- a/crates/gpui/playground/src/frame.rs +++ b/crates/gpui/playground/src/frame.rs @@ -2,7 +2,7 @@ use crate::{ element::{ AnyElement, Element, EventHandler, IntoElement, Layout, LayoutContext, NodeId, PaintContext, }, - style::{ElementStyle, Fill}, + style::ElementStyle, }; use anyhow::{anyhow, Result}; use gpui::LayoutNodeId; @@ -56,18 +56,6 @@ impl Element for Frame { } fn paint(&mut self, layout: Layout<()>, view: &mut V, cx: &mut PaintContext) -> Result<()> { - cx.scene.push_quad(gpui::scene::Quad { - bounds: layout.from_engine.bounds, - background: self - .style - .fill - .as_ref() - .and_then(Fill::color) - .map(Into::into), - border: Default::default(), - corner_radii: Default::default(), - }); - for child in &mut self.children { child.paint(view, cx)?; }