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;
12  Private *m;
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
DarkStyle::ScrollBarTextures::page_bg
QImage page_bg
Definition: DarkStyle.h:21
DarkStyle::Private::base_color
QColor base_color
Definition: DarkStyle.cpp:150
DarkStyle::polish
void polish(QPalette &palette) override
Definition: DarkStyle.cpp:410
TEXTURE_CACHE_SIZE
static const int TEXTURE_CACHE_SIZE
Definition: DarkStyle.cpp:147
createImageFromNinePatchImage
QImage createImageFromNinePatchImage(QImage const &image, int dw, int dh)
Definition: NinePatch.cpp:116
DarkStyle::drawToolButton
void drawToolButton(QPainter *p, QStyleOption const *option) const
Definition: DarkStyle.cpp:598
DarkStyle::ScrollBarTextures
Definition: DarkStyle.h:20
TraditionalWindowsStyleTreeControl
Windows95スタイルのツリーコントロールの見た目にする
Definition: TraditionalWindowsStyleTreeControl.h:14
DarkStyle::drawComplexControl
void drawComplexControl(ComplexControl cc, const QStyleOptionComplex *option, QPainter *p, const QWidget *widget) const override
Definition: DarkStyle.cpp:2351
DarkStyle::m
Private * m
Definition: DarkStyle.h:11
DarkStyle::isDpiScalingEnabled
bool isDpiScalingEnabled() const
Definition: DarkStyle.cpp:193
DarkStyle::ScrollBarTextures::sub_line
ButtonImages sub_line
Definition: DarkStyle.h:22
drawFrame
static void drawFrame(QPainter *pr, int x, int y, int w, int h)
Definition: ColorSquareWidget.cpp:38
DarkStyle::drawMenuBarBG
void drawMenuBarBG(QPainter *p, const QStyleOption *option, const QWidget *widget) const
Definition: DarkStyle.cpp:648
menuArrowHMargin
@ menuArrowHMargin
Definition: DarkStyle.cpp:2777
DarkStyle::~DarkStyle
~DarkStyle() override
Definition: DarkStyle.cpp:178
DarkStyle::Private::dpi_scaling_enabled
bool dpi_scaling_enabled
Definition: DarkStyle.cpp:166
DarkStyle::ScrollBarTextures::slider
ButtonImages slider
Definition: DarkStyle.h:24
DarkStyle::drawFocusFrame
void drawFocusFrame(QPainter *p, const QRect &rect, int margin) const
Definition: DarkStyle.cpp:494
DarkStyle::loadColorizedImage
QImage loadColorizedImage(QString const &path, QString const &role=QString())
Definition: DarkStyle.cpp:254
DarkStyle::Private
Definition: DarkStyle.cpp:149
DarkStyle::ButtonImages::im_hover
QImage im_hover
Definition: DarkStyle.h:17
DarkStyle::generateButtonImages
ButtonImages generateButtonImages(QString const &path)
Definition: DarkStyle.cpp:288
DarkStyle::colorizeImage
QImage colorizeImage(QImage image)
Definition: DarkStyle.cpp:236
DarkStyle::drawButton
void drawButton(QPainter *p, QStyleOption const *option, bool mac_margin=true) const
Definition: DarkStyle.cpp:506
DarkStyle.h
DarkStyle::pixelMetric
int pixelMetric(PixelMetric metric, const QStyleOption *option=nullptr, const QWidget *widget=nullptr) const override
Definition: DarkStyle.cpp:663
DarkStyle::drawPrimitive
void drawPrimitive(PrimitiveElement pe, const QStyleOption *option, QPainter *p, const QWidget *widget) const override
Definition: DarkStyle.cpp:1099
DarkStyle::DarkStyle
DarkStyle(const QColor &base_color=QColor())
Definition: DarkStyle.cpp:171
DarkStyle::selectionColor
QColor selectionColor() const
Definition: DarkStyle.cpp:396
DarkStyle::ScrollBarTextures::add_line
ButtonImages add_line
Definition: DarkStyle.h:23
DarkStyle::Private::progress_vert
QImage progress_vert
Definition: DarkStyle.cpp:162
EscapeCode::End
@ End
Definition: AbstractCharacterBasedApplication.h:22
DarkStyle::baseColor
QColor baseColor() const
Definition: DarkStyle.cpp:213
DarkStyle::Private::scroll_bar_extent
int scroll_bar_extent
Definition: DarkStyle.cpp:156
DarkStyle::sizeFromContents
QSize sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &size, const QWidget *widget) const override
Definition: DarkStyle.cpp:2782
DarkStyle::pixmapFromImage
QPixmap pixmapFromImage(QImage const &image, QSize size) const
Definition: DarkStyle.cpp:380
DarkStyle::styleHint
int styleHint(StyleHint stylehint, const QStyleOption *option=nullptr, const QWidget *widget=nullptr, QStyleHintReturn *returnData=nullptr) const override
Definition: DarkStyle.cpp:917
DarkStyle::drawGutter
void drawGutter(QPainter *p, QRect const &r) const
Definition: DarkStyle.cpp:426
DarkStyle::Private::progress_horz
QImage progress_horz
Definition: DarkStyle.cpp:161
DarkStyle::Private::button_press
QImage button_press
Definition: DarkStyle.cpp:159
DarkStyle::color
QColor color(int level, int alpha=255) const
Definition: DarkStyle.cpp:224
DarkStyle::standardPalette
QPalette standardPalette() const
Definition: DarkStyle.cpp:188
DarkStyle::ButtonImages
Definition: DarkStyle.h:14
DarkStyle::drawNinePatchImage
void drawNinePatchImage(QPainter *p, QImage const &image, QRect const &r, int w, int h) const
Definition: DarkStyle.cpp:401
DarkStyle::Private::legacy_windows
TraditionalWindowsStyleTreeControl legacy_windows
Definition: DarkStyle.cpp:164
menuRightBorder
@ menuRightBorder
Definition: DarkStyle.cpp:2778
DarkStyle::generateHoverImage
QImage generateHoverImage(const QImage &source)
Definition: DarkStyle.cpp:325
TraditionalWindowsStyleTreeControl::drawPrimitive
bool drawPrimitive(QStyle::PrimitiveElement element, QStyleOption const *option, QPainter *painter, QWidget const *widget=nullptr) const
Definition: TraditionalWindowsStyleTreeControl.cpp:63
menuCheckMarkWidth
@ menuCheckMarkWidth
Definition: DarkStyle.cpp:2779
DarkStyle::Private::images_loaded
bool images_loaded
Definition: DarkStyle.cpp:151
DarkStyle::Private::palette
QPalette palette
Definition: DarkStyle.cpp:168
DarkStyle::ButtonImages::im_normal
QImage im_normal
Definition: DarkStyle.h:16
menuItemHMargin
@ menuItemHMargin
Definition: DarkStyle.cpp:2776
TraditionalWindowsStyleTreeControl.h
DarkStyle::indicatorRect
QRect indicatorRect(const QStyleOption *option, const QWidget *widget, const QRect &rect) const
Definition: DarkStyle.cpp:797
DarkStyle::colorForItemView
QColor colorForItemView(QStyleOption const *opt) const
NinePatch.h
DarkStyle::loadImages
void loadImages()
Definition: DarkStyle.cpp:351
DarkStyle::setBaseColor
void setBaseColor(const QColor &color)
Definition: DarkStyle.cpp:218
DarkStyle::setDpiScalingEnabled
void setDpiScalingEnabled(bool f)
Definition: DarkStyle.cpp:183
DarkStyle::subControlRect
QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *option, SubControl sc, const QWidget *widget) const override
Definition: DarkStyle.cpp:812
DarkStyle::setScrollBarExtent
void setScrollBarExtent(int n)
Definition: DarkStyle.cpp:231
DarkStyle::drawControl
void drawControl(ControlElement ce, const QStyleOption *option, QPainter *p, const QWidget *widget) const override
Definition: DarkStyle.cpp:1370
DarkStyle::Private::hsb
ScrollBarTextures hsb
Definition: DarkStyle.cpp:153
DarkStyle::dpiScaled
qreal dpiScaled(qreal value, qreal dpi) const
Definition: DarkStyle.cpp:198
DarkStyle
Definition: DarkStyle.h:8
DarkStyle::drawItemViewText
void drawItemViewText(QPainter *p, const QStyleOptionViewItem *option, const QRect &rect, bool abbreviation) const
Definition: DarkStyle.cpp:1075
DarkStyle::Private::button_normal
QImage button_normal
Definition: DarkStyle.cpp:158
DarkStyle::drawSelectedItemFrame
void drawSelectedItemFrame(QPainter *p, QRect rect, bool focus) const
Definition: DarkStyle.cpp:445
DarkStyle::Private::vsb
ScrollBarTextures vsb
Definition: DarkStyle.cpp:154