summaryrefslogtreecommitdiffstats
path: root/tests/manual/examples/blurpicker/blureffect.cpp
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2023-06-02 11:40:08 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2023-06-05 19:13:33 +0200
commita3dde7c93eb7325d07d2985cadc0efca1aa978aa (patch)
treed670f945127857e23fc527091590233c10884d90 /tests/manual/examples/blurpicker/blureffect.cpp
parente0ec19de415a06bf6a0c401175f1c1908dfde68f (diff)
Move widgets blurpicker example to manual test
Change-Id: I7e19b84ac4b6a8e380fc9a7dcc37cc08ced89b4b Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Diffstat (limited to 'tests/manual/examples/blurpicker/blureffect.cpp')
-rw-r--r--tests/manual/examples/blurpicker/blureffect.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/manual/examples/blurpicker/blureffect.cpp b/tests/manual/examples/blurpicker/blureffect.cpp
new file mode 100644
index 00000000000..2e2b8c8d6ba
--- /dev/null
+++ b/tests/manual/examples/blurpicker/blureffect.cpp
@@ -0,0 +1,31 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+#include "blureffect.h"
+
+#include <QDebug>
+
+BlurEffect::BlurEffect(QGraphicsItem *item)
+ : QGraphicsBlurEffect()
+ , m_baseLine(200), item(item)
+{
+}
+
+void BlurEffect::adjustForItem()
+{
+ qreal y = m_baseLine - item->pos().y();
+ qreal radius = qBound(qreal(0.0), y / 32, qreal(16.0));
+ setBlurRadius(radius);
+}
+
+QRectF BlurEffect::boundingRect() const
+{
+ const_cast<BlurEffect *>(this)->adjustForItem();
+ return QGraphicsBlurEffect::boundingRect();
+}
+
+void BlurEffect::draw(QPainter *painter)
+{
+ adjustForItem();
+ QGraphicsBlurEffect::draw(painter);
+}