[Bf-blender-cvs] [697e86a7619] master: View3D: move view3d_draw.c to c++

Jacques Lucke noreply at git.blender.org
Tue Sep 27 17:38:34 CEST 2022


Commit: 697e86a76199c66267370f0222932b8fcb30dc3d
Author: Jacques Lucke
Date:   Tue Sep 27 17:38:23 2022 +0200
Branches: master
https://developer.blender.org/rB697e86a76199c66267370f0222932b8fcb30dc3d

View3D: move view3d_draw.c to c++

===================================================================

M	source/blender/editors/space_view3d/CMakeLists.txt
R093	source/blender/editors/space_view3d/view3d_draw.c	source/blender/editors/space_view3d/view3d_draw.cc

===================================================================

diff --git a/source/blender/editors/space_view3d/CMakeLists.txt b/source/blender/editors/space_view3d/CMakeLists.txt
index d465460682d..59519fcc0d3 100644
--- a/source/blender/editors/space_view3d/CMakeLists.txt
+++ b/source/blender/editors/space_view3d/CMakeLists.txt
@@ -31,7 +31,7 @@ set(SRC
   view3d_buttons.c
   view3d_camera_control.c
   view3d_cursor_snap.c
-  view3d_draw.c
+  view3d_draw.cc
   view3d_edit.c
   view3d_gizmo_armature.c
   view3d_gizmo_camera.c
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.cc
similarity index 93%
rename from source/blender/editors/space_view3d/view3d_draw.c
rename to source/blender/editors/space_view3d/view3d_draw.cc
index d7ee224adff..792421ef4b9 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.cc
@@ -10,6 +10,7 @@
 #include "BLI_jitter_2d.h"
 #include "BLI_listbase.h"
 #include "BLI_math.h"
+#include "BLI_math_vector.hh"
 #include "BLI_rect.h"
 #include "BLI_string.h"
 #include "BLI_string_utils.h"
@@ -84,6 +85,8 @@
 
 #include "view3d_intern.h" /* own include */
 
+using blender::float4;
+
 #define M_GOLDEN_RATIO_CONJUGATE 0.618033988749895f
 
 #define VIEW3D_OVERLAY_LINEHEIGHT (0.9f * U.widget_unit)
@@ -101,7 +104,7 @@ void ED_view3d_update_viewmat(Depsgraph *depsgraph,
                               const rcti *rect,
                               bool offscreen)
 {
-  RegionView3D *rv3d = region->regiondata;
+  RegionView3D *rv3d = static_cast<RegionView3D *>(region->regiondata);
 
   /* setup window matrices */
   if (winmat) {
@@ -122,7 +125,7 @@ void ED_view3d_update_viewmat(Depsgraph *depsgraph,
       rect_scale[1] = (float)BLI_rcti_size_y(rect) / (float)region->winy;
     }
     /* NOTE: calls BKE_object_where_is_calc for camera... */
-    view3d_viewmatrix_set(depsgraph, scene, v3d, rv3d, rect ? rect_scale : NULL);
+    view3d_viewmatrix_set(depsgraph, scene, v3d, rv3d, rect ? rect_scale : nullptr);
   }
   /* update utility matrices */
   mul_m4_m4m4(rv3d->persmat, rv3d->winmat, rv3d->viewmat);
@@ -182,7 +185,7 @@ static void view3d_main_region_setup_view(Depsgraph *depsgraph,
                                           const float winmat[4][4],
                                           const rcti *rect)
 {
-  RegionView3D *rv3d = region->regiondata;
+  RegionView3D *rv3d = static_cast<RegionView3D *>(region->regiondata);
 
   ED_view3d_update_viewmat(depsgraph, scene, v3d, region, viewmat, winmat, rect, false);
 
@@ -198,8 +201,8 @@ static void view3d_main_region_setup_offscreen(Depsgraph *depsgraph,
                                                const float viewmat[4][4],
                                                const float winmat[4][4])
 {
-  RegionView3D *rv3d = region->regiondata;
-  ED_view3d_update_viewmat(depsgraph, scene, v3d, region, viewmat, winmat, NULL, true);
+  RegionView3D *rv3d = static_cast<RegionView3D *>(region->regiondata);
+  ED_view3d_update_viewmat(depsgraph, scene, v3d, region, viewmat, winmat, nullptr, true);
 
   /* set for opengl */
   GPU_matrix_projection_set(rv3d->winmat);
@@ -215,7 +218,7 @@ static bool view3d_stereo3d_active(wmWindow *win,
     return false;
   }
 
-  if ((v3d->camera == NULL) || (v3d->camera->type != OB_CAMERA) || rv3d->persp != RV3D_CAMOB) {
+  if ((v3d->camera == nullptr) || (v3d->camera->type != OB_CAMERA) || rv3d->persp != RV3D_CAMOB) {
     return false;
   }
 
@@ -224,8 +227,8 @@ static bool view3d_stereo3d_active(wmWindow *win,
       return false;
       break;
     case STEREO_3D_ID:
-      /* win will be NULL when calling this from the selection or draw loop. */
-      if ((win == NULL) || (WM_stereo3d_enabled(win, true) == false)) {
+      /* win will be nullptr when calling this from the selection or draw loop. */
+      if ((win == nullptr) || (WM_stereo3d_enabled(win, true) == false)) {
         return false;
       }
       if (((scene->r.views_format & SCE_VIEWS_FORMAT_MULTIVIEW) != 0) &&
@@ -280,7 +283,7 @@ static void view3d_stereo3d_setup(
     data_eval->shiftx = BKE_camera_multiview_shift_x(&scene->r, v3d->camera, viewname);
 
     BKE_camera_multiview_view_matrix(&scene->r, v3d->camera, is_left, viewmat);
-    view3d_main_region_setup_view(depsgraph, scene, v3d, region, viewmat, NULL, rect);
+    view3d_main_region_setup_view(depsgraph, scene, v3d, region, viewmat, nullptr, rect);
 
     data_eval->shiftx = shiftx;
     BLI_thread_unlock(LOCK_VIEW3D);
@@ -294,7 +297,7 @@ static void view3d_stereo3d_setup(
     v3d->camera = camera;
 
     BKE_camera_multiview_view_matrix(&scene->r, camera, false, viewmat);
-    view3d_main_region_setup_view(depsgraph, scene, v3d, region, viewmat, NULL, rect);
+    view3d_main_region_setup_view(depsgraph, scene, v3d, region, viewmat, nullptr, rect);
 
     v3d->camera = view_ob;
     BLI_thread_unlock(LOCK_VIEW3D);
@@ -309,7 +312,7 @@ static void view3d_xr_mirror_setup(const wmWindowManager *wm,
                                    ARegion *region,
                                    const rcti *rect)
 {
-  RegionView3D *rv3d = region->regiondata;
+  RegionView3D *rv3d = static_cast<RegionView3D *>(region->regiondata);
   float viewmat[4][4];
   const float lens_old = v3d->lens;
 
@@ -318,7 +321,7 @@ static void view3d_xr_mirror_setup(const wmWindowManager *wm,
     copy_m4_m4(viewmat, rv3d->viewmat);
     v3d->lens = lens_old;
   }
-  view3d_main_region_setup_view(depsgraph, scene, v3d, region, viewmat, NULL, rect);
+  view3d_main_region_setup_view(depsgraph, scene, v3d, region, viewmat, nullptr, rect);
 
   /* Set draw flags. */
   SET_FLAG_FROM_TEST(v3d->flag2,
@@ -346,7 +349,7 @@ void ED_view3d_draw_setup_view(const wmWindowManager *wm,
                                const float winmat[4][4],
                                const rcti *rect)
 {
-  RegionView3D *rv3d = region->regiondata;
+  RegionView3D *rv3d = static_cast<RegionView3D *>(region->regiondata);
 
 #ifdef WITH_XR_OPENXR
   /* Setup the view matrix. */
@@ -531,14 +534,14 @@ static void drawviewborder(Scene *scene, Depsgraph *depsgraph, ARegion *region,
   float x1i, x2i, y1i, y2i;
 
   rctf viewborder;
-  Camera *ca = NULL;
-  RegionView3D *rv3d = region->regiondata;
+  Camera *ca = nullptr;
+  RegionView3D *rv3d = static_cast<RegionView3D *>(region->regiondata);
 
-  if (v3d->camera == NULL) {
+  if (v3d->camera == nullptr) {
     return;
   }
   if (v3d->camera->type == OB_CAMERA) {
-    ca = v3d->camera->data;
+    ca = static_cast<Camera *>(v3d->camera->data);
   }
 
   ED_view3d_calc_camera_border(scene, depsgraph, region, v3d, rv3d, &viewborder, false);
@@ -711,24 +714,23 @@ static void drawviewborder(Scene *scene, Depsgraph *depsgraph, ARegion *region,
     }
 
     if (ca->flag & CAM_SHOW_SAFE_MARGINS) {
-      UI_draw_safe_areas(shdr_pos,
-                         &(const rctf){
-                             .xmin = x1,
-                             .xmax = x2,
-                             .ymin = y1,
-                             .ymax = y2,
-                         },
-                         scene->safe_areas.title,
-                         scene->safe_areas.action);
+      rctf margins_rect{};
+      margins_rect.xmin = x1;
+      margins_rect.xmax = x2;
+      margins_rect.ymin = y1;
+      margins_rect.ymax = y2;
+
+      UI_draw_safe_areas(
+          shdr_pos, &margins_rect, scene->safe_areas.title, scene->safe_areas.action);
 
       if (ca->flag & CAM_SHOW_SAFE_CENTER) {
+        rctf center_rect{};
+        center_rect.xmin = x1;
+        center_rect.xmax = x2;
+        center_rect.ymin = y1;
+        center_rect.ymax = y2;
         UI_draw_safe_areas(shdr_pos,
-                           &(const rctf){
-                               .xmin = x1,
-                               .xmax = x2,
-                               .ymin = y1,
-                               .ymax = y2,
-                           },
+                           &center_rect,
                            scene->safe_areas.title_center,
                            scene->safe_areas.action_center);
       }
@@ -904,7 +906,7 @@ float ED_view3d_grid_view_scale(Scene *scene,
                                 const char **r_grid_unit)
 {
   float grid_scale;
-  RegionView3D *rv3d = region->regiondata;
+  RegionView3D *rv3d = static_cast<RegionView3D *>(region->regiondata);
   if (!rv3d->is_persp && RV3D_VIEW_IS_AXIS(rv3d->view)) {
     /* Decrease the distance between grid snap points depending on zoom. */
     float dist = 12.0f / (region->sizex * rv3d->winmat[0][0]);
@@ -1002,7 +1004,7 @@ static void draw_view_axis(RegionView3D *rv3d, const rcti *rect)
   for (int axis_i = 0; axis_i < 3; axis_i++) {
     int i = axis_order[axis_i];
 
-    const char axis_text[2] = {'x' + i, '\0'};
+    const char axis_text[2] = {char('x' + i), '\0'};
     BLF_color4ubv(BLF_default(), axis_col[i]);
     BLF_draw_default(axis_pos[i][0] + 2, axis_pos[i][1] + 2, 0.0f, axis_text, 1);
   }
@@ -1121,7 +1123,7 @@ static void view3d_draw_border(const bContext *C, ARegion *region)
 {
   Scene *scene = CTX_data_scene(C);
   Depsgraph *depsgraph = CTX_data_expect_evaluated_depsgraph(C);
-  RegionView3D *rv3d = region->regiondata;
+  RegionView3D *rv3d = static_cast<RegionView3D *>(region->regiondata);
   View3D *v3d = CTX_wm_view3d(C);
 
   if (rv3d->persp == RV3D_CAMOB) {
@@ -1151,7 +1153,7 @@ static void view3d_draw_grease_pencil(const bContext *UNUSED(C))
  */
 static const char *view3d_get_name(View3D *v3d, RegionView3D *rv3d)
 {
-  const char *name = NULL;
+  const char *name = nullptr;
 
   switch (rv3d->view) {
     case RV3D_VIEW_FRONT:
@@ -1207,7 +1209,7 @@ static const char *view3d_get_name(View3D *v3d, RegionView3D *rv3d)
       if (rv3d->persp == RV3D_CAMOB) {
         if ((v3d->camera) && (v3d->camera->type == OB_CAMERA)) {
           Camera *cam;
-          cam = v3d->camera->data;
+          cam = static_cast<Camera *>(v3d->camera->data);
           if (cam->type == CAM_PERSP) {
             name = IFACE_("Camera Perspective");
           }
@@ -1234,9 +1236,9 @@ static const char *view3d_get_name(View3D *v3d, RegionView3D *rv3d)
 
 static void draw_viewport_name(ARegion *region, View3D *v3d, int xoffset, in

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list