#pragma once #include #include #include #include #include #include #include #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) {handler_ = obj;} signals: void stupidChanged(const QString &str); void handlerChanged(QObject* const obj); private: float scale_; QString stupid_; QObject* handler_; int prev_size=0; };