Guitar
DarkStyle.h
Go to the documentation of this file.
1 #ifndef DARKSTYLE_H
2 #define DARKSTYLE_H
3 
4 #include "MyCommonStyle.h"
5 
6 #include <QCommonStyle>
7 
8 class QStyleOptionViewItem;
9 
10 class DarkStyle : public MyCommonStyle<QCommonStyle> {
12 private:
13  struct Private;
15 
16  class ButtonImages {
17  public:
18  QImage im_normal;
19  QImage im_hover;
20  };
21 
23  QImage page_bg;
27  };
28 
29  QImage colorizeImage(QImage image);
30  QImage loadColorizedImage(QString const &path, QString const &role = QString());
31  ButtonImages generateButtonImages(QString const &path);
32  QImage generateHoverImage(const QImage &source);
33  QPixmap pixmapFromImage(QImage const &image, QSize size) const;
34  void loadImages();
35 
36  QColor selectionColor() const;
37 
38  void drawNinePatchImage(QPainter *p, QImage const &image, QRect const &r, int w, int h) const;
39  void drawGutter(QPainter *p, QRect const &r) const;
40  void drawSelectedItemFrame(QPainter *p, QRect rect, bool focus) const;
41  void drawFocusFrame(QPainter *p, const QRect &rect, int margin) const;
42  void drawButton(QPainter *p, QStyleOption const *option, bool mac_margin = true) const;
43  void drawToolButton(QPainter *p, QStyleOption const *option) const;
44  void drawMenuBarBG(QPainter *p, const QStyleOption *option, const QWidget *widget) const;
45  QColor color(int level, int alpha = 255) const;
46  void drawItemViewText(QPainter *p, const QStyleOptionViewItem *option, const QRect &rect, bool abbreviation) const;
47  QRect indicatorRect(const QStyleOption *option, const QWidget *widget, const QRect &rect) const;
48  qreal dpiScaled(qreal value, qreal dpi) const;
49  qreal dpiScaled(qreal value, const QPaintDevice *device) const;
50  qreal dpiScaled(qreal value, const QStyleOption *option) const;
51 public:
52  DarkStyle(const QColor &base_color = QColor());
53  ~DarkStyle() override;
54 
55  bool isDpiScalingEnabled() const;
56 
57  QColor baseColor() const;
58  void setBaseColor(const QColor &color);
59  void setScrollBarExtent(int n);
60  void setDpiScalingEnabled(bool f);
61 
62  QPalette standardPalette() const override;
63  QSize sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &size, const QWidget *widget) const override;
64  void polish(QPalette &palette) override;
65  int pixelMetric(PixelMetric metric, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const override;
66  QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *option, SubControl sc, const QWidget *widget) const override;
67  int styleHint(StyleHint stylehint, const QStyleOption *option = nullptr, const QWidget *widget = nullptr, QStyleHintReturn *returnData = nullptr) const override;
68  void drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const override;
69  void drawControl(ControlElement ce, const QStyleOption *option, QPainter *p, const QWidget *widget) const override;
70  void drawComplexControl(ComplexControl cc, const QStyleOptionComplex *option, QPainter *p, const QWidget *widget) const override;
71 
72 };
73 
74 #endif // DARKSTYLE_H
Definition: DarkStyle.h:16
QImage im_normal
Definition: DarkStyle.h:18
QImage im_hover
Definition: DarkStyle.h:19
Definition: DarkStyle.h:10
QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *option, SubControl sc, const QWidget *widget) const override
Definition: DarkStyle.cpp:797
void drawFocusFrame(QPainter *p, const QRect &rect, int margin) const
Definition: DarkStyle.cpp:473
Private * m
Definition: DarkStyle.h:13
void loadImages()
Definition: DarkStyle.cpp:330
QSize sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &size, const QWidget *widget) const override
Definition: DarkStyle.cpp:2630
void drawSelectedItemFrame(QPainter *p, QRect rect, bool focus) const
Definition: DarkStyle.cpp:424
QPalette standardPalette() const override
Definition: DarkStyle.cpp:174
QPixmap pixmapFromImage(QImage const &image, QSize size) const
Definition: DarkStyle.cpp:359
int styleHint(StyleHint stylehint, const QStyleOption *option=nullptr, const QWidget *widget=nullptr, QStyleHintReturn *returnData=nullptr) const override
Definition: DarkStyle.cpp:902
void drawMenuBarBG(QPainter *p, const QStyleOption *option, const QWidget *widget) const
Definition: DarkStyle.cpp:627
ButtonImages generateButtonImages(QString const &path)
Definition: DarkStyle.cpp:267
QImage colorizeImage(QImage image)
Definition: DarkStyle.cpp:222
void polish(QPalette &palette) override
Definition: DarkStyle.cpp:389
void drawNinePatchImage(QPainter *p, QImage const &image, QRect const &r, int w, int h) const
Definition: DarkStyle.cpp:380
bool isDpiScalingEnabled() const
Definition: DarkStyle.cpp:179
void drawComplexControl(ComplexControl cc, const QStyleOptionComplex *option, QPainter *p, const QWidget *widget) const override
Definition: DarkStyle.cpp:2199
void drawButton(QPainter *p, QStyleOption const *option, bool mac_margin=true) const
Definition: DarkStyle.cpp:485
void setScrollBarExtent(int n)
Definition: DarkStyle.cpp:217
void setBaseColor(const QColor &color)
Definition: DarkStyle.cpp:204
QImage generateHoverImage(const QImage &source)
Definition: DarkStyle.cpp:304
QImage loadColorizedImage(QString const &path, QString const &role=QString())
Definition: DarkStyle.cpp:240
QColor color(int level, int alpha=255) const
Definition: DarkStyle.cpp:210
void drawGutter(QPainter *p, QRect const &r) const
Definition: DarkStyle.cpp:405
void setDpiScalingEnabled(bool f)
Definition: DarkStyle.cpp:169
void drawToolButton(QPainter *p, QStyleOption const *option) const
Definition: DarkStyle.cpp:577
~DarkStyle() override
Definition: DarkStyle.cpp:164
void drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const override
Definition: DarkStyle.cpp:991
QColor baseColor() const
Definition: DarkStyle.cpp:199
int pixelMetric(PixelMetric metric, const QStyleOption *option=nullptr, const QWidget *widget=nullptr) const override
Definition: DarkStyle.cpp:642
qreal dpiScaled(qreal value, qreal dpi) const
Definition: DarkStyle.cpp:184
QColor selectionColor() const
Definition: DarkStyle.cpp:375
DarkStyle(const QColor &base_color=QColor())
Definition: DarkStyle.cpp:158
void drawControl(ControlElement ce, const QStyleOption *option, QPainter *p, const QWidget *widget) const override
Definition: DarkStyle.cpp:1243
QRect indicatorRect(const QStyleOption *option, const QWidget *widget, const QRect &rect) const
チェックボックスとラジオボタンの凹みの矩形を求める
Definition: DarkStyle.cpp:784
void drawItemViewText(QPainter *p, const QStyleOptionViewItem *option, const QRect &rect, bool abbreviation) const
Definition: DarkStyle.cpp:968
Definition: MyCommonStyle.h:19
Definition: DarkStyle.cpp:136
Definition: DarkStyle.h:22
ButtonImages slider
Definition: DarkStyle.h:26
QImage page_bg
Definition: DarkStyle.h:23
ButtonImages add_line
Definition: DarkStyle.h:25
ButtonImages sub_line
Definition: DarkStyle.h:24