/** * @file pixel_map_generator.h * @ingroup UI * @brief TODO: Document this. */ #ifndef PIXMAPGENERATOR_H #define PIXMAPGENERATOR_H #include #include #include #include #include #include inline Q_LOGGING_CATEGORY(PixelMapGeneratorLog, "pixel_map_generator"); class PhasePixmapGenerator { private: static QMap pmCache; public: static QPixmap generatePixmap(int size, QString name); static void clear() { pmCache.clear(); } }; class CounterPixmapGenerator { private: static QMap pmCache; public: static QPixmap generatePixmap(int size, QString name, bool highlight); static void clear() { pmCache.clear(); } }; class PingPixmapGenerator { private: static QMap pmCache; public: static QPixmap generatePixmap(int size, int value, int max); static void clear() { pmCache.clear(); } }; class CountryPixmapGenerator { private: static QMap pmCache; public: static QPixmap generatePixmap(int height, const QString &countryCode); static void clear() { pmCache.clear(); } }; class UserLevelPixmapGenerator { private: static QMap iconCache; static QIcon generateIconDefault(int height, UserLevelFlags userLevel, bool isBuddy, const QString &privLevel); static QIcon generateIconWithColorOverride(int height, bool isBuddy, const UserLevelFlags &userLevelFlags, const QString &privLevel, const std::optional &colorLeft, const std::optional &colorRight); public: static QPixmap generatePixmap(int height, UserLevelFlags userLevel, ServerInfo_User::PawnColorsOverride pawnColors, bool isBuddy, const QString &privLevel); static QIcon generateIcon(int minHeight, UserLevelFlags userLevel, ServerInfo_User::PawnColorsOverride pawnColors, bool isBuddy, const QString &privLevel); static void clear() { iconCache.clear(); } }; class LockPixmapGenerator { private: static QMap pmCache; public: static QPixmap generatePixmap(int height); static void clear() { pmCache.clear(); } }; class DropdownIconPixmapGenerator { private: static QMap pmCache; public: static QPixmap generatePixmap(int height, bool expanded); static void clear() { pmCache.clear(); } }; QPixmap loadColorAdjustedPixmap(const QString &name); #endif