35 lines
960 B
C++
35 lines
960 B
C++
#pragma once
|
|
|
|
#include <QtQuick/QQuickItem>
|
|
|
|
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;
|
|
}; |