diff options
| author | Doris Verria <doris.verria@qt.io> | 2024-05-28 15:16:20 +0200 |
|---|---|---|
| committer | Doris Verria <doris.verria@qt.io> | 2024-06-02 23:26:54 +0200 |
| commit | 6093d75cbbc3d1f58f414cf858d7f568a26a8870 (patch) | |
| tree | 113332386a36f5b00f2b96c16190bcf80ca23514 /src/quickcontrols/fluentwinui3/impl/qquickfluentwinui3focusstroke.cpp | |
| parent | 7c2c2fd16c6e55545c79cd52d4e974f13a7d8e7d (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.cpp | 52 |
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" |
