1use crate::drawing::path_for_corner_knockouts;
6use crate::render::{BlendMode, Context as RenderContext, FillRule, Layer, Raster};
7use crate::{Coord, Rect, Size};
8
9pub use crate::scene::scene::SceneOrder;
10
11pub mod facets;
13pub mod group;
15pub mod layout;
17pub mod scene;
19
20struct Rendering {
21 size: Size,
22}
23
24impl Rendering {
25 fn new() -> Rendering {
26 Rendering { size: Size::zero() }
27 }
28}
29
30fn raster_for_corner_knockouts(
31 bounds: &Rect,
32 corner_radius: Coord,
33 render_context: &mut RenderContext,
34) -> Raster {
35 let path = path_for_corner_knockouts(bounds, corner_radius, render_context);
36 let mut raster_builder = render_context.raster_builder().expect("raster_builder");
37 raster_builder.add(&path, None);
38 raster_builder.build()
39}
40
41pub trait LayerGroup {
43 fn clear(&mut self);
45
46 fn insert(&mut self, order: SceneOrder, layer: Layer);
48
49 fn remove(&mut self, order: SceneOrder);
51}