[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,
- },
+ ¢er_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