3#include <QtGui/QPainterPath>
4#include <QtGui/QTransform>
7#include "qml_material/export.hpp"
12struct CornerRounding {
17struct QML_MATERIAL_API Cubic {
18 QPointF anchor0, control0, control1, anchor1;
19 QPointF point(qreal t)
const;
20 std::pair<Cubic, Cubic> split(qreal t)
const;
21 Cubic reversed()
const;
22 Cubic transformed(
const QTransform& transform)
const;
23 static Cubic line(QPointF from, QPointF to);
24 static Cubic arc(QPointF center, QPointF from, QPointF to);
34 CornerRounding rounding;
37 std::vector<Cubic> cubics;
43 explicit RoundedPolygon(
const std::vector<Vertex>& vertices, QPointF center = {});
44 const std::vector<Feature>& features()
const {
return m_features; }
45 std::vector<Cubic> cubics()
const;
46 QPointF center()
const {
return m_center; }
47 QPainterPath path()
const;
52 std::vector<Feature> m_features;
56class QML_MATERIAL_API Morph {
59 QPainterPath path(qreal progress)
const;
60 std::vector<Cubic> cubics(qreal progress)
const;
61 qsizetype curveCount()
const {
return qsizetype(m_match.size()); }
64 std::vector<std::pair<Cubic, Cubic>> m_match;
Definition rounded_polygon.hpp:30