fix(collab): deterministic nameplates — pin GAL text justify + punch chip text through the depth test
Two root causes of the wandering/invisible badge text: - A plain VIEW_OVERLAY draws with whatever text justify the LAST painter left in the GAL (CENTER is only the reset default) — anchoring was nondeterministic. PRESENCE_OVERLAY (VIEW_OVERLAY subclass, replaces MakeOverlay) pins TOP-LEFT justify before executing its commands; the label math is written against that. - The whole overlay draws at ONE depth and same-depth fragments drawn later LOSE the depth test — a chip rect over its text erased the text. Draw the text FIRST, the chip rect AFTER: the rect is rejected exactly on the glyph pixels, punching the text through. Verified live: chips contain their names on light (dark text) and dark (white text) user colors, for both selection tags and cursor labels. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CvqUd4QsJSGHN28aunJRTq
This commit is contained in:
parent
21e3df8fd0
commit
4c287c2a27
3 changed files with 59 additions and 28 deletions
|
|
@ -799,7 +799,7 @@ void redrawOverlay()
|
|||
KIGFX::VIEW* view = fr->GetCanvas()->GetView();
|
||||
|
||||
if( !g_overlay )
|
||||
g_overlay = view->MakeOverlay();
|
||||
g_overlay = pcbjam_presence::makePresenceOverlay( view );
|
||||
|
||||
g_overlay->Clear();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue