123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- #ifndef QSTYLEPAINTER_H
- #define QSTYLEPAINTER_H
- #include <QtGui/qpainter.h>
- #include <QtWidgets/qstyle.h>
- #include <QtWidgets/qwidget.h>
- QT_BEGIN_NAMESPACE
- class QStylePainter : public QPainter
- {
- public:
- inline QStylePainter() : QPainter(), widget(Q_NULLPTR), wstyle(Q_NULLPTR) {}
- inline explicit QStylePainter(QWidget *w) { begin(w, w); }
- inline QStylePainter(QPaintDevice *pd, QWidget *w) { begin(pd, w); }
- inline bool begin(QWidget *w) { return begin(w, w); }
- inline bool begin(QPaintDevice *pd, QWidget *w) {
- Q_ASSERT_X(w, "QStylePainter::QStylePainter", "Widget must be non-zero");
- widget = w;
- wstyle = w->style();
- return QPainter::begin(pd);
- };
- inline void drawPrimitive(QStyle::PrimitiveElement pe, const QStyleOption &opt);
- inline void drawControl(QStyle::ControlElement ce, const QStyleOption &opt);
- inline void drawComplexControl(QStyle::ComplexControl cc, const QStyleOptionComplex &opt);
- inline void drawItemText(const QRect &r, int flags, const QPalette &pal, bool enabled,
- const QString &text, QPalette::ColorRole textRole = QPalette::NoRole);
- inline void drawItemPixmap(const QRect &r, int flags, const QPixmap &pixmap);
- inline QStyle *style() const { return wstyle; }
- private:
- QWidget *widget;
- QStyle *wstyle;
- Q_DISABLE_COPY(QStylePainter)
- };
- void QStylePainter::drawPrimitive(QStyle::PrimitiveElement pe, const QStyleOption &opt)
- {
- wstyle->drawPrimitive(pe, &opt, this, widget);
- }
- void QStylePainter::drawControl(QStyle::ControlElement ce, const QStyleOption &opt)
- {
- wstyle->drawControl(ce, &opt, this, widget);
- }
- void QStylePainter::drawComplexControl(QStyle::ComplexControl cc, const QStyleOptionComplex &opt)
- {
- wstyle->drawComplexControl(cc, &opt, this, widget);
- }
- void QStylePainter::drawItemText(const QRect &r, int flags, const QPalette &pal, bool enabled,
- const QString &text, QPalette::ColorRole textRole)
- {
- wstyle->drawItemText(this, r, flags, pal, enabled, text, textRole);
- }
- void QStylePainter::drawItemPixmap(const QRect &r, int flags, const QPixmap &pixmap)
- {
- wstyle->drawItemPixmap(this, r, flags, pixmap);
- }
- QT_END_NAMESPACE
- #endif
|