12#include <QStandardPaths>
19 , m_static(staticSize)
21 , m_alignment(alignment)
27 name = QStringLiteral(
"none");
30 name = QStringLiteral(
"unstyled");
33 name = QStringLiteral(
"styled");
37 const QString defaultPath = QStringLiteral(
"kwin/frames/plasma/frame_%1.qml").arg(name);
40 const QString path = QStandardPaths::locate(QStandardPaths::GenericDataLocation, defaultPath);
42 setSource(QUrl::fromLocalFile(path), QVariantMap{{QStringLiteral(
"effectFrame"), QVariant::fromValue(
this)}});
45 connect(
rootItem(), &QQuickItem::implicitWidthChanged,
this, &EffectFrameQuickScene::reposition);
46 connect(
rootItem(), &QQuickItem::implicitHeightChanged,
this, &EffectFrameQuickScene::reposition);
113 if (m_text ==
text) {
124 return m_frameOpacity;
137 return m_crossFadeEnabled;
142 if (m_crossFadeEnabled != enabled) {
143 m_crossFadeEnabled = enabled;
150 return m_crossFadeProgress;
155 if (m_crossFadeProgress != progress) {
156 m_crossFadeProgress = progress;
183 if (m_point == point) {
191void EffectFrameQuickScene::reposition()
193 if (!
rootItem() || m_point.x() < 0 || m_point.y() < 0) {
206 if (m_alignment & Qt::AlignLeft)
208 else if (m_alignment & Qt::AlignRight)
212 if (m_alignment & Qt::AlignTop)
214 else if (m_alignment & Qt::AlignBottom)
244 m_view->deleteLater();
259 return m_view->
font();
284 return m_view->
icon();
291 if (m_view->
iconSize().isEmpty() && !
icon.availableSizes().isEmpty()) {
327 return m_view->
text();
337 return m_view->
style();
362#include "moc_effectframe.cpp"
void setIconSize(const QSize &size)
EffectFrame(EffectFrameStyle style, bool staticSize=true, QPoint position=QPoint(-1, -1), Qt::Alignment alignment=Qt::AlignCenter)
void render(const RenderTarget &renderTarget, const RenderViewport &viewport, const QRegion ®ion=infiniteRegion(), double opacity=1.0, double frameOpacity=1.0)
void setAlignment(Qt::Alignment alignment)
void setCrossFadeProgress(qreal progress)
Qt::Alignment alignment() const
EffectFrameStyle style() const
void setGeometry(const QRect &geometry, bool force=false)
void enableCrossFade(bool enable)
void setFont(const QFont &font)
void setText(const QString &text)
void setPosition(const QPoint &point)
void setIcon(const QIcon &icon)
qreal crossFadeProgress() const
EffectFrameStyle style() const
Qt::Alignment alignment() const
EffectFrameQuickScene(EffectFrameStyle style, bool staticSize, QPoint position, Qt::Alignment alignment)
void setFrameOpacity(qreal frameOpacity)
Q_SIGNAL void textChanged(const QString &text)
Q_SIGNAL void fontChanged(const QFont &font)
void setAlignment(Qt::Alignment alignment)
Q_SIGNAL void iconSizeChanged(const QSize &iconSize)
void setText(const QString &text)
void setFont(const QFont &font)
void setIconSize(const QSize &iconSize)
void setPosition(const QPoint &point)
void setCrossFadeEnabled(bool enabled)
Q_SIGNAL void iconChanged(const QIcon &icon)
~EffectFrameQuickScene() override
Q_SIGNAL void frameOpacityChanged(qreal frameOpacity)
void setIcon(const QIcon &icon)
Q_SIGNAL void crossFadeProgressChanged(qreal progress)
Q_SIGNAL void crossFadeEnabledChanged(bool enabled)
void setCrossFadeProgress(qreal progress)
Q_SCRIPTABLE void addRepaint(const QRectF &r)
void renderOffscreenQuickView(const RenderTarget &renderTarget, const RenderViewport &viewport, OffscreenQuickView *effectQuickView) const
QQuickItem * rootItem() const
void setSource(const QUrl &source)
void setOpacity(qreal opacity)
void setGeometry(const QRect &rect)
void geometryChanged(const QRect &oldGeometry, const QRect &newGeometry)
@ EffectFrameStyled
Displays a Plasma-styled frame around the contents.
@ EffectFrameUnstyled
Displays a basic box around the contents.
@ EffectFrameNone
Displays no frame around the contents.