Line data Source code
1 : // Copyright (c) 2015-2019 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 object) with the text color */ 37 : QIcon TextColorIcon(const QIcon& icon) const; 38 : 39 : private: 40 : PlatformStyle(const QString &name, bool imagesOnButtons, bool colorizeIcons, bool useExtraSpacing); 41 : 42 : QString name; 43 : bool imagesOnButtons; 44 : bool colorizeIcons; 45 : bool useExtraSpacing; 46 : QColor singleColor; 47 : QColor textColor; 48 : /* ... more to come later */ 49 : }; 50 : 51 : #endif // BITCOIN_QT_PLATFORMSTYLE_H 52 :