system settings
git clone https://git.lucas.co/cce-system-interface.git
feat: root plate onto PlateSpec (cce-ui RFC 7b-2)
The root plate emits through PaintCtx::plate_spec: all four corners are
window corners, so the perimeter follows the SHARED silhouette curve the
compositor clips with — the previous radius left the corner arc detached
from the clip. Verified: diffs confined to the corner arcs.
src/main.rs | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/main.rs b/src/main.rs
index d5e9b85..30f9bb3 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -290,8 +290,15 @@ impl cce_ui::engine::Application for SystemInterface {
if plate[3] > 0.001 {
plate[3] = cce_ui::color::root_plate_opacity();
}
- let r = 12.0f32;
- pc.plate(Rect { x: 0.0, y: 0.0, width, height }, (r, r, r, r), plate, cce_ui::layout::bevel_width());
+ // PlateSpec (cce-ui RFC 7b): the hardcoded r=12 detached this
+ // plate's corners from the compositor's silhouette clip.
+ pc.plate_spec(&cce_ui::scene::paint::PlateSpec {
+ rect: Rect { x: 0.0, y: 0.0, width, height },
+ color: plate,
+ blur: false,
+ window_corners: (true, true, true, true),
+ depth: cce_ui::layout::bevel_width(),
+ });
let sb_h = self.status_height;
let depth = cce_ui::layout::bar_wall_width().min(sb_h * 0.6);
pc.recess_edges(