#pragma once #include #include #include #include "cereal/gen/cpp/log.capnp.h" static std::map DIRECTIONS = { {cereal::NavInstruction::Direction::NONE, "none"}, {cereal::NavInstruction::Direction::LEFT, "left"}, {cereal::NavInstruction::Direction::RIGHT, "right"}, {cereal::NavInstruction::Direction::STRAIGHT, "straight"}, {cereal::NavInstruction::Direction::SLIGHT_LEFT, "slight_left"}, {cereal::NavInstruction::Direction::SLIGHT_RIGHT, "slight_right"}, }; class MapInstructions : public QWidget { Q_OBJECT private: QLabel *distance; QLabel *primary; QLabel *secondary; QLabel *icon_01; QHBoxLayout *lane_layout; bool is_rhd = false; std::vector lane_labels; QHash pixmap_cache; public: MapInstructions(QWidget * parent=nullptr); void buildPixmapCache(); void updateInstructions(cereal::NavInstruction::Reader instruction); };