mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-05 09:33:25 -08:00
Runtime inversion is not a theming system: it rotates hue, breaks duotone art and mishandles alpha, and a QPixmap snapshot cannot follow a palette change. Redraw the top-level UI glyph set on a 24x24 grid with `currentColor` as the paint token, drop Inkscape/Sodipodi cruft, and delete the icons whose metaphor was duplicated (cogwheel/gear -> settings, scale_balanced -> scales, update.png -> reload). Load the glyphs through `loadThemedIcon` so the engine resolves the token from the palette on every request, and let `themePixmap` use the same resolution for one-shot pixmaps. `loadColorAdjustedPixmap` is gone; every caller now keeps a QIcon, which `SettingsButtonWidget::setButtonIcon` accepts instead of a QPixmap. Content art (mana, counters, countries) keeps its authored colors. Add a render test covering aspect ratio, palette flips, icon modes and high-DPI pixmaps.
25 lines
949 B
CMake
25 lines
949 B
CMake
cockatrice_add_test(
|
|
NAME
|
|
theme_migration_test
|
|
SOURCES
|
|
${CMAKE_SOURCE_DIR}/cockatrice/src/interface/theme_manager.cpp
|
|
${CMAKE_SOURCE_DIR}/cockatrice/src/interface/theme_config.cpp
|
|
${CMAKE_SOURCE_DIR}/cockatrice/src/interface/pixel_map_generator.cpp
|
|
${CMAKE_SOURCE_DIR}/cockatrice/src/interface/theme_icon.cpp
|
|
${CMAKE_SOURCE_DIR}/cockatrice/src/client/settings/cache_settings.cpp
|
|
${CMAKE_SOURCE_DIR}/cockatrice/src/client/settings/card_counter_settings.cpp
|
|
${CMAKE_SOURCE_DIR}/cockatrice/src/client/settings/shortcuts_settings.cpp
|
|
${CMAKE_SOURCE_DIR}/cockatrice/src/client/network/update/client/release_channel.cpp
|
|
${VERSION_STRING_CPP}
|
|
theme_migration_test.cpp
|
|
theme_icon_render_test.cpp
|
|
LIBS
|
|
libcockatrice_settings
|
|
libcockatrice_network
|
|
libcockatrice_network_server_remote
|
|
libcockatrice_protocol
|
|
INCLUDE_DIRS
|
|
${CMAKE_SOURCE_DIR}/cockatrice/src
|
|
DEFINITIONS
|
|
COCKATRICE_SOURCE_DIR="${CMAKE_SOURCE_DIR}"
|
|
)
|