5#include <ossia-qt/device/qml_node_base.hpp>
6#include <ossia-qt/score/qml_interval.hpp>
19class qml_process :
public QQuickItem
23 qml_process(QQuickItem* parent =
nullptr);
24 ~qml_process()
override;
26 qml_interval* interval()
const;
29 virtual std::shared_ptr<ossia::time_process> process()
const = 0;
33 virtual void reset_impl();
35 QPointer<qml_interval> m_cur_parent{};
38class qml_breakpoint :
public QQuickItem
40 W_OBJECT(qml_breakpoint)
43 using QQuickItem::QQuickItem;
44 std::function<float(
double,
float,
float)> segment();
46 QEasingCurve::Type type()
const {
return m_type; }
49 void typeChanged(QEasingCurve::Type arg_1) E_SIGNAL(OSSIA_EXPORT, typeChanged, arg_1);
52 void setType(QEasingCurve::Type t)
63 QEasingCurve::Type m_type{QEasingCurve::Linear};
65 W_PROPERTY(QEasingCurve::Type, type READ type WRITE setType NOTIFY typeChanged)
68class qml_autom :
public qml_process
73 qml_autom(QQuickItem* parent =
nullptr);
74 ~qml_autom()
override;
75 void setup()
override;
77 QVariant target()
const;
82 std::shared_ptr<ossia::time_process> process()
const override;
85 void setTarget(QVariant target);
87 void setXMin(
double xMin);
89 void setXMax(
double xMax);
91 void setYMin(
double yMin);
93 void setYMax(
double yMax);
97 void targetChanged(QVariant target) E_SIGNAL(OSSIA_EXPORT, targetChanged, target);
98 void xMinChanged(
double xMin) E_SIGNAL(OSSIA_EXPORT, xMinChanged, xMin);
99 void xMaxChanged(
double xMax) E_SIGNAL(OSSIA_EXPORT, xMaxChanged, xMax);
100 void yMinChanged(
double yMin) E_SIGNAL(OSSIA_EXPORT, yMinChanged, yMin);
101 void yMaxChanged(
double yMax) E_SIGNAL(OSSIA_EXPORT, yMaxChanged, yMax);
104 void reset_impl()
override;
113 QMetaObject::Connection m_death;
115 W_PROPERTY(
double, yMax READ yMax WRITE setYMax NOTIFY yMaxChanged)
117 W_PROPERTY(
double, yMin READ yMin WRITE setYMin NOTIFY yMinChanged)
119 W_PROPERTY(
double, xMax READ xMax WRITE setXMax NOTIFY xMaxChanged)
121 W_PROPERTY(
double, xMin READ xMin WRITE setXMin NOTIFY xMinChanged)
123 W_PROPERTY(QVariant, target READ target WRITE setTarget NOTIFY targetChanged)