// qgraphicseffect.sip generated by MetaSIP // // This file is part of the QtWidgets Python extension module. // // Copyright (c) 2020 Riverbank Computing Limited // // This file is part of PyQt5. // // This file may be used under the terms of the GNU General Public License // version 3.0 as published by the Free Software Foundation and appearing in // the file LICENSE included in the packaging of this file. Please review the // following information to ensure the GNU General Public License version 3.0 // requirements will be met: http://www.gnu.org/copyleft/gpl.html. // // If you do not wish to use this file under the terms of the GPL version 3.0 // then you may purchase a commercial license. For more information contact // info@riverbankcomputing.com. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. class QGraphicsEffect : QObject { %TypeHeaderCode #include %End public: enum ChangeFlag { SourceAttached, SourceDetached, SourceBoundingRectChanged, SourceInvalidated, }; typedef QFlags ChangeFlags; enum PixmapPadMode { NoPad, PadToTransparentBorder, PadToEffectiveBoundingRect, }; QGraphicsEffect(QObject *parent /TransferThis/ = 0); virtual ~QGraphicsEffect(); virtual QRectF boundingRectFor(const QRectF &sourceRect) const; QRectF boundingRect() const; bool isEnabled() const; public slots: void setEnabled(bool enable); void update(); signals: void enabledChanged(bool enabled); protected: virtual void draw(QPainter *painter) = 0; virtual void sourceChanged(QGraphicsEffect::ChangeFlags flags); void updateBoundingRect(); bool sourceIsPixmap() const; QRectF sourceBoundingRect(Qt::CoordinateSystem system = Qt::LogicalCoordinates) const; void drawSource(QPainter *painter); QPixmap sourcePixmap(Qt::CoordinateSystem system = Qt::LogicalCoordinates, QPoint *offset /Out/ = 0, QGraphicsEffect::PixmapPadMode mode = QGraphicsEffect::PadToEffectiveBoundingRect) const; }; QFlags operator|(QGraphicsEffect::ChangeFlag f1, QFlags f2); class QGraphicsColorizeEffect : QGraphicsEffect { %TypeHeaderCode #include %End public: QGraphicsColorizeEffect(QObject *parent /TransferThis/ = 0); virtual ~QGraphicsColorizeEffect(); QColor color() const; qreal strength() const; public slots: void setColor(const QColor &c); void setStrength(qreal strength); signals: void colorChanged(const QColor &color); void strengthChanged(qreal strength); protected: virtual void draw(QPainter *painter); }; class QGraphicsBlurEffect : QGraphicsEffect { %TypeHeaderCode #include %End public: enum BlurHint { PerformanceHint, QualityHint, AnimationHint, }; typedef QFlags BlurHints; QGraphicsBlurEffect(QObject *parent /TransferThis/ = 0); virtual ~QGraphicsBlurEffect(); virtual QRectF boundingRectFor(const QRectF &rect) const; qreal blurRadius() const; QGraphicsBlurEffect::BlurHints blurHints() const; public slots: void setBlurRadius(qreal blurRadius); void setBlurHints(QGraphicsBlurEffect::BlurHints hints); signals: void blurRadiusChanged(qreal blurRadius); void blurHintsChanged(QGraphicsBlurEffect::BlurHints hints /ScopesStripped=1/); protected: virtual void draw(QPainter *painter); }; QFlags operator|(QGraphicsBlurEffect::BlurHint f1, QFlags f2); class QGraphicsDropShadowEffect : QGraphicsEffect { %TypeHeaderCode #include %End public: QGraphicsDropShadowEffect(QObject *parent /TransferThis/ = 0); virtual ~QGraphicsDropShadowEffect(); virtual QRectF boundingRectFor(const QRectF &rect) const; QPointF offset() const; qreal xOffset() const; qreal yOffset() const; qreal blurRadius() const; QColor color() const; public slots: void setOffset(const QPointF &ofs); void setOffset(qreal dx, qreal dy); void setOffset(qreal d); void setXOffset(qreal dx); void setYOffset(qreal dy); void setBlurRadius(qreal blurRadius); void setColor(const QColor &color); signals: void offsetChanged(const QPointF &offset); void blurRadiusChanged(qreal blurRadius); void colorChanged(const QColor &color); protected: virtual void draw(QPainter *painter); }; class QGraphicsOpacityEffect : QGraphicsEffect { %TypeHeaderCode #include %End public: QGraphicsOpacityEffect(QObject *parent /TransferThis/ = 0); virtual ~QGraphicsOpacityEffect(); qreal opacity() const; QBrush opacityMask() const; public slots: void setOpacity(qreal opacity); void setOpacityMask(const QBrush &mask); signals: void opacityChanged(qreal opacity); void opacityMaskChanged(const QBrush &mask); protected: virtual void draw(QPainter *painter); };