WIP: Introduce layers in renderer
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
This commit is contained in:
co-authored by
Nathan Sobo
parent
bfc57cb4f6
commit
859c0f53cb
@@ -49,7 +49,9 @@ impl Element for Stack {
|
||||
ctx: &mut PaintContext,
|
||||
) -> Self::PaintState {
|
||||
for child in &mut self.children {
|
||||
ctx.scene.push_layer();
|
||||
child.paint(bounds.origin(), ctx);
|
||||
ctx.scene.pop_layer();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+9
-7
@@ -56,14 +56,16 @@ impl Scene {
|
||||
self.layers.as_slice()
|
||||
}
|
||||
|
||||
// pub fn push_layer(&mut self, clip_bounds: Option<RectF>) {
|
||||
pub fn push_layer(&mut self) {
|
||||
let ix = self.layers.len();
|
||||
self.layers.push(Layer::default());
|
||||
self.active_layer_stack.push(ix);
|
||||
}
|
||||
|
||||
// }
|
||||
|
||||
// pub fn pop_layer(&mut self) {
|
||||
// assert!(self.active_layer_stack.len() > 1);
|
||||
// self.active_layer_stack.pop();
|
||||
// }
|
||||
pub fn pop_layer(&mut self) {
|
||||
assert!(self.active_layer_stack.len() > 1);
|
||||
self.active_layer_stack.pop();
|
||||
}
|
||||
|
||||
pub fn push_quad(&mut self, quad: Quad) {
|
||||
self.active_layer().push_quad(quad)
|
||||
|
||||
Reference in New Issue
Block a user