Warning, file /frameworks/kconfigwidgets/src/kcolorschemehelpers_p.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2007 Matthew Woehlke <mw_triad@users.sourceforge.net> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef KCOLORSCHEME_P_H 0008 #define KCOLORSCHEME_P_H 0009 0010 #include <KSharedConfig> 0011 0012 #include <QCoreApplication> 0013 #include <QPalette> 0014 0015 #include <array> 0016 0017 static KSharedConfigPtr defaultConfig() 0018 { 0019 // cache the value we'll return, since usually it's going to be the same value 0020 static thread_local KSharedConfigPtr config; 0021 // Read from the application's color scheme file (as set by KColorSchemeManager). 0022 // If unset, this is equivalent to openConfig() and the system scheme is used. 0023 const auto colorSchemePath = qApp->property("KDE_COLOR_SCHEME_PATH").toString(); 0024 if (!config || config->name() != colorSchemePath) { 0025 config = KSharedConfig::openConfig(colorSchemePath); 0026 } 0027 return config; 0028 } 0029 0030 class StateEffects 0031 { 0032 public: 0033 explicit StateEffects(QPalette::ColorGroup state, const KSharedConfigPtr &); 0034 ~StateEffects() 0035 { 0036 } 0037 0038 QBrush brush(const QBrush &background) const; 0039 QBrush brush(const QBrush &foreground, const QBrush &background) const; 0040 0041 private: 0042 enum EffectTypes { 0043 Intensity, 0044 Color, 0045 Contrast, 0046 NEffectTypes, 0047 }; 0048 0049 enum IntensityEffects { 0050 IntensityNoEffect, 0051 IntensityShade, 0052 IntensityDarken, 0053 IntensityLighten, 0054 NIntensityEffects, 0055 }; 0056 0057 enum ColorEffects { 0058 ColorNoEffect, 0059 ColorDesaturate, 0060 ColorFade, 0061 ColorTint, 0062 NColorEffects, 0063 }; 0064 0065 enum ContrastEffects { 0066 ContrastNoEffect, 0067 ContrastFade, 0068 ContrastTint, 0069 NContrastEffects, 0070 }; 0071 0072 int _effects[NEffectTypes]; 0073 double _amount[NEffectTypes]; 0074 QColor _color; 0075 }; 0076 0077 #endif