mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-10 20:13:24 -08:00
The pre-#7595 add, remove and delete icons were filled shapes with a black outline and no disc. A tint cannot bring that back, and the badge disc is a different icon language, so add a third value to the existing style axis. IconStyle::Sticker draws the sentinel glyph twice: a near-black rim at the band width plus one rim on each side, then the tone pass clipped to the glyph and filled with a vertical gradient. Both treatments keep the disabled fallback to the line glyph. The fill rule moves into theme_icon_fill: the semantic tones are tuned for text, so a filled shape gives its tone a saturation floor, and a dark-scheme tone is pulled down rather than up. IconTint::resolve() applies the same floor to line glyphs, and the badge disc uses the same fill, so a line, a badge and a sticker next to each other carry the same green or red instead of a pale line beside a saturated glyph. The badge's glyph ink follows the scheme: white on light-scheme tones, as in the pre-#7595 art, and the saturated tone darkened to an outline-dark ink on dark-scheme tones, where the shared saturated disc is light enough that white would sit near 2.7:1. The new test pins both cases so the glyph cannot silently flip. resolveSvgStrokeWidth() moves the stroke-width rewrite into libcockatrice_utility so the badge and the sticker share it; the badge's local copy is gone. The sticker is opted into at 17 call sites: increment, decrement and remove_row in the deck editor, settings pages, token dialog, server dialogs and replay/deck storage tabs. The visual database's clear-filter button keeps its trash can (icons/delete) in the line treatment: that glyph is new in #7595, but it is the clearer metaphor, and a sticker rim closes its lid gap at toolbar sizes. The preview generators also gain a semantic-tint sheet for #7775 and a line/badge/sticker family strip, so the three PR descriptions can show the same rendered colors. |
||
|---|---|---|
| .. | ||
| card_database_update | ||
| card_picture_loader | ||
| deck_loader | ||
| intents | ||
| layouts | ||
| palette_editor | ||
| widgets | ||
| at_risk_data_warning.cpp | ||
| at_risk_data_warning.h | ||
| card_localization.h | ||
| key_signals.cpp | ||
| key_signals.h | ||
| logger.cpp | ||
| logger.h | ||
| pixel_map_generator.cpp | ||
| pixel_map_generator.h | ||
| recording.cpp | ||
| recording.h | ||
| theme_config.cpp | ||
| theme_config.h | ||
| theme_icon.cpp | ||
| theme_icon.h | ||
| theme_icon_badge.cpp | ||
| theme_icon_badge.h | ||
| theme_icon_fill.cpp | ||
| theme_icon_fill.h | ||
| theme_icon_sticker.cpp | ||
| theme_icon_sticker.h | ||
| theme_manager.cpp | ||
| theme_manager.h | ||
| window_main.cpp | ||
| window_main.h | ||