Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-03-23 04:29:03 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-03-23 04:29:03 +0300
commitf7ec9a5d3a5560e10b83b37309b6ca57556a2cb6 (patch)
tree9490c7981bf6b8296c10f2fb0f50e6d79bf687c2 /source/blender
parent23a76491ebb94d1bb2139dd4a82fa4d5587ae548 (diff)
Fix auto sensor size for camera gizmo
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/editors/space_view3d/view3d_gizmo_camera.c6
1 files changed, 5 insertions, 1 deletions
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,