1#ifndef COCKATRICE_USER_LIST_PAINTER_H
2#define COCKATRICE_USER_LIST_PAINTER_H
16class QStyleOptionViewItem;
52 static QColor
blend(
const QColor &a,
const QColor &b, qreal t);
54 static void paint(QPainter *painter,
55 const QStyleOptionViewItem &option,
56 const QModelIndex &index,
58 const QMap<QString, QPixmap> *avatarCache,
59 const QMap<QString, QPixmap> *cardArtCache,
60 const QMap<QString, CardArtParams> *cardArtParamsMap,
68 const QString &userName,
69 const QMap<QString, QPixmap> *cardArtCache,
71 const QPixmap *overridePixmap);
80 static QColor
getAccentColor(
const UserLevelFlags &userLevel,
bool online);
81 static int getCardRight(
const QStyleOptionViewItem &option,
const QRect &rect);
83 const QRectF &cardRect,
84 const QColor &accentColor,
90 const QRect &avatarRect,
91 const QString &userName,
92 const QColor &accentColor,
93 const UserLevelFlags &userLevel,
95 const QString &privLevel,
96 const QMap<QString, QPixmap> *avatarCache,
98 static void drawStatusRing(QPainter *painter,
const QRect &avatarRect,
bool online,
const Style &style);
100 const QStyleOptionViewItem &option,
104 const QString &userName,
108 static QList<Badge>
buildBadges(
const UserLevelFlags &userLevel,
const QString &privLevel);
110 const QStyleOptionViewItem &option,
113 const QList<Badge> &badges,
Definition user_list_painter.h:30
static void drawStatusRing(QPainter *painter, const QRect &avatarRect, bool online, const Style &style)
Definition user_list_painter.cpp:254
static void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index, const ServerInfo_User &userInfo, const QMap< QString, QPixmap > *avatarCache, const QMap< QString, QPixmap > *cardArtCache, const QMap< QString, CardArtParams > *cardArtParamsMap, bool dark)
Definition user_list_painter.cpp:362
static QColor getAccentColor(const UserLevelFlags &userLevel, bool online)
Definition user_list_painter.cpp:46
static QSize sizeHint()
Definition user_list_painter.cpp:18
static QRect getAvatarRect(const QRect &rect)
Definition user_list_painter.cpp:206
static int getCardRight(const QStyleOptionViewItem &option, const QRect &rect)
Definition user_list_painter.cpp:67
static void drawUserName(QPainter *painter, const QStyleOptionViewItem &option, const QRect &rect, int cardRight, int textX, const QString &userName, bool online, const Style &style)
Definition user_list_painter.cpp:263
static QList< Badge > buildBadges(const UserLevelFlags &userLevel, const QString &privLevel)
Definition user_list_painter.cpp:296
static void drawAvatar(QPainter *painter, const QRect &avatarRect, const QString &userName, const QColor &accentColor, const UserLevelFlags &userLevel, const ServerInfo_User &userInfo, const QString &privLevel, const QMap< QString, QPixmap > *avatarCache, const Style &style)
Definition user_list_painter.cpp:213
static void drawBackground(QPainter *painter, const QRectF &cardRect, const QColor &accentColor, bool selected, const Style &style, bool hasRole)
Definition user_list_painter.cpp:83
static void drawBadges(QPainter *painter, const QStyleOptionViewItem &option, const QRect &rect, int cardRight, const QList< Badge > &badges, bool online, const Style &style)
Definition user_list_painter.cpp:317
static void drawCountryFlag(QPainter *painter, const QRect &rect, int textX, const ServerInfo_User &userInfo)
Definition user_list_painter.cpp:288
static void drawCardArt(QPainter *painter, const QRect &rect, int cardRight, const QString &userName, const QMap< QString, QPixmap > *cardArtCache, const CardArtParams ¶ms, const QPixmap *overridePixmap)
Definition user_list_painter.cpp:126
static Style resolveStyle(const QPalette &palette, bool dark)
Definition user_list_painter.cpp:23
static QColor blend(const QColor &a, const QColor &b, qreal t)
Linear interpolation: t = 0 returns a, t = 1 returns b.
Definition user_list_painter.cpp:39
Definition user_list_painter.h:20
double marginPctL
Definition user_list_painter.h:23
double zoom
Definition user_list_painter.h:26
double marginPctR
Definition user_list_painter.h:24
double verticalOffset
Definition user_list_painter.h:25
QString cardName
Definition user_list_painter.h:21
QString cardProviderId
Definition user_list_painter.h:22
Definition serverinfo_user.proto:2
Definition user_list_painter.h:75
QString text
Definition user_list_painter.h:76
QColor color
Definition user_list_painter.h:77
Definition user_list_painter.h:39
QColor base
lightest surface, used for blending accent hues
Definition user_list_painter.h:43
QColor ringOffline
Definition user_list_painter.h:46
bool dark
Definition user_list_painter.h:40
bool dropShadow
Definition user_list_painter.h:47
QColor cardStart
row fill, left edge (normal)
Definition user_list_painter.h:41
QColor textOnline
Definition user_list_painter.h:44
QColor cardEnd
row fill, right edge (normal)
Definition user_list_painter.h:42
QColor textOffline
Definition user_list_painter.h:45