You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.7 KiB
59 lines
1.7 KiB
1 year ago
|
#pragma once
|
||
|
|
||
|
#include <QVBoxLayout>
|
||
|
#include <memory>
|
||
|
|
||
|
#include "selfdrive/ui/qt/onroad/buttons.h"
|
||
|
#include "selfdrive/ui/qt/widgets/cameraview.h"
|
||
|
|
||
|
class AnnotatedCameraWidget : public CameraWidget {
|
||
|
Q_OBJECT
|
||
|
|
||
|
public:
|
||
|
explicit AnnotatedCameraWidget(VisionStreamType type, QWidget* parent = 0);
|
||
|
void updateState(const UIState &s);
|
||
|
|
||
|
MapSettingsButton *map_settings_btn;
|
||
|
|
||
|
private:
|
||
|
void drawText(QPainter &p, int x, int y, const QString &text, int alpha = 255);
|
||
|
|
||
|
QVBoxLayout *main_layout;
|
||
|
ExperimentalButton *experimental_btn;
|
||
|
QPixmap dm_img;
|
||
|
float speed;
|
||
|
QString speedUnit;
|
||
|
float setSpeed;
|
||
|
float speedLimit;
|
||
|
bool is_cruise_set = false;
|
||
|
bool is_metric = false;
|
||
|
bool dmActive = false;
|
||
|
bool hideBottomIcons = false;
|
||
|
bool rightHandDM = false;
|
||
|
float dm_fade_state = 1.0;
|
||
|
bool has_us_speed_limit = false;
|
||
|
bool has_eu_speed_limit = false;
|
||
|
bool v_ego_cluster_seen = false;
|
||
|
int status = STATUS_DISENGAGED;
|
||
|
std::unique_ptr<PubMaster> pm;
|
||
|
|
||
|
int skip_frame_count = 0;
|
||
|
bool wide_cam_requested = false;
|
||
|
|
||
|
protected:
|
||
|
void paintGL() override;
|
||
|
void initializeGL() override;
|
||
|
void showEvent(QShowEvent *event) override;
|
||
|
void updateFrameMat() override;
|
||
|
void drawLaneLines(QPainter &painter, const UIState *s);
|
||
|
void drawLead(QPainter &painter, const cereal::RadarState::LeadData::Reader &lead_data, const QPointF &vd);
|
||
|
void drawHud(QPainter &p);
|
||
|
void drawDriverState(QPainter &painter, const UIState *s);
|
||
|
inline QColor redColor(int alpha = 255) { return QColor(201, 34, 49, alpha); }
|
||
|
inline QColor whiteColor(int alpha = 255) { return QColor(255, 255, 255, alpha); }
|
||
|
inline QColor blackColor(int alpha = 255) { return QColor(0, 0, 0, alpha); }
|
||
|
|
||
|
double prev_draw_t = 0;
|
||
|
FirstOrderFilter fps_filter;
|
||
|
};
|