/* * JD 12/9/2022 */ #ifndef GAUGE_H #define GAUGE_H #include #include #include #include #include #include #include #define DEFUALT_IMAGE_ANGLE 90 class Gauge : public QWidget { Q_OBJECT public: explicit Gauge(QWidget *parent = nullptr); void paintEvent(QPaintEvent *); signals: public slots: void setNeedleImage(QPixmap p) {m_needle = p; update();} void setNeedleImage(QString path); //void obtainLength(); void setOrigin(int x,int y); void setOrigin(QPoint o); void setHorizontalOffset(int o) {m_needle_horizontal_offset = o; update();} void setStartAngle(qreal a); void setEndAngle(qreal a); void setGaugePercentage(qreal p) {m_gauge_percentage = p; update();} protected: private: //double m_needle_length; double m_gauge_percentage; int m_needle_horizontal_offset; //Use if needle isn't centered within the image. QPoint m_needle_origin; QPoint m_draw_point; QPixmap m_needle; qreal m_start_angle; qreal m_end_angle; }; #endif // GAUGE_H