#pragma once #include class LineItem : public QQuickItem { Q_OBJECT Q_PROPERTY(float scale READ scale WRITE setScale NOTIFY scaleChanged) Q_PROPERTY(QString stupid READ stupid WRITE setStupid NOTIFY stupidChanged) Q_PROPERTY(QObject* handler READ handler WRITE setHandler NOTIFY handlerChanged) QML_ELEMENT public: LineItem(QQuickItem* parent = nullptr); ~LineItem(); QSGNode* updatePaintNode(QSGNode*, UpdatePaintNodeData*) override; QString stupid() const { return stupid_; } QObject* handler() const { return handler_; } void setStupid(const QString& str) { stupid_ = str; } void setScale(const float scale) { scale_ = scale; } void setHandler(QObject* const obj); signals: void stupidChanged(const QString& str); void handlerChanged(QObject* const obj); private: float scale_; QString stupid_; QObject* handler_; int prev_size = 0; };