mirror-chatterino2/colorscheme.cpp

40 lines
1.3 KiB
C++
Raw Normal View History

2016-12-30 19:20:04 +01:00
#include "QColor"
2016-12-30 19:16:48 +01:00
#include "colorscheme.h"
2016-12-30 19:20:04 +01:00
// hue: theme color (0 - 1)
// multiplyer: 1 = white, 0.8 = light, -0.8 dark, -1 black
2016-12-30 20:41:24 +01:00
void ColorScheme::setColors(float hue, float multiplyer)
2016-12-30 19:16:48 +01:00
{
2016-12-30 19:20:04 +01:00
IsLightTheme = multiplyer > 0;
2016-12-30 19:16:48 +01:00
2016-12-30 20:41:24 +01:00
auto isLightTheme = IsLightTheme;
2017-01-01 02:30:42 +01:00
auto getColor = [isLightTheme, multiplyer] (qreal h, qreal s, qreal l, qreal a = 1.0)
2016-12-30 19:20:04 +01:00
{
2017-01-01 02:30:42 +01:00
return QColor::fromHslF(h, s, (((l - 0.5) * multiplyer) + 0.5), a);
2016-12-30 19:20:04 +01:00
};
2017-01-01 02:30:42 +01:00
DropPreviewBackground = getColor(hue, 0.5, 0.5, 0.3);
2016-12-30 19:20:04 +01:00
TextCaret = IsLightTheme ? QColor(0, 0, 0) : QColor(255, 255, 255);
2017-01-01 02:30:42 +01:00
// tab
TabPanelBackground = QColor(255, 255, 255);
TabBackground = QColor(255, 255, 255);
TabHoverBackground = getColor(hue, 0, 0.05);
TabSelectedBackground = getColor(hue, 0.5, 0.5);
TabHighlightedBackground = getColor(hue, 0.5, 0.2);
TabNewMessageBackground = QBrush(getColor(hue, 0.5, 0.2), Qt::DiagCrossPattern);
TabText = QColor(0, 0, 0);
TabHoverText = QColor(0, 0, 0);
TabSelectedText = QColor(255, 255, 255);
TabHighlightedText = QColor(0, 0, 0);
// Chat
ChatBackground = getColor(0, 0.1, 1);
ChatHeaderBackground = getColor(0, 0.1, 0.9);
ChatHeaderBorder = getColor(0, 0.1, 0.85);
ChatInputBackground = getColor(0, 0.1, 0.95);
ChatInputBorder = getColor(0, 0.1, 0.9);
2016-12-30 19:16:48 +01:00
}