diff --git a/source/blender/editors/space_info/info_stats.cc b/source/blender/editors/space_info/info_stats.cc index 7874cf163b3..c810149d53d 100644 --- a/source/blender/editors/space_info/info_stats.cc +++ b/source/blender/editors/space_info/info_stats.cc @@ -760,7 +760,7 @@ void ED_info_draw_stats( Object *ob = BKE_view_layer_active_object_get(view_layer); Object *obedit = OBEDIT_FROM_OBACT(ob); eObjectMode object_mode = ob ? (eObjectMode)ob->mode : OB_MODE_OBJECT; - const int font_id = BLF_set_default(); + const int font_id = BLF_default(); UI_FontThemeColor(font_id, TH_TEXT_HI); BLF_enable(font_id, BLF_SHADOW); diff --git a/source/blender/editors/space_view3d/view3d_draw.cc b/source/blender/editors/space_view3d/view3d_draw.cc index e90d64540c6..677869c98fd 100644 --- a/source/blender/editors/space_view3d/view3d_draw.cc +++ b/source/blender/editors/space_view3d/view3d_draw.cc @@ -96,7 +96,7 @@ using blender::float4; #define M_GOLDEN_RATIO_CONJUGATE 0.618033988749895f -#define VIEW3D_OVERLAY_LINEHEIGHT (0.9f * U.widget_unit) +#define VIEW3D_OVERLAY_LINEHEIGHT (UI_style_get()->widgetlabel.points * UI_SCALE_FAC * 1.6f) /* -------------------------------------------------------------------- */ /** \name General Functions @@ -1531,35 +1531,44 @@ void view3d_draw_region_info(const bContext *C, ARegion *region) } } - int xoffset = rect->xmin + (0.5f * U.widget_unit); - int yoffset = rect->ymax - (0.1f * U.widget_unit); + if ((v3d->flag2 & V3D_HIDE_OVERLAYS) == 0) { + int xoffset = rect->xmin + (0.5f * U.widget_unit); + int yoffset = rect->ymax - (0.1f * U.widget_unit); + BLF_default_size(UI_style_get()->widgetlabel.points); - if ((v3d->flag2 & V3D_HIDE_OVERLAYS) == 0 && (v3d->overlay.flag & V3D_OVERLAY_HIDE_TEXT) == 0) { - if ((U.uiflag & USER_SHOW_FPS) && ED_screen_animation_no_scrub(wm)) { - ED_scene_draw_fps(scene, xoffset, &yoffset); - } - else if (U.uiflag & USER_SHOW_VIEWPORTNAME) { - draw_viewport_name(region, v3d, xoffset, &yoffset); + if ((v3d->overlay.flag & V3D_OVERLAY_HIDE_TEXT) == 0) + { + if ((U.uiflag & USER_SHOW_FPS) && ED_screen_animation_no_scrub(wm)) { + ED_scene_draw_fps(scene, xoffset, &yoffset); + } + else if (U.uiflag & USER_SHOW_VIEWPORTNAME) { + draw_viewport_name(region, v3d, xoffset, &yoffset); + } + + if (U.uiflag & USER_DRAWVIEWINFO) { + BKE_view_layer_synced_ensure(scene, view_layer); + Object *ob = BKE_view_layer_active_object_get(view_layer); + draw_selected_name(v3d, scene, view_layer, ob, xoffset, &yoffset); + } + + if (v3d->gridflag & (V3D_SHOW_FLOOR | V3D_SHOW_X | V3D_SHOW_Y | V3D_SHOW_Z)) { + /* draw below the viewport name */ + draw_grid_unit_name(scene, region, v3d, xoffset, &yoffset); + } + + DRW_draw_region_engine_info(xoffset, &yoffset, VIEW3D_OVERLAY_LINEHEIGHT); } - if (U.uiflag & USER_DRAWVIEWINFO) { - BKE_view_layer_synced_ensure(scene, view_layer); - Object *ob = BKE_view_layer_active_object_get(view_layer); - draw_selected_name(v3d, scene, view_layer, ob, xoffset, &yoffset); + if (v3d->overlay.flag & V3D_OVERLAY_STATS) { + View3D *v3d_local = v3d->localvd ? v3d : nullptr; + ED_info_draw_stats( + bmain, scene, view_layer, v3d_local, xoffset, &yoffset, VIEW3D_OVERLAY_LINEHEIGHT); } - if (v3d->gridflag & (V3D_SHOW_FLOOR | V3D_SHOW_X | V3D_SHOW_Y | V3D_SHOW_Z)) { - /* draw below the viewport name */ - draw_grid_unit_name(scene, region, v3d, xoffset, &yoffset); - } - - DRW_draw_region_engine_info(xoffset, &yoffset, VIEW3D_OVERLAY_LINEHEIGHT); - } - - if ((v3d->flag2 & V3D_HIDE_OVERLAYS) == 0 && (v3d->overlay.flag & V3D_OVERLAY_STATS)) { - View3D *v3d_local = v3d->localvd ? v3d : nullptr; - ED_info_draw_stats( - bmain, scene, view_layer, v3d_local, xoffset, &yoffset, VIEW3D_OVERLAY_LINEHEIGHT); + /* Set the size back to the default hard-coded size. Otherwise anyone drawing after this, + * without setting explicit size, will draw with widgetlabel size. That is probably ideal, + * but size should be set at the calling site not just carried over from here. */ + BLF_default_size(UI_DEFAULT_TEXT_POINTS); } BLF_batch_draw_end();