33 QBrush(Qt::BrushStyle bs);
34 QBrush(
const QColor &color, Qt::BrushStyle bs=Qt::SolidPattern);
35 QBrush(Qt::GlobalColor color, Qt::BrushStyle bs=Qt::SolidPattern);
37 QBrush(
const QColor &color,
const QPixmap &pixmap);
38 QBrush(Qt::GlobalColor color,
const QPixmap &pixmap);
39 QBrush(
const QPixmap &pixmap);
40 QBrush(
const QImage &image);
42 QBrush(
const QBrush &brush);
44 QBrush(
const QGradient &gradient);
47 QBrush &operator=(
const QBrush &brush);
48 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QBrush)
49 inline void swap(QBrush &other)
noexcept
52 QBrush &operator=(Qt::BrushStyle style);
53 QBrush &operator=(QColor color);
54 QBrush &operator=(Qt::GlobalColor color) {
return operator=(QColor(color)); }
56 operator QVariant()
const;
58 inline Qt::BrushStyle style()
const;
59 void setStyle(Qt::BrushStyle);
61 inline QTransform transform()
const;
62 void setTransform(
const QTransform &);
64 QPixmap texture()
const;
65 void setTexture(
const QPixmap &pixmap);
67 QImage textureImage()
const;
68 void setTextureImage(
const QImage &image);
70 inline const QColor &color()
const;
71 void setColor(
const QColor &color);
72 inline void setColor(Qt::GlobalColor color);
74 const QGradient *gradient()
const;
76 bool isOpaque()
const;
78 bool operator==(
const QBrush &b)
const;
79 inline bool operator!=(
const QBrush &b)
const {
return !(operator==(b)); }
81 using DataPtr = std::unique_ptr<QBrushData, QBrushDataPointerDeleter>;
84 friend class QRasterPaintEngine;
85 friend class QRasterPaintEnginePrivate;
86 friend struct QSpanData;
87 friend class QPainter;
88 friend bool Q_GUI_EXPORT qHasPixmapTexture(
const QBrush& brush);
90 bool doCompareEqualColor(QColor rhs)
const noexcept;
91 friend bool comparesEqual(
const QBrush &lhs, QColor rhs)
noexcept
93 return lhs.doCompareEqualColor(rhs);
95 Q_DECLARE_EQUALITY_COMPARABLE(QBrush, QColor)
96 Q_DECLARE_EQUALITY_COMPARABLE(QBrush, Qt::GlobalColor)
98 bool doCompareEqualStyle(Qt::BrushStyle rhs)
const noexcept;
99 friend bool comparesEqual(
const QBrush &lhs, Qt::BrushStyle rhs)
noexcept
101 return lhs.doCompareEqualStyle(rhs);
103 Q_DECLARE_EQUALITY_COMPARABLE(QBrush, Qt::BrushStyle)
105 void detach(Qt::BrushStyle newStyle);
106 void init(
const QColor &color, Qt::BrushStyle bs);
110 inline bool isDetached()
const;
111 inline DataPtr &data_ptr() {
return d; }
176 enum CoordinateMode {
182 Q_ENUM(CoordinateMode)
184 enum InterpolationMode {
186 ComponentInterpolation
207 CloudyKnoxville = 18,
215 SaintPetersburg = 26,
274 EternalConstance = 91,
289 ConfidentCloud = 107,
302 CheerfulCaramel = 122,
316 MillenniumPine = 138,
332 LandingAircraft = 155,
334 SleeplessNight = 157,
341 StrictNovember = 164,
367 Type type()
const {
return m_type; }
369 inline void setSpread(Spread spread);
370 Spread spread()
const {
return m_spread; }
372 void setColorAt(qreal pos,
const QColor &color);
374 void setStops(
const QGradientStops &stops);
375 QGradientStops stops()
const;
377 CoordinateMode coordinateMode()
const;
378 void setCoordinateMode(CoordinateMode mode);
380 InterpolationMode interpolationMode()
const;
381 void setInterpolationMode(InterpolationMode mode);
383 bool operator==(
const QGradient &gradient)
const;
384 inline bool operator!=(
const QGradient &other)
const
385 {
return !operator==(other); }
387 union QGradientData {
389 qreal x1, y1, x2, y2;
392 qreal cx, cy, fx, fy, cradius, fradius;
400 friend class QLinearGradient;
401 friend class QRadialGradient;
402 friend class QConicalGradient;
405 Type m_type = NoGradient;
406 Spread m_spread = PadSpread;
407 QGradientStops m_stops;
408 QGradientData m_data;
409 CoordinateMode m_coordinateMode = LogicalMode;
410 InterpolationMode m_interpolationMode = ColorInterpolation;
420 QLinearGradient(
const QPointF &start,
const QPointF &finalStop);
421 QLinearGradient(qreal xStart, qreal yStart, qreal xFinalStop, qreal yFinalStop);
424 QPointF start()
const;
425 void setStart(
const QPointF &start);
426 inline void setStart(qreal x, qreal y) { setStart(QPointF(x, y)); }
428 QPointF finalStop()
const;
429 void setFinalStop(
const QPointF &stop);
430 inline void setFinalStop(qreal x, qreal y) { setFinalStop(QPointF(x, y)); }
438 QRadialGradient(
const QPointF ¢er, qreal radius,
const QPointF &focalPoint);
439 QRadialGradient(qreal cx, qreal cy, qreal radius, qreal fx, qreal fy);
441 QRadialGradient(
const QPointF ¢er, qreal radius);
442 QRadialGradient(qreal cx, qreal cy, qreal radius);
444 QRadialGradient(
const QPointF ¢er, qreal centerRadius,
const QPointF &focalPoint, qreal focalRadius);
445 QRadialGradient(qreal cx, qreal cy, qreal centerRadius, qreal fx, qreal fy, qreal focalRadius);
449 QPointF center()
const;
450 void setCenter(
const QPointF ¢er);
451 inline void setCenter(qreal x, qreal y) { setCenter(QPointF(x, y)); }
453 QPointF focalPoint()
const;
454 void setFocalPoint(
const QPointF &focalPoint);
455 inline void setFocalPoint(qreal x, qreal y) { setFocalPoint(QPointF(x, y)); }
457 qreal radius()
const;
458 void setRadius(qreal radius);
460 qreal centerRadius()
const;
461 void setCenterRadius(qreal radius);
463 qreal focalRadius()
const;
464 void setFocalRadius(qreal radius);
472 QConicalGradient(
const QPointF ¢er, qreal startAngle);
473 QConicalGradient(qreal cx, qreal cy, qreal startAngle);
476 QPointF center()
const;
477 void setCenter(
const QPointF ¢er);
478 inline void setCenter(qreal x, qreal y) { setCenter(QPointF(x, y)); }
481 void setAngle(qreal angle);