21#include <QtCore/qatomic.h>
28 class Data :
public QSharedData {
33 Data(
const Data &other)
36 for (
int grp = 0; grp <
int(QPalette::NColorGroups); grp++) {
37 for (
int role = 0; role <
int(QPalette::NColorRoles); role++)
38 br[grp][role] = other.br[grp][role];
43 QBrush br[QPalette::NColorGroups][QPalette::NColorRoles];
44 const int ser_no = qt_palette_count++;
47 QPalettePrivate(
const QExplicitlySharedDataPointer<Data> &data)
51 : QPalettePrivate(QExplicitlySharedDataPointer<Data>(
new Data))
54 static constexpr QPalette::ResolveMask colorRoleOffset(QPalette::ColorGroup colorGroup)
57 return (qToUnderlying(QPalette::NColorRoles) - 1) * qToUnderlying(colorGroup);
60 static constexpr QPalette::ResolveMask bitPosition(QPalette::ColorGroup colorGroup,
61 QPalette::ColorRole colorRole)
64 if (colorRole == QPalette::Accent)
65 colorRole = QPalette::NoRole;
67 return colorRole + colorRoleOffset(colorGroup);
71 QPalette::ResolveMask resolveMask = {0};
72 static QAtomicInt qt_palette_count;
73 static QAtomicInt qt_palette_private_count;
74 int detach_no = ++qt_palette_private_count;
75 QExplicitlySharedDataPointer<Data> data;
Combined button and popup list for selecting options.
QDataStream & operator>>(QDataStream &s, QKeyCombination &combination)
QDebug operator<<(QDebug dbg, const QFileInfo &fi)
static QString groupsToString(const QPalette &p, QPalette::ColorRole cr)
static void qt_ensure_default_accent_color(QPalette &pal)
static const int NumOldRoles
static void qt_placeholder_from_text(QPalette &pal, int alpha=50)
static constexpr QPalette::ResolveMask allResolveMask()
static QString rolesToString(const QPalette &p)
static void readV1ColorGroup(QDataStream &s, QPalette &pal, QPalette::ColorGroup grp)
static QColor qt_mix_colors(QColor a, QColor b)
static const int oldRoles[7]
static void qt_palette_from_color(QPalette &pal, const QColor &button)