From 40dfc4874bf0f392e14d250c847faaa52d178397 Mon Sep 17 00:00:00 2001 From: Dean Lee Date: Fri, 1 May 2020 03:11:35 +0800 Subject: [PATCH] better ui_draw() (#1432) * better ui_draw() * fix missed border reduce code remove white line old-commit-hash: 3fe3afeedeab176f7423a73c0f573396eef41d45 --- selfdrive/ui/paint.cc | 39 ++++++++++----------------------------- selfdrive/ui/sidebar.cc | 3 +++ 2 files changed, 13 insertions(+), 29 deletions(-) diff --git a/selfdrive/ui/paint.cc b/selfdrive/ui/paint.cc index 6b998ff221..b8ff40eae7 100644 --- a/selfdrive/ui/paint.cc +++ b/selfdrive/ui/paint.cc @@ -881,15 +881,11 @@ static void ui_draw_vision(UIState *s) { glEnable(GL_SCISSOR_TEST); glViewport(ui_viz_rx+ui_viz_ro, s->fb_h-(box_y+box_h), viz_w, box_h); glScissor(ui_viz_rx, s->fb_h-(box_y+box_h), ui_viz_rw, box_h); - glEnable(GL_BLEND); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); draw_frame(s); - glViewport(0, 0, s->fb_w, s->fb_h); glDisable(GL_SCISSOR_TEST); - glClear(GL_STENCIL_BUFFER_BIT); + glViewport(0, 0, s->fb_w, s->fb_h); - nvgBeginFrame(s->vg, s->fb_w, s->fb_h, 1.0f); // Draw augmented elements if (!scene->frontview && !scene->fullview) { ui_draw_world(s); @@ -909,9 +905,6 @@ static void ui_draw_vision(UIState *s) { } else { if (!scene->frontview){ui_draw_vision_footer(s);} } - - nvgEndFrame(s->vg); - glDisable(GL_BLEND); } static void ui_draw_background(UIState *s) { @@ -925,28 +918,16 @@ static void ui_draw_background(UIState *s) { void ui_draw(UIState *s) { ui_draw_background(s); - if (s->started && s->active_app == cereal_UiLayoutState_App_none && s->status != STATUS_STOPPED) { - ui_draw_sidebar(s); - - if (s->vision_seen){ + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glViewport(0, 0, s->fb_w, s->fb_h); + nvgBeginFrame(s->vg, s->fb_w, s->fb_h, 1.0f); + ui_draw_sidebar(s); + if (s->started && s->active_app == cereal_UiLayoutState_App_none && s->status != STATUS_STOPPED && s->vision_seen) { ui_draw_vision(s); - } - } else { - if (!s->scene.uilayout_sidebarcollapsed) { - ui_draw_sidebar(s); - } - } - - { - glEnable(GL_BLEND); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - glClear(GL_STENCIL_BUFFER_BIT); - - nvgBeginFrame(s->vg, s->fb_w, s->fb_h, 1.0f); - - nvgEndFrame(s->vg); - glDisable(GL_BLEND); - } + } + nvgEndFrame(s->vg); + glDisable(GL_BLEND); } void ui_draw_image(NVGcontext *vg, float x, float y, float w, float h, int image, float alpha){ diff --git a/selfdrive/ui/sidebar.cc b/selfdrive/ui/sidebar.cc index 47586104a7..9ca9119048 100644 --- a/selfdrive/ui/sidebar.cc +++ b/selfdrive/ui/sidebar.cc @@ -180,6 +180,9 @@ static void ui_draw_sidebar_connectivity(UIState *s) { void ui_draw_sidebar(UIState *s) { ui_draw_sidebar_background(s); + if (s->scene.uilayout_sidebarcollapsed){ + return; + } ui_draw_sidebar_settings_button(s); ui_draw_sidebar_home_button(s); ui_draw_sidebar_network_strength(s);