[Icons] Add palette-aware themed icon engine

A QPixmap snapshot cannot follow palette changes, so an authored `currentColor`
glyph would freeze at whatever color it was first rendered with. Add a QIcon
engine that resolves the sentinel from the current palette on every pixmap
request, caches by resolved path/color/size/DPR, and falls back to Qt's normal
loader for authored multi-color art and raster overrides.

Purely additive. No behavior change yet.
This commit is contained in:
Lukas Brübach 2026-10-20 11:32:16 +02:00 • committed by GitHub
parent 9978be9ab7
commit eb7e866211
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 307 additions and 0 deletions

View file

@ -30,6 +30,7 @@ set(oracle_SOURCES
../cockatrice/src/client/network/update/client/release_channel.cpp
../cockatrice/src/interface/pixel_map_generator.cpp
../cockatrice/src/interface/theme_config.cpp
../cockatrice/src/interface/theme_icon.cpp
../cockatrice/src/interface/theme_manager.cpp
${VERSION_STRING_CPP}
)