QmlMaterial 0.1.0
Loading...
Searching...
No Matches
color_picker.hpp
1#pragma once
2
3#include <QtQml/QQmlEngine>
4#include <QtGui/QImage>
5#include <QtCore/QRunnable>
6
7namespace qml_material
8{
9
10class ColorPickerRunnable : public QObject, public QRunnable {
11 Q_OBJECT
12public:
13 void run() override;
14
15 Q_SIGNAL void finished(QColor);
16
17 QImage image;
18};
19
20class ColorPicker : public QObject {
21 Q_OBJECT
22 QML_ELEMENT
23
24 Q_PROPERTY(QImage image READ image WRITE setImage NOTIFY imageChanged FINAL)
25 Q_PROPERTY(QColor color READ color NOTIFY colorChanged FINAL)
26
27public:
28 ColorPicker(QObject* = nullptr);
29 ~ColorPicker();
30
31 auto image() const -> QImage;
32 void setImage(QImage);
33
34 auto color() const noexcept -> QColor;
35 void setColor(QColor);
36
37 Q_SIGNAL void pick();
38 Q_SIGNAL void imageChanged();
39 Q_SIGNAL void colorChanged();
40
41private:
42 QImage m_image;
43 QColor m_color;
44};
45
46} // namespace qml_material