improved desktop UI
[mardrone] / mardrone / gauges / gaugehorizon.h
1 #ifndef GAUGEHORIZON_H
2 #define GAUGEHORIZON_H
3 #include "gauge.h"
4
5 class GaugeHorizon : public Gauge
6 {
7     Q_OBJECT
8     Q_PROPERTY(QColor horizonGroundColor READ getHorizonGroundColor WRITE setHorizonGroundColor)
9     Q_PROPERTY(QColor horizonSkyColor READ getHorizonSkyColor WRITE setHorizonSkyColor)
10     Q_PROPERTY(QColor horizonLineColor READ getHorizonLineColor WRITE setHorizonLineColor)
11     Q_PROPERTY(int   yPosition READ yPosition WRITE setYPosition)
12
13 public:
14     explicit GaugeHorizon(QGraphicsItem *parent = 0);
15     void paint(QPainter *painter,const QStyleOptionGraphicsItem *option,
16                                QWidget *widget);
17     void drawHorizon(QPainter *painter,float pitch,float roll);
18     void setHorizonSkyColor(QColor val_) { m_horizonSkyColor=val_;};
19     QColor getHorizonSkyColor() {return m_horizonSkyColor;};
20     void setHorizonLineColor(QColor val_) { m_horizonLineColor=val_;};
21     QColor getHorizonLineColor() {return m_horizonLineColor;};
22     void setHorizonGroundColor(QColor val_) { m_horizonGroundColor=val_;};
23     QColor getHorizonGroundColor() {return m_horizonGroundColor;};
24     void setYPosition(int y) { m_ypos=y;} int yPosition(){ return m_ypos;};
25 private:
26     QColor m_horizonLineColor;
27     QColor m_horizonSkyColor;
28     QColor m_horizonGroundColor;
29     int m_ypos;
30     QVector<QLine>  fixo;
31     QPolygon plane,planel,planer;
32     QPolygon zeroTriangle;
33     QPolygon angleTriangle;
34 signals:
35 };
36
37 #endif // GAUGEHORIZON_H