graphic design tool
git clone https://git.lucas.co/cce-designer.git
feat: draw the params pane's section corner fillets
cce-ui now draws each section as one continuous outline whose corner fillets are
arcs, so restore the arc pass this pane had before bc55fe9 dropped it — next to
the rounded-quad pass, under the same scroll-viewport clip, since a widget's
arcs would otherwise reach the frame unclipped through append_widget_plate.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
src/render.rs | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/render.rs b/src/render.rs
index a962fb0..ee34fde 100644
--- a/src/render.rs
+++ b/src/render.rs
@@ -245,8 +245,9 @@ impl State {
// The params pane serves its chrome through the legacy plain-quad view,
// which carries flat quads only — the controls' rounded-rect backgrounds
- // (textbox/dropdown/button/toggle/color) come from the rounded view,
- // drawn under the flat chrome and clipped to the pane's scroll viewport.
+ // (textbox/dropdown/button/toggle/color) come from the rounded view and the
+ // section outlines' corner fillets from the arc view, drawn under the flat
+ // chrome and clipped to the pane's scroll viewport.
if idx == PARAM_IDX {
let (px, py, pw, ph) = self.positions[PARAM_IDX];
let view = rect(px, py + 4.0, pw, (ph - 8.0).max(0.0));
@@ -260,6 +261,9 @@ impl State {
for (qx, qy, qw, qh, qr, qc, corners) in param_bg.rounded_quads(&self.ui_context) {
pc.rounded_rect(rect(qx, qy, qw, qh), qr, corners, qc);
}
+ for (acx, acy, ar, at, a0, a1, ac) in param_bg.arcs() {
+ pc.arc(acx, acy, ar, at, a0, a1, ac);
+ }
});
}