Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
pixel_map_generator.h
Go to the documentation of this file.
1
6
7#ifndef PIXMAPGENERATOR_H
8#define PIXMAPGENERATOR_H
9
10#include "libcockatrice/protocol/pb/serverinfo_user.pb.h"
11
12#include <QHash>
13#include <QIcon>
14#include <QLoggingCategory>
15#include <QMap>
16#include <QPixmap>
17#include <QString>
18#include <QStringView>
20#include <optional>
21
22class QSize;
23
24inline Q_LOGGING_CATEGORY(PixelMapGeneratorLog, "pixel_map_generator");
25
27{
28private:
30
31public:
32 static QPixmap generatePixmap(int size, QString name);
33 static void clear()
34 {
35 pmCache.clear();
36 }
37};
38
40{
41private:
43
44public:
45 static QPixmap generatePixmap(int size, QString name, bool highlight);
46 static void clear()
47 {
48 pmCache.clear();
49 }
50};
51
53{
54private:
56
57public:
58 static QPixmap generatePixmap(int size, int value, int max);
59 static void clear()
60 {
61 pmCache.clear();
62 }
63};
64
66{
67private:
69
70public:
71 static QPixmap generatePixmap(int height, const QString &countryCode);
72 static void clear()
73 {
74 pmCache.clear();
75 }
76};
77
79{
80private:
82
83 static QIcon generateIconDefault(int height, UserLevelFlags userLevel, bool isBuddy, const QString &privLevel);
84 static QIcon generateIconWithColorOverride(int height,
85 bool isBuddy,
86 const UserLevelFlags &userLevelFlags,
87 const QString &privLevel,
88 const std::optional<QString> &colorLeft,
89 const std::optional<QString> &colorRight);
90
91public:
92 static QPixmap generatePixmap(int height,
93 UserLevelFlags userLevel,
95 bool isBuddy,
96 const QString &privLevel);
97
98 static QIcon generateIcon(int minHeight,
99 UserLevelFlags userLevel,
101 bool isBuddy,
102 const QString &privLevel);
103 static void clear()
104 {
105 iconCache.clear();
106 }
107};
108
110{
111private:
113
114public:
115 static QPixmap generatePixmap(int height);
116 static void clear()
117 {
118 pmCache.clear();
119 }
120};
121
123{
124private:
126
127public:
128 static QPixmap generatePixmap(int height, bool expanded);
129 static void clear()
130 {
131 pmCache.clear();
132 }
133};
134
136{
137private:
140
145 static const QPixmap &masterIcon(const QString &symbol);
146
147public:
155 static QPixmap generatePixmap(const QString &symbol, const QSize &size);
156 static void clear()
157 {
158 masterCache.clear();
159 scaledCache.clear();
160 }
161};
162
163QPixmap loadColorAdjustedPixmap(const QString &name);
164
165// Loads a "theme:" asset (with no file extension in prefix), preferring the
166// scheme-qualified variant (prefix-dark / prefix-light, resolved via
167// ThemeManager::assetPath) and falling back to the plain asset. Callers load
168// the returned path directly. Use for scheme-sensitive pixmaps like
169// backgrounds, the card back, and the app logo.
170QPixmap themePixmap(QStringView prefix);
171
172// Clears every PixmapGenerator's static cache so scheme variants are
173// re-resolved when the active theme or color scheme changes.
175
176#endif
Definition pixel_map_generator.h:40
static QPixmap generatePixmap(int size, QString name, bool highlight)
Definition pixel_map_generator.cpp:166
static QMap< QString, QPixmap > pmCache
Definition pixel_map_generator.h:42
static void clear()
Definition pixel_map_generator.h:46
Definition pixel_map_generator.h:66
static QMap< QString, QPixmap > pmCache
Definition pixel_map_generator.h:68
static void clear()
Definition pixel_map_generator.h:72
static QPixmap generatePixmap(int height, const QString &countryCode)
Definition pixel_map_generator.cpp:226
Definition pixel_map_generator.h:123
static QPixmap generatePixmap(int height, bool expanded)
Definition pixel_map_generator.cpp:455
static QMap< QString, QPixmap > pmCache
Definition pixel_map_generator.h:125
static void clear()
Definition pixel_map_generator.h:129
Definition pixel_map_generator.h:110
static void clear()
Definition pixel_map_generator.h:116
static QPixmap generatePixmap(int height)
Definition pixel_map_generator.cpp:439
static QMap< int, QPixmap > pmCache
Definition pixel_map_generator.h:112
Definition pixel_map_generator.h:136
static QPixmap generatePixmap(const QString &symbol, const QSize &size)
Returns a smooth-scaled rendering of the given mana symbol icon.
Definition pixel_map_generator.cpp:502
static void clear()
Definition pixel_map_generator.h:156
static QHash< QString, QPixmap > masterCache
Definition pixel_map_generator.h:138
static QHash< QString, QPixmap > scaledCache
Definition pixel_map_generator.h:139
static const QPixmap & masterIcon(const QString &symbol)
Renders symbol once at a fixed moderate size, so repeated scalings never re-rasterize the source file...
Definition pixel_map_generator.cpp:484
Definition pixel_map_generator.h:27
static QPixmap generatePixmap(int size, QString name)
Definition pixel_map_generator.cpp:150
static QMap< QString, QPixmap > pmCache
Definition pixel_map_generator.h:29
static void clear()
Definition pixel_map_generator.h:33
Definition pixel_map_generator.h:53
static void clear()
Definition pixel_map_generator.h:59
static QMap< int, QPixmap > pmCache
Definition pixel_map_generator.h:55
static QPixmap generatePixmap(int size, int value, int max)
Definition pixel_map_generator.cpp:196
Definition mana_curve_category_widget.h:11
Definition game.h:18
Definition pixel_map_generator.h:79
static QPixmap generatePixmap(int height, UserLevelFlags userLevel, ServerInfo_User::PawnColorsOverride pawnColors, bool isBuddy, const QString &privLevel)
Definition pixel_map_generator.cpp:335
static QIcon generateIconWithColorOverride(int height, bool isBuddy, const UserLevelFlags &userLevelFlags, const QString &privLevel, const std::optional< QString > &colorLeft, const std::optional< QString > &colorRight)
Definition pixel_map_generator.cpp:424
static QIcon generateIconDefault(int height, UserLevelFlags userLevel, bool isBuddy, const QString &privLevel)
Definition pixel_map_generator.cpp:397
static QIcon generateIcon(int minHeight, UserLevelFlags userLevel, ServerInfo_User::PawnColorsOverride pawnColors, bool isBuddy, const QString &privLevel)
Definition pixel_map_generator.cpp:344
static void clear()
Definition pixel_map_generator.h:103
static QMap< QString, QIcon > iconCache
Definition pixel_map_generator.h:81
Q_LOGGING_CATEGORY(CrashReportLog, "crash_report")
QPixmap themePixmap(QStringView prefix)
Definition pixel_map_generator.cpp:543
QPixmap loadColorAdjustedPixmap(const QString &name)
Definition pixel_map_generator.cpp:523
void clearPixmapGeneratorCaches()
Definition pixel_map_generator.cpp:549
Definition serverinfo_user.proto:12