Guitar
DarkStyle.h
Go to the documentation of this file.
1 #ifndef DARKSTYLE_H
2 #define DARKSTYLE_H
3 
4 #include <QCommonStyle>
5 
6 class QStyleOptionViewItem;
7 
8 class DarkStyle : public QCommonStyle {
9 public:
10 private:
11  struct Private;
13 
14  class ButtonImages {
15  public:
16  QImage im_normal;
17  QImage im_hover;
18  };
19 
21  QImage page_bg;
25  };
26 
27  QImage colorizeImage(QImage image);
28  QImage loadColorizedImage(QString const &path, QString const &role = QString());
29  ButtonImages generateButtonImages(QString const &path);
30  QImage generateHoverImage(const QImage &source);
31  QPixmap pixmapFromImage(QImage const &image, QSize size) const;
32  void loadImages();
33 
34  QColor selectionColor() const;
35  QColor colorForItemView(QStyleOption const *opt) const;
36 
37  void drawNinePatchImage(QPainter *p, QImage const &image, QRect const &r, int w, int h) const;
38  void drawGutter(QPainter *p, QRect const &r) const;
39  void drawSelectedItemFrame(QPainter *p, QRect rect, bool focus) const;
40  void drawFocusFrame(QPainter *p, const QRect &rect, int margin) const;
41  void drawButton(QPainter *p, QStyleOption const *option, bool mac_margin = true) const;
42  void drawToolButton(QPainter *p, QStyleOption const *option) const;
43  void drawMenuBarBG(QPainter *p, const QStyleOption *option, const QWidget *widget) const;
44  QColor color(int level, int alpha = 255) const;
45  void drawItemViewText(QPainter *p, const QStyleOptionViewItem *option, const QRect &rect, bool abbreviation) const;
46  QRect indicatorRect(const QStyleOption *option, const QWidget *widget, const QRect &rect) const;
47  qreal dpiScaled(qreal value, qreal dpi) const;
48  qreal dpiScaled(qreal value, const QPaintDevice *device) const;
49  qreal dpiScaled(qreal value, const QStyleOption *option) const;
50 public:
51  DarkStyle(const QColor &base_color = QColor());
52  ~DarkStyle() override;
53 
54  bool isDpiScalingEnabled() const;
55 
56  QColor baseColor() const;
57  void setBaseColor(const QColor &color);
58  void setScrollBarExtent(int n);
59  void setDpiScalingEnabled(bool f);
60 
61  QPalette standardPalette() const;
62  QSize sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &size, const QWidget *widget) const override;
63  void polish(QPalette &palette) override;
64  int pixelMetric(PixelMetric metric, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const override;
65  QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *option, SubControl sc, const QWidget *widget) const override;
66  int styleHint(StyleHint stylehint, const QStyleOption *option = nullptr, const QWidget *widget = nullptr, QStyleHintReturn *returnData = nullptr) const override;
67  void drawPrimitive(PrimitiveElement pe, const QStyleOption *option, QPainter *p, const QWidget *widget) const override;
68  void drawControl(ControlElement ce, const QStyleOption *option, QPainter *p, const QWidget *widget) const override;
69  void drawComplexControl(ComplexControl cc, const QStyleOptionComplex *option, QPainter *p, const QWidget *widget) const override;
70 
71 };
72 
73 #endif // DARKSTYLE_H
Definition: DarkStyle.h:14
QImage im_normal
Definition: DarkStyle.h:16
QImage im_hover
Definition: DarkStyle.h:17
Definition: DarkStyle.h:8
QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *option, SubControl sc, const QWidget *widget) const override
Definition: DarkStyle.cpp:842
void drawFocusFrame(QPainter *p, const QRect &rect, int margin) const
Definition: DarkStyle.cpp:518
Private * m
Definition: DarkStyle.h:11
void loadImages()
Definition: DarkStyle.cpp:375
QSize sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &size, const QWidget *widget) const override
Definition: DarkStyle.cpp:2674
void drawSelectedItemFrame(QPainter *p, QRect rect, bool focus) const
Definition: DarkStyle.cpp:469
QPixmap pixmapFromImage(QImage const &image, QSize size) const
Definition: DarkStyle.cpp:404
int styleHint(StyleHint stylehint, const QStyleOption *option=nullptr, const QWidget *widget=nullptr, QStyleHintReturn *returnData=nullptr) const override
Definition: DarkStyle.cpp:947
void drawMenuBarBG(QPainter *p, const QStyleOption *option, const QWidget *widget) const
Definition: DarkStyle.cpp:672
ButtonImages generateButtonImages(QString const &path)
Definition: DarkStyle.cpp:312
QImage colorizeImage(QImage image)
Definition: DarkStyle.cpp:267
void polish(QPalette &palette) override
Definition: DarkStyle.cpp:434
void drawNinePatchImage(QPainter *p, QImage const &image, QRect const &r, int w, int h) const
Definition: DarkStyle.cpp:425
bool isDpiScalingEnabled() const
Definition: DarkStyle.cpp:224
void drawComplexControl(ComplexControl cc, const QStyleOptionComplex *option, QPainter *p, const QWidget *widget) const override
Definition: DarkStyle.cpp:2243
void drawButton(QPainter *p, QStyleOption const *option, bool mac_margin=true) const
Definition: DarkStyle.cpp:530
void setScrollBarExtent(int n)
Definition: DarkStyle.cpp:262
void setBaseColor(const QColor &color)
Definition: DarkStyle.cpp:249
QImage generateHoverImage(const QImage &source)
Definition: DarkStyle.cpp:349
QImage loadColorizedImage(QString const &path, QString const &role=QString())
Definition: DarkStyle.cpp:285
void drawPrimitive(PrimitiveElement pe, const QStyleOption *option, QPainter *p, const QWidget *widget) const override
Definition: DarkStyle.cpp:1039
QColor color(int level, int alpha=255) const
Definition: DarkStyle.cpp:255
void drawGutter(QPainter *p, QRect const &r) const
Definition: DarkStyle.cpp:450
void setDpiScalingEnabled(bool f)
Definition: DarkStyle.cpp:214
void drawToolButton(QPainter *p, QStyleOption const *option) const
Definition: DarkStyle.cpp:622
~DarkStyle() override
Definition: DarkStyle.cpp:209
QColor baseColor() const
Definition: DarkStyle.cpp:244
int pixelMetric(PixelMetric metric, const QStyleOption *option=nullptr, const QWidget *widget=nullptr) const override
Definition: DarkStyle.cpp:687
qreal dpiScaled(qreal value, qreal dpi) const
Definition: DarkStyle.cpp:229
QColor selectionColor() const
Definition: DarkStyle.cpp:420
DarkStyle(const QColor &base_color=QColor())
Definition: DarkStyle.cpp:203
QColor colorForItemView(QStyleOption const *opt) const
void drawControl(ControlElement ce, const QStyleOption *option, QPainter *p, const QWidget *widget) const override
Definition: DarkStyle.cpp:1286
QPalette standardPalette() const
Definition: DarkStyle.cpp:219
QRect indicatorRect(const QStyleOption *option, const QWidget *widget, const QRect &rect) const
チェックボックスとラジオボタンの凹みの矩形を求める
Definition: DarkStyle.cpp:829
void drawItemViewText(QPainter *p, const QStyleOptionViewItem *option, const QRect &rect, bool abbreviation) const
Definition: DarkStyle.cpp:1016
Definition: DarkStyle.cpp:181
Definition: DarkStyle.h:20
ButtonImages slider
Definition: DarkStyle.h:24
QImage page_bg
Definition: DarkStyle.h:21
ButtonImages add_line
Definition: DarkStyle.h:23
ButtonImages sub_line
Definition: DarkStyle.h:22