Line data Source code
1 : // Copyright (c) 2015 The Bitcoin Core developers
2 : // Distributed under the MIT software license, see the accompanying
3 : // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 :
5 : #ifndef BITCOIN_QT_PLATFORMSTYLE_H
6 : #define BITCOIN_QT_PLATFORMSTYLE_H
7 :
8 : #include <QIcon>
9 : #include <QPixmap>
10 : #include <QString>
11 :
12 : /* Coin network-specific GUI style information */
13 0 : class PlatformStyle
14 : {
15 : public:
16 : /** Get style associated with provided platform name, or 0 if not known */
17 : static const PlatformStyle *instantiate(const QString &platformId);
18 :
19 0 : const QString &getName() const { return name; }
20 :
21 0 : bool getImagesOnButtons() const { return imagesOnButtons; }
22 0 : bool getUseExtraSpacing() const { return useExtraSpacing; }
23 :
24 0 : QColor TextColor() const { return textColor; }
25 0 : QColor SingleColor() const { return singleColor; }
26 :
27 : /** Colorize an image (given filename) with the icon color */
28 : QImage SingleColorImage(const QString& filename) const;
29 :
30 : /** Colorize an icon (given filename) with the icon color */
31 : QIcon SingleColorIcon(const QString& filename) const;
32 :
33 : /** Colorize an icon (given object) with the icon color */
34 : QIcon SingleColorIcon(const QIcon& icon) const;
35 :
36 : /** Colorize an icon (given filename) with the text color */
37 : QIcon TextColorIcon(const QString& filename) const;
38 :
39 : /** Colorize an icon (given object) with the text color */
40 : QIcon TextColorIcon(const QIcon& icon) const;
41 :
42 : private:
43 : PlatformStyle(const QString &name, bool imagesOnButtons, bool colorizeIcons, bool useExtraSpacing);
44 :
45 : QString name;
46 : bool imagesOnButtons;
47 : bool colorizeIcons;
48 : bool useExtraSpacing;
49 : QColor singleColor;
50 : QColor textColor;
51 : /* ... more to come later */
52 : };
53 :
54 : #endif // BITCOIN_QT_PLATFORMSTYLE_H
55 :
|