aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickcontrols/fluentwinui3/impl/qquickfluentwinui3focusstroke.cpp
diff options
context:
space:
mode:
authorDoris Verria <doris.verria@qt.io>2024-05-28 15:16:20 +0200
committerDoris Verria <doris.verria@qt.io>2024-06-02 23:26:54 +0200
commit6093d75cbbc3d1f58f414cf858d7f568a26a8870 (patch)
tree113332386a36f5b00f2b96c16190bcf80ca23514 /src/quickcontrols/fluentwinui3/impl/qquickfluentwinui3focusstroke.cpp
parent7c2c2fd16c6e55545c79cd52d4e974f13a7d8e7d (diff)
Rename Fluent style to FluentWinUI3
The style is based on the WinUI3 design system, which follows the Fluent design. Task-number: QTBUG-125279 Change-Id: Ie92c35a5c1d3eafdbb377d1c49df4b8cc84e1e98 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Diffstat (limited to 'src/quickcontrols/fluentwinui3/impl/qquickfluentwinui3focusstroke.cpp')
-rw-r--r--src/quickcontrols/fluentwinui3/impl/qquickfluentwinui3focusstroke.cpp52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/quickcontrols/fluentwinui3/impl/qquickfluentwinui3focusstroke.cpp b/src/quickcontrols/fluentwinui3/impl/qquickfluentwinui3focusstroke.cpp
new file mode 100644
index 0000000000..508d614f1c
--- /dev/null
+++ b/src/quickcontrols/fluentwinui3/impl/qquickfluentwinui3focusstroke.cpp
@@ -0,0 +1,52 @@
+
+// Copyright (C) 2024 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+#include "qquickfluentwinui3focusstroke_p.h"
+#include <QtGui/qpainter.h>
+#include <QtGui/qpainterpath.h>
+#include <QtQuick/private/qquickitem_p.h>
+QT_BEGIN_NAMESPACE
+QQuickFluentWinUI3FocusStroke::QQuickFluentWinUI3FocusStroke(QQuickItem *parent)
+ : QQuickPaintedItem(parent)
+{
+}
+void QQuickFluentWinUI3FocusStroke::paint(QPainter *painter)
+{
+ painter->setRenderHint(QPainter::Antialiasing);
+ QPainterPath path;
+ QRectF rect = boundingRect();
+ path.moveTo(rect.left(), rect.top() + m_radius);
+ path.lineTo(rect.left(), rect.bottom() - m_radius);
+ path.arcTo(QRectF(rect.left(), rect.bottom() - 2 * m_radius, 2 * m_radius, 2 * m_radius), 180, 90);
+ path.lineTo(rect.right() - m_radius, rect.bottom());
+ path.arcTo(QRectF(rect.right() - 2 * m_radius, rect.bottom() - 2 * m_radius, 2 * m_radius, 2 * m_radius), 270, 90);
+ path.lineTo(rect.right(), rect.top() + m_radius);
+ path.lineTo(rect.right(), rect.top() + m_radius);
+ path.lineTo(rect.right(), rect.top());
+ path.lineTo(rect.left(), rect.top());
+ painter->fillPath(path, m_color);
+}
+QColor QQuickFluentWinUI3FocusStroke::color() const
+{
+ return m_color;
+}
+void QQuickFluentWinUI3FocusStroke::setColor(const QColor &color)
+{
+ if (color == m_color)
+ return;
+ m_color = color;
+ update();
+}
+int QQuickFluentWinUI3FocusStroke::radius() const
+{
+ return m_radius;
+}
+void QQuickFluentWinUI3FocusStroke::setRadius(int radius)
+{
+ if (m_radius == radius)
+ return;
+ m_radius = radius;
+ update();
+}
+QT_END_NAMESPACE
+#include "moc_qquickfluentwinui3focusstroke_p.cpp"