20 lines
459 B
Rust
20 lines
459 B
Rust
use crate::prelude::*;
|
|
|
|
pub struct Stack {
|
|
pub children: Vec<WidgetId>,
|
|
}
|
|
|
|
impl Widget for Stack {
|
|
fn draw(&mut self, painter: &mut Painter) {
|
|
let base = painter.layer;
|
|
for child in &self.children {
|
|
if painter.layer == base {
|
|
painter.layer = painter.child_layer();
|
|
} else {
|
|
painter.layer = painter.next_layer();
|
|
}
|
|
painter.widget(child);
|
|
}
|
|
}
|
|
}
|