    track_vertices_data track_vertices[2];
  } UIState;
  
  // API
  void ui_draw_vision_alert(UIState *s, int va_size, int va_color,
                            const char* va_text1, const char* va_text2);
  void ui_draw(UIState *s);
  void ui_draw_sidebar(UIState *s);
  void ui_draw_image(NVGcontext *vg, float x, float y, float w, float h, int image, float alpha);
  void ui_draw_rect(NVGcontext *vg, float x, float y, float w, float h, NVGcolor color, float r = 0, int width = 0);
 
</s> remove   int alert_size;
 </s> add  </s> remove   char alert_text1[1024];
  char alert_text2[1024];
  uint8_t alert_size;
 </s> add   std::string alert_text1;
  std::string alert_text2;
  cereal::ControlsState::AlertSize alert_size; </s> remove   bool settingsActive = s->active_app == cereal_UiLayoutState_App_settings;
 </s> add   bool settingsActive = s->active_app == cereal::UiLayoutState::App::SETTINGS; </s> remove   bool homeActive = s->active_app == cereal_UiLayoutState_App_home;
 </s> add   bool homeActive = s->active_app == cereal::UiLayoutState::App::HOME; </s> remove       s->scene.extrinsic_matrix.v[i] =
          capn_to_f32(capn_get32(extrinsicl, i));
 </s> add       scene.extrinsic_matrix.v[i] = extrinsicl[i];
void ui_draw_vision_alert(UIState *s, cereal::ControlsState::AlertSize va_size, int va_color,
    track_vertices_data track_vertices[2];
  } UIState;
  
  // API
void ui_draw_vision_alert(UIState *s, cereal::ControlsState::AlertSize va_size, int va_color,
                            const char* va_text1, const char* va_text2);
  void ui_draw(UIState *s);
  void ui_draw_sidebar(UIState *s);
  void ui_draw_image(NVGcontext *vg, float x, float y, float w, float h, int image, float alpha);
  void ui_draw_rect(NVGcontext *vg, float x, float y, float w, float h, NVGcolor color, float r = 0, int width = 0);
keep keep keep keep replace keep keep keep keep keep
 UI: move c-capnp to c++ (#1455)

* ui:move c-capnp to c++

* move Subsockets into vector

* rename reader to msg

include cereal/gen/cpp/log.capnp

* fix some errors

restore some changes

restore previous

* cleanup codes

cleanup codes

* remove unused variable alert_size

* handle capnproto's enum in a robust way

add break to default

* switch -> std:map

* use static std::map instead of switch

do cleanup

* fix wrong variable name

* use FlatArrayMessageReader instead of custom MessageReader

remove messagehelp.h

Revert "use FlatArrayMessageReader instead of custom MessageReader"

This reverts commit 57d8b6b1e2b4bad908246f35eb068535b1627167.

use FlatArrayMessageReader instead of custom MessageReader

add header file

remove capnp_c lib,add kj lib

include serialize.h

fix

remove duplicate includes 
selfdrive/ui/ui.hpp