2018-09-06 08:22:00 +00:00
|
|
|
#ifndef IMAGEITEM_H
|
|
|
|
#define IMAGEITEM_H
|
|
|
|
|
2018-11-07 08:29:24 +00:00
|
|
|
#include <QPointer>
|
2018-09-06 08:22:00 +00:00
|
|
|
#include <QImage>
|
|
|
|
#include <QObject>
|
|
|
|
#include <QPainter>
|
|
|
|
#include <QQuickItem>
|
|
|
|
#include <QQuickPaintedItem>
|
|
|
|
|
2018-11-04 11:14:02 +00:00
|
|
|
#include "paintable.h"
|
|
|
|
|
2018-09-06 08:22:00 +00:00
|
|
|
class ImageItem : public QQuickPaintedItem {
|
|
|
|
Q_OBJECT
|
2018-11-04 11:14:02 +00:00
|
|
|
Q_PROPERTY(Paintable* source READ paintable WRITE setPaintable NOTIFY
|
|
|
|
paintableChanged)
|
2018-09-06 08:22:00 +00:00
|
|
|
Q_PROPERTY(QString hint READ hint WRITE setHint NOTIFY hintChanged)
|
|
|
|
Q_PROPERTY(QString defaultColor READ defaultColor WRITE setDefaultColor NOTIFY
|
|
|
|
defaultColorChanged)
|
2018-09-10 01:51:02 +00:00
|
|
|
Q_PROPERTY(bool round READ round WRITE setRound NOTIFY roundChanged)
|
2018-09-06 08:22:00 +00:00
|
|
|
|
|
|
|
public:
|
2018-11-04 11:14:02 +00:00
|
|
|
ImageItem(QQuickItem* parent = nullptr);
|
2018-09-06 08:22:00 +00:00
|
|
|
|
2018-11-04 11:14:02 +00:00
|
|
|
void paint(QPainter* painter);
|
2018-09-06 08:22:00 +00:00
|
|
|
|
2018-11-04 11:14:02 +00:00
|
|
|
Paintable* paintable() { return m_paintable; }
|
|
|
|
void setPaintable(Paintable* paintable);
|
2018-09-06 08:22:00 +00:00
|
|
|
|
|
|
|
QString hint() { return m_hint; }
|
|
|
|
void setHint(QString hint);
|
|
|
|
|
|
|
|
QString defaultColor() { return m_color; }
|
|
|
|
void setDefaultColor(QString color);
|
|
|
|
|
2018-09-10 01:51:02 +00:00
|
|
|
bool round() { return m_round; }
|
|
|
|
void setRound(bool value);
|
|
|
|
|
2018-09-06 08:22:00 +00:00
|
|
|
signals:
|
2018-11-04 11:14:02 +00:00
|
|
|
void paintableChanged();
|
2018-09-06 08:22:00 +00:00
|
|
|
void hintChanged();
|
|
|
|
void defaultColorChanged();
|
2018-09-10 01:51:02 +00:00
|
|
|
void roundChanged();
|
2018-09-06 08:22:00 +00:00
|
|
|
|
|
|
|
private:
|
2018-11-07 08:29:24 +00:00
|
|
|
QPointer<Paintable> m_paintable;
|
2018-09-09 10:35:37 +00:00
|
|
|
QString m_hint = "H";
|
2018-09-16 08:09:36 +00:00
|
|
|
QString m_color;
|
2018-09-10 01:51:02 +00:00
|
|
|
bool m_round = true;
|
2018-09-06 08:22:00 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // IMAGEITEM_H
|