mirror of
https://github.com/Chatterino/chatterino2.git
synced 2024-11-13 19:49:51 +01:00
89 lines
1.8 KiB
C++
89 lines
1.8 KiB
C++
#ifndef COLORSCHEME_H
|
|
#define COLORSCHEME_H
|
|
|
|
#include <QBrush>
|
|
#include <QColor>
|
|
|
|
namespace chatterino {
|
|
|
|
class ColorScheme
|
|
{
|
|
public:
|
|
bool IsLightTheme;
|
|
|
|
QString InputStyleSheet;
|
|
|
|
QColor SystemMessageColor;
|
|
|
|
QColor DropPreviewBackground;
|
|
|
|
QColor TooltipBackground;
|
|
QColor TooltipText;
|
|
QColor ChatSeperator;
|
|
QColor ChatBackground;
|
|
QColor ChatBackgroundHighlighted;
|
|
QColor ChatBackgroundResub;
|
|
QColor ChatBackgroundWhisper;
|
|
|
|
QColor ChatHeaderBorder;
|
|
QColor ChatHeaderBackground;
|
|
|
|
QColor ChatInputBackground;
|
|
QColor ChatInputBorder;
|
|
|
|
QColor ChatMessageSeperatorBorder;
|
|
QColor ChatMessageSeperatorBorderInner;
|
|
QColor ChatBorder;
|
|
QColor ChatBorderFocused;
|
|
QColor Text;
|
|
QColor TextCaret;
|
|
QColor TextLink;
|
|
QColor TextFocused;
|
|
QColor Menu;
|
|
QColor MenuBorder;
|
|
QColor ScrollbarBG;
|
|
QColor ScrollbarThumb;
|
|
QColor ScrollbarThumbSelected;
|
|
QColor ScrollbarArrow;
|
|
|
|
QColor TabPanelBackground;
|
|
QColor TabBackground;
|
|
QColor TabHoverBackground;
|
|
QColor TabSelectedBackground;
|
|
QColor TabHighlightedBackground;
|
|
QBrush TabNewMessageBackground;
|
|
QColor TabText;
|
|
QColor TabHoverText;
|
|
QColor TabSelectedText;
|
|
QColor TabHighlightedText;
|
|
|
|
const int HighlightColorCount = 3;
|
|
QColor HighlightColors[3];
|
|
|
|
static ColorScheme &
|
|
instance()
|
|
{
|
|
static ColorScheme instance;
|
|
|
|
return instance;
|
|
}
|
|
|
|
void normalizeColor(QColor &color);
|
|
|
|
void setColors(float hue, float multiplyer);
|
|
|
|
private:
|
|
ColorScheme()
|
|
{
|
|
}
|
|
|
|
qreal middleLookupTable[360] = {};
|
|
qreal minLookupTable[360] = {};
|
|
|
|
void fillLookupTableValues(qreal (&array)[360], qreal from, qreal to,
|
|
qreal fromValue, qreal toValue);
|
|
};
|
|
}
|
|
|
|
#endif // COLORSCHEME_H
|