From f7ec9a5d3a5560e10b83b37309b6ca57556a2cb6 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 23 Mar 2019 12:29:03 +1100 Subject: Fix auto sensor size for camera gizmo --- source/blender/editors/space_view3d/view3d_gizmo_camera.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'source/blender/editors/space_view3d') diff --git a/source/blender/editors/space_view3d/view3d_gizmo_camera.c b/source/blender/editors/space_view3d/view3d_gizmo_camera.c index a3859a8468e..c5c8482d550 100644 --- a/source/blender/editors/space_view3d/view3d_gizmo_camera.c +++ b/source/blender/editors/space_view3d/view3d_gizmo_camera.c @@ -163,6 +163,8 @@ static void WIDGETGROUP_camera_refresh(const bContext *C, wmGizmoGroup *gzgroup) const float aspy = (float)scene->r.ysch * scene->r.yasp; const bool is_ortho = (ca->type == CAM_ORTHO); const int sensor_fit = BKE_camera_sensor_fit(ca->sensor_fit, aspx, aspy); + /* Important to use camera value, not calculated fit since 'AUTO' uses width always. */ + const float sensor_size = BKE_camera_sensor_size(ca->sensor_fit, ca->sensor_x, ca->sensor_y); wmGizmo *widget = is_ortho ? cagzgroup->ortho_scale : cagzgroup->focal_len; float scale_matrix; if (true) { @@ -226,7 +228,7 @@ static void WIDGETGROUP_camera_refresh(const bContext *C, wmGizmoGroup *gzgroup) ((range / ca->ortho_scale) * ca->drawsize) : (scale_matrix * range / /* Half sensor, intentionally use sensor from camera and not calculated above. */ - (0.5f * ((sensor_fit == CAMERA_SENSOR_FIT_HOR) ? ca->sensor_x : ca->sensor_y)))); + (0.5f * sensor_size))); WM_gizmo_target_property_def_rna_ptr(widget, gz_prop_type, &camera_ptr, prop, -1); } @@ -253,6 +255,7 @@ static void WIDGETGROUP_camera_message_subscribe( extern PropertyRNA rna_Camera_ortho_scale; extern PropertyRNA rna_Camera_sensor_fit; extern PropertyRNA rna_Camera_sensor_width; + extern PropertyRNA rna_Camera_sensor_height; extern PropertyRNA rna_Camera_shift_x; extern PropertyRNA rna_Camera_shift_y; extern PropertyRNA rna_Camera_type; @@ -263,6 +266,7 @@ static void WIDGETGROUP_camera_message_subscribe( &rna_Camera_ortho_scale, &rna_Camera_sensor_fit, &rna_Camera_sensor_width, + &rna_Camera_sensor_height, &rna_Camera_shift_x, &rna_Camera_shift_y, &rna_Camera_type, -- cgit v1.2.3