diff options
author | mano-wii <germano.costa@ig.com.br> | 2019-08-02 07:15:33 +0300 |
---|---|---|
committer | mano-wii <germano.costa@ig.com.br> | 2019-08-02 07:15:33 +0300 |
commit | 81dc76c19cff51c9c1d13ab47cbfc9a855fc3263 (patch) | |
tree | 97696483c18cce21d549e0d581270bf6d037f358 /source/blender/editors/transform/transform.h | |
parent | 14b2c41216e86a95572aa0c607fd8807da59baea (diff) |
Fix T63570: Proportional editing resets scaling along Y and Z axis on mouse wheel
`applyResize(...)` considers that `t->values` always represents a `ratio`.
But this is only `true` with the `MOUSEMOVE` event.
The solution proposed is to never change `t->values`.
The result of the final transformation is now written to `t->values_final`.
Reviewers: campbellbarton
Differential Revision: https://developer.blender.org/D5212
Diffstat (limited to 'source/blender/editors/transform/transform.h')
-rw-r--r-- | source/blender/editors/transform/transform.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h index 833792379ae..b023199fa1b 100644 --- a/source/blender/editors/transform/transform.h +++ b/source/blender/editors/transform/transform.h @@ -662,10 +662,16 @@ typedef struct TransInfo { short prop_mode; + /** Value taken as input, either through mouse coordinates or entered as a parameter. */ float values[4]; + /** Offset applied ontop of modal input. */ float values_modal_offset[4]; - float auto_values[4]; + + /** Final value of the transformation (displayed in the redo panel). + * If the operator is executed directly (not modal), this value is usually the + * value of the input parameter, except when a constrain is entered. */ + float values_final[4]; /* Axis members for modes that use an axis separate from the orientation (rotate & shear). */ @@ -764,7 +770,9 @@ enum { /** Don't use mirror even if the data-block option is set. */ T_NO_MIRROR = 1 << 19, - T_AUTOVALUES = 1 << 20, + /** To indicate that the value set in the `value` parameter is the final + * value of the transformation, modified only by the constrain. */ + T_INPUT_IS_VALUES_FINAL = 1 << 20, /** To specify if we save back settings at the end. */ T_MODAL = 1 << 21, |