21 #ifndef PLASMA_FRAMESVG_H
22 #define PLASMA_FRAMESVG_H
24 #include <QtCore/QObject>
25 #include <QtGui/QPixmap>
44 class FrameSvgPrivate;
80 Q_FLAGS(EnabledBorders)
81 Q_PROPERTY(EnabledBorders enabledBorders READ enabledBorders WRITE setEnabledBorders)
93 AllBorders = TopBorder | BottomBorder | LeftBorder | RightBorder
95 Q_DECLARE_FLAGS(EnabledBorders, EnabledBorder)
113 Q_INVOKABLE
void setImagePath(const QString &path);
119 void setEnabledBorders(const EnabledBorders borders);
125 EnabledBorders enabledBorders() const;
131 Q_INVOKABLE
void resizeFrame(const QSizeF &size);
136 Q_INVOKABLE QSizeF frameSize() const;
143 Q_INVOKABLE qreal marginSize(const Plasma::
MarginEdge edge) const;
153 Q_INVOKABLE
void getMargins(qreal &left, qreal &top, qreal &right, qreal &bottom) const;
158 Q_INVOKABLE QRectF contentsRect() const;
169 Q_INVOKABLE
void setElementPrefix(Plasma::
Location location);
187 Q_INVOKABLE
void setElementPrefix(const QString & prefix);
194 Q_INVOKABLE
bool hasElementPrefix(const QString & prefix) const;
204 Q_INVOKABLE
bool hasElementPrefix(Plasma::
Location location) const;
210 Q_INVOKABLE QString prefix();
216 Q_INVOKABLE QRegion mask() const;
221 QPixmap alphaMask() const;
227 Q_INVOKABLE
void setCacheAllRenderedFrames(
bool cache);
232 Q_INVOKABLE
bool cacheAllRenderedFrames() const;
239 Q_INVOKABLE
void clearCache();
248 Q_INVOKABLE QPixmap framePixmap();
256 Q_INVOKABLE
void paintFrame(QPainter *painter, const QRectF &target,
257 const QRectF &source = QRectF());
265 Q_INVOKABLE
void paintFrame(QPainter *painter, const QPointF &pos = QPointF(0, 0));
268 FrameSvgPrivate *const d;
271 Q_PRIVATE_SLOT(d,
void updateSizes())
272 Q_PRIVATE_SLOT(d,
void updateNeeded())
277 Q_DECLARE_OPERATORS_FOR_FLAGS(Plasma::
FrameSvg::EnabledBorders)
279 #endif // multiple inclusion guard