login authentication (PAM + fingerprint)
git clone https://git.lucas.co/cce-authenticator.git
refactor: widget text via the paint walk, not the text_labels getters (Phase 6ao)
The flat per-widget text_labels() loop becomes
scene::painter::append_widget_text per widget — same labels, but carrying
each widget's content font (legacy dropped it to the default font) and the
walk's clip bounds. A/B: only widget-owned labels (Scan, PASSWORD
placeholder, Verify Password, Cancel) change — they now render in the
widgets' configured monospace control font; all app-emitted chrome text is
byte-identical.
Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_018u7qTwzX95dd5ysAkaSCLk
src/main.rs | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/src/main.rs b/src/main.rs
index 1d0a7e9..15b99f5 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -494,12 +494,8 @@ impl Application for AuthenticatorApp {
);
pc.text_with("PASSWORD AUTHENTICATION".to_string(), pw_col_x, pw_col_y - 15.0, 10.0, [0x83, 0x83, 0x8a], None, None);
- let mut labels = Vec::new();
- for w in &self.widgets_iter() {
- labels.extend(w.text_labels());
- }
- for label in labels {
- pc.text_with(label.text, label.x, label.y, label.font_size, label.color, None, None);
+ for w in self.widgets_iter() {
+ cce_ui::scene::painter::append_widget_text(&self.ui_context, w, &mut pc);
}
let status_color = if self.status_is_success {