#ifndef GUIDEDISPLAYWIDGET_H #define GUIDEDISPLAYWIDGET_H #include #include #include #include #include class QPainter; class QPaintEvent; class GuideDisplayWidget : public QWidget { Q_OBJECT public: explicit GuideDisplayWidget(QWidget* parent = nullptr); void SetStatus(const QJsonObject& status); protected: void paintEvent(QPaintEvent* event) override; private: void DrawLedText(QPainter& painter, const QRectF& area, const QStringList& lines, const QColor& color, qreal relativeSize = 0.16) const; void DrawStopSign(QPainter& painter, const QRectF& area, const QString& text = QStringLiteral("STOP")) const; void DrawCaptureGuidance(QPainter& painter, const QRectF& screen) const; void DrawGuidance(QPainter& painter, const QRectF& screen, bool showCorrection) const; QString AircraftText() const; private: QJsonObject m_status; int m_stateCode = 12; }; #endif // GUIDEDISPLAYWIDGET_H