XX CMake Package
Loading...
Searching...
No Matches
XXRainbowRectangle.h
Go to the documentation of this file.
1#ifndef RainbowRectangleH
2#define RainbowRectangleH
3
4#include <QQuickPaintedItem>
5
6#include <QLinearGradient>
7
8#include <XXRainbow.h>
9
10namespace XX
11{
14
15 class RainbowRectangle : public QQuickPaintedItem
16 {
17 Q_OBJECT
18 QML_NAMED_ELEMENT(RainbowRectangle)
19
20 Q_PROPERTY(int shade READ getShade WRITE setShade)
21 Q_PROPERTY(double stretch READ getStretch WRITE setStretch)
22 Q_PROPERTY(double rotation READ getRotation WRITE setRotation)
23 Q_PROPERTY(uint speed READ getSpeed WRITE setSpeed)
24
25 public:
26 RainbowRectangle(QQuickItem* parent = nullptr);
27
28 private:
29 int getShade() const;
30 void setShade(const int& value);
31
32 double getStretch() const;
33 void setStretch(const double& value);
34
35 double getRotation() const;
36 void setRotation(const double& value);
37
38 uint getSpeed() const;
39 void setSpeed(const uint& value);
40
41 void updateGradientDirection();
42 void updateGradientColor();
43
44 void paint(QPainter* painter) override;
45
46 private:
47 int shade;
48 double stretch;
49 double rotation;
50 uint speed;
51 XX::Rainbow rainbow;
52 QLinearGradient gradient;
53 };
54} // namespace XX
55
56#endif // NOT RainbowRectangleH
generate a rainbow of colors
Definition XXRainbow.h:15
uint speed
Definition XXRainbowRectangle.h:23
double stretch
Definition XXRainbowRectangle.h:21
double rotation
Definition XXRainbowRectangle.h:22
int shade
Definition XXRainbowRectangle.h:20
RainbowRectangle(QQuickItem *parent=nullptr)
Definition XXPopulatedAbstract.h:11