32 QBrush(Qt::BrushStyle bs);
33 QBrush(
const QColor &color, Qt::BrushStyle bs=Qt::SolidPattern);
34 QBrush(Qt::GlobalColor color, Qt::BrushStyle bs=Qt::SolidPattern);
36 QBrush(
const QColor &color,
const QPixmap &pixmap);
37 QBrush(Qt::GlobalColor color,
const QPixmap &pixmap);
38 QBrush(
const QPixmap &pixmap);
39 QBrush(
const QImage &image);
41 QBrush(
const QBrush &brush);
43 QBrush(
const QGradient &gradient);
46 QBrush &operator=(
const QBrush &brush);
47 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QBrush)
48 inline void swap(QBrush &other)
noexcept
51 QBrush &operator=(Qt::BrushStyle style);
52 QBrush &operator=(QColor color);
53 QBrush &operator=(Qt::GlobalColor color) {
return operator=(QColor(color)); }
55 operator QVariant()
const;
57 inline Qt::BrushStyle style()
const;
58 void setStyle(Qt::BrushStyle);
60 inline QTransform transform()
const;
61 void setTransform(
const QTransform &);
63 QPixmap texture()
const;
64 void setTexture(
const QPixmap &pixmap);
66 QImage textureImage()
const;
67 void setTextureImage(
const QImage &image);
69 inline const QColor &color()
const;
70 void setColor(
const QColor &color);
71 inline void setColor(Qt::GlobalColor color);
73 const QGradient *gradient()
const;
75 bool isOpaque()
const;
77 bool operator==(
const QBrush &b)
const;
78 inline bool operator!=(
const QBrush &b)
const {
return !(operator==(b)); }
80 using DataPtr = std::unique_ptr<QBrushData, QBrushDataPointerDeleter>;
83 friend class QRasterPaintEngine;
84 friend class QRasterPaintEnginePrivate;
85 friend struct QSpanData;
86 friend class QPainter;
87 friend bool Q_GUI_EXPORT qHasPixmapTexture(
const QBrush& brush);
89 bool doCompareEqualColor(QColor rhs)
const noexcept;
90 friend bool comparesEqual(
const QBrush &lhs, QColor rhs)
noexcept
92 return lhs.doCompareEqualColor(rhs);
94 Q_DECLARE_EQUALITY_COMPARABLE(QBrush, QColor)
95 Q_DECLARE_EQUALITY_COMPARABLE(QBrush, Qt::GlobalColor)
97 bool doCompareEqualStyle(Qt::BrushStyle rhs)
const noexcept;
98 friend bool comparesEqual(
const QBrush &lhs, Qt::BrushStyle rhs)
noexcept
100 return lhs.doCompareEqualStyle(rhs);
102 Q_DECLARE_EQUALITY_COMPARABLE(QBrush, Qt::BrushStyle)
104 void detach(Qt::BrushStyle newStyle);
105 void init(
const QColor &color, Qt::BrushStyle bs);
109 inline bool isDetached()
const;
110 inline DataPtr &data_ptr() {
return d; }
175 enum CoordinateMode {
181 Q_ENUM(CoordinateMode)
183 enum InterpolationMode {
185 ComponentInterpolation
206 CloudyKnoxville = 18,
214 SaintPetersburg = 26,
273 EternalConstance = 91,
288 ConfidentCloud = 107,
301 CheerfulCaramel = 122,
315 MillenniumPine = 138,
331 LandingAircraft = 155,
333 SleeplessNight = 157,
340 StrictNovember = 164,
366 Type type()
const {
return m_type; }
368 inline void setSpread(Spread spread);
369 Spread spread()
const {
return m_spread; }
371 void setColorAt(qreal pos,
const QColor &color);
373 void setStops(
const QGradientStops &stops);
374 QGradientStops stops()
const;
376 CoordinateMode coordinateMode()
const;
377 void setCoordinateMode(CoordinateMode mode);
379 InterpolationMode interpolationMode()
const;
380 void setInterpolationMode(InterpolationMode mode);
382 bool operator==(
const QGradient &gradient)
const;
383 inline bool operator!=(
const QGradient &other)
const
384 {
return !operator==(other); }
386 union QGradientData {
388 qreal x1, y1, x2, y2;
391 qreal cx, cy, fx, fy, cradius, fradius;
399 friend class QLinearGradient;
400 friend class QRadialGradient;
401 friend class QConicalGradient;
404 Type m_type = NoGradient;
405 Spread m_spread = PadSpread;
406 QGradientStops m_stops;
407 QGradientData m_data;
408 CoordinateMode m_coordinateMode = LogicalMode;
409 InterpolationMode m_interpolationMode = ColorInterpolation;
419 QLinearGradient(
const QPointF &start,
const QPointF &finalStop);
420 QLinearGradient(qreal xStart, qreal yStart, qreal xFinalStop, qreal yFinalStop);
423 QPointF start()
const;
424 void setStart(
const QPointF &start);
425 inline void setStart(qreal x, qreal y) { setStart(QPointF(x, y)); }
427 QPointF finalStop()
const;
428 void setFinalStop(
const QPointF &stop);
429 inline void setFinalStop(qreal x, qreal y) { setFinalStop(QPointF(x, y)); }
437 QRadialGradient(
const QPointF ¢er, qreal radius,
const QPointF &focalPoint);
438 QRadialGradient(qreal cx, qreal cy, qreal radius, qreal fx, qreal fy);
440 QRadialGradient(
const QPointF ¢er, qreal radius);
441 QRadialGradient(qreal cx, qreal cy, qreal radius);
443 QRadialGradient(
const QPointF ¢er, qreal centerRadius,
const QPointF &focalPoint, qreal focalRadius);
444 QRadialGradient(qreal cx, qreal cy, qreal centerRadius, qreal fx, qreal fy, qreal focalRadius);
448 QPointF center()
const;
449 void setCenter(
const QPointF ¢er);
450 inline void setCenter(qreal x, qreal y) { setCenter(QPointF(x, y)); }
452 QPointF focalPoint()
const;
453 void setFocalPoint(
const QPointF &focalPoint);
454 inline void setFocalPoint(qreal x, qreal y) { setFocalPoint(QPointF(x, y)); }
456 qreal radius()
const;
457 void setRadius(qreal radius);
459 qreal centerRadius()
const;
460 void setCenterRadius(qreal radius);
462 qreal focalRadius()
const;
463 void setFocalRadius(qreal radius);
471 QConicalGradient(
const QPointF ¢er, qreal startAngle);
472 QConicalGradient(qreal cx, qreal cy, qreal startAngle);
475 QPointF center()
const;
476 void setCenter(
const QPointF ¢er);
477 inline void setCenter(qreal x, qreal y) { setCenter(QPointF(x, y)); }
480 void setAngle(qreal angle);