@@ -1,24 +1,96 | |||||
1 | #include "charttheme_p.h" |
|
1 | #include "charttheme_p.h" | |
|
2 | #ifdef Q_OS_WIN | |||
|
3 | #include <windows.h> | |||
|
4 | #include <stdio.h> | |||
|
5 | #endif | |||
2 |
|
6 | |||
3 | QTCOMMERCIALCHART_BEGIN_NAMESPACE |
|
7 | QTCOMMERCIALCHART_BEGIN_NAMESPACE | |
4 |
|
8 | |||
5 | class ChartThemeDefault: public ChartTheme |
|
9 | class ChartThemeDefault: public ChartTheme | |
6 | { |
|
10 | { | |
7 | public: |
|
11 | public: | |
8 | ChartThemeDefault():ChartTheme(QChart::ChartThemeDefault) |
|
12 | ChartThemeDefault():ChartTheme(QChart::ChartThemeDefault) | |
9 | { |
|
13 | { | |
10 | // TODO: replace this dummy theme with an actual theme |
|
14 | #ifdef Q_OS_WIN | |
|
15 | // First series base color from COLOR_WINDOWFRAME | |||
|
16 | DWORD colorWindowFrame; | |||
|
17 | colorWindowFrame = GetSysColor(COLOR_WINDOWFRAME); | |||
|
18 | m_seriesColors.append(QColor(GetRValue(colorWindowFrame), GetGValue(colorWindowFrame),GetBValue(colorWindowFrame))); | |||
|
19 | ||||
|
20 | // Second series base color from COLOR_HIGHLIGHT | |||
|
21 | DWORD colorHighlight; | |||
|
22 | colorHighlight = GetSysColor(COLOR_HIGHLIGHT); | |||
|
23 | m_seriesColors.append(QColor(GetRValue(colorHighlight), GetGValue(colorHighlight),GetBValue(colorHighlight))); | |||
|
24 | ||||
|
25 | // Thirs series base color from the middle of the COLOR_ACTIVECAPTION / | |||
|
26 | // COLOR_GRADIENTACTIVECAPTION gradient | |||
|
27 | DWORD colorGradientActiveCaptionLeft; | |||
|
28 | colorGradientActiveCaptionLeft = GetSysColor(COLOR_ACTIVECAPTION); | |||
|
29 | DWORD colorGradientActiveCaptionRight; | |||
|
30 | colorGradientActiveCaptionRight = GetSysColor(COLOR_GRADIENTACTIVECAPTION); | |||
|
31 | QLinearGradient g; | |||
|
32 | QColor start = QColor(GetRValue(colorGradientActiveCaptionLeft), | |||
|
33 | GetGValue(colorGradientActiveCaptionLeft), | |||
|
34 | GetBValue(colorGradientActiveCaptionLeft)); | |||
|
35 | g.setColorAt(0.0, start); | |||
|
36 | QColor end = QColor(GetRValue(colorGradientActiveCaptionRight), | |||
|
37 | GetGValue(colorGradientActiveCaptionRight), | |||
|
38 | GetBValue(colorGradientActiveCaptionRight)); | |||
|
39 | g.setColorAt(1.0, end); | |||
|
40 | m_seriesColors.append(colorAt(g, 0.5)); | |||
|
41 | ||||
|
42 | // Generate gradients from the base colors | |||
|
43 | generateSeriesGradients(); | |||
|
44 | ||||
|
45 | // Background fill color from COLOR_WINDOW | |||
|
46 | QLinearGradient backgroundGradient; | |||
|
47 | DWORD colorWindow; | |||
|
48 | colorWindow = GetSysColor(COLOR_WINDOW); | |||
|
49 | backgroundGradient.setColorAt(0.0, QColor(GetRValue(colorWindow), | |||
|
50 | GetGValue(colorWindow), | |||
|
51 | GetBValue(colorWindow))); | |||
|
52 | backgroundGradient.setColorAt(1.0, QColor(GetRValue(colorWindow), | |||
|
53 | GetGValue(colorWindow), | |||
|
54 | GetBValue(colorWindow))); | |||
|
55 | ||||
|
56 | // TODO: COLOR_WINDOWTEXT for text color? | |||
|
57 | // TODO: COLOR_INFOTEXT for tooltip text color? | |||
|
58 | // TODO: COLOR_INFOBK for tooltip background color? | |||
|
59 | #elif Q_OS_LINUX | |||
|
60 | // TODO: replace this dummy theme with linux specific theme | |||
|
61 | m_seriesColors << QRgb(0xff707070); | |||
|
62 | m_seriesColors << QRgb(0xffA0A0A0); | |||
|
63 | generateSeriesGradients(); | |||
|
64 | ||||
|
65 | QLinearGradient backgroundGradient; | |||
|
66 | backgroundGradient.setColorAt(0.0, QRgb(0xffffffff)); | |||
|
67 | backgroundGradient.setColorAt(1.0, QRgb(0xffafafaf)); | |||
|
68 | backgroundGradient.setCoordinateMode(QGradient::ObjectBoundingMode); | |||
|
69 | m_backgroundGradient = backgroundGradient; | |||
|
70 | #elif Q_OS_MAC | |||
|
71 | // TODO: replace this dummy theme with OSX specific theme | |||
11 | m_seriesColors << QRgb(0xff707070); |
|
72 | m_seriesColors << QRgb(0xff707070); | |
12 | m_seriesColors << QRgb(0xffA0A0A0); |
|
73 | m_seriesColors << QRgb(0xffA0A0A0); | |
|
74 | generateSeriesGradients(); | |||
13 |
|
75 | |||
|
76 | QLinearGradient backgroundGradient; | |||
|
77 | backgroundGradient.setColorAt(0.0, QRgb(0xffffffff)); | |||
|
78 | backgroundGradient.setColorAt(1.0, QRgb(0xffafafaf)); | |||
|
79 | backgroundGradient.setCoordinateMode(QGradient::ObjectBoundingMode); | |||
|
80 | m_backgroundGradient = backgroundGradient; | |||
|
81 | #else | |||
|
82 | // TODO: replace this dummy theme with generic (not OS specific) theme | |||
|
83 | m_seriesColors << QRgb(0xff707070); | |||
|
84 | m_seriesColors << QRgb(0xffA0A0A0); | |||
14 | generateSeriesGradients(); |
|
85 | generateSeriesGradients(); | |
15 |
|
86 | |||
16 | QLinearGradient backgroundGradient; |
|
87 | QLinearGradient backgroundGradient; | |
17 | backgroundGradient.setColorAt(0.0, QRgb(0xffffffff)); |
|
88 | backgroundGradient.setColorAt(0.0, QRgb(0xffffffff)); | |
18 | backgroundGradient.setColorAt(1.0, QRgb(0xffafafaf)); |
|
89 | backgroundGradient.setColorAt(1.0, QRgb(0xffafafaf)); | |
19 | backgroundGradient.setCoordinateMode(QGradient::ObjectBoundingMode); |
|
90 | backgroundGradient.setCoordinateMode(QGradient::ObjectBoundingMode); | |
20 | m_backgroundGradient = backgroundGradient; |
|
91 | m_backgroundGradient = backgroundGradient; | |
|
92 | #endif | |||
21 | } |
|
93 | } | |
22 | }; |
|
94 | }; | |
23 |
|
95 | |||
24 | QTCOMMERCIALCHART_END_NAMESPACE |
|
96 | QTCOMMERCIALCHART_END_NAMESPACE |
General Comments 0
You need to be logged in to leave comments.
Login now