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 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 getName()19 const QString &getName() const { return name; } 20 getImagesOnButtons()21 bool getImagesOnButtons() const { return imagesOnButtons; } getUseExtraSpacing()22 bool getUseExtraSpacing() const { return useExtraSpacing; } 23 TextColor()24 QColor TextColor() const { return textColor; } SingleColor()25 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 56