Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/transform/transform_input.c
| Show First 20 Lines • Show All 412 Lines • ▼ Show 20 Lines | |||||
| void setInputPostFct(MouseInput *mi, void (*post)(struct TransInfo *t, float values[3])) | void setInputPostFct(MouseInput *mi, void (*post)(struct TransInfo *t, float values[3])) | ||||
| { | { | ||||
| mi->post = post; | mi->post = post; | ||||
| } | } | ||||
| void applyMouseInput(TransInfo *t, MouseInput *mi, const int mval[2], float output[3]) | void applyMouseInput(TransInfo *t, MouseInput *mi, const int mval[2], float output[3]) | ||||
| { | { | ||||
| if (t->modifiers & MOD_EDIT_SNAP_SOURCE) { | |||||
| return; | |||||
| } | |||||
| double mval_db[2]; | double mval_db[2]; | ||||
| if (mi->use_virtual_mval) { | if (mi->use_virtual_mval) { | ||||
| /* update accumulator */ | /* update accumulator */ | ||||
| double mval_delta[2]; | double mval_delta[2]; | ||||
| mval_delta[0] = (mval[0] - mi->imval[0]) - mi->virtual_mval.prev[0]; | mval_delta[0] = (mval[0] - mi->imval[0]) - mi->virtual_mval.prev[0]; | ||||
| mval_delta[1] = (mval[1] - mi->imval[1]) - mi->virtual_mval.prev[1]; | mval_delta[1] = (mval[1] - mi->imval[1]) - mi->virtual_mval.prev[1]; | ||||
| Show All 21 Lines | if (mi->apply != NULL) { | ||||
| mi->apply(t, mi, mval_db, output); | mi->apply(t, mi, mval_db, output); | ||||
| } | } | ||||
| if (mi->post) { | if (mi->post) { | ||||
| mi->post(t, output); | mi->post(t, output); | ||||
| } | } | ||||
| } | } | ||||
| void transform_input_reset(MouseInput *mi, const int mval[2]) | |||||
| { | |||||
| copy_v2_v2_int(mi->imval, mval); | |||||
| if (ELEM(mi->apply, InputAngle, InputAngleSpring)) { | |||||
| struct InputAngle_Data *data = mi->data; | |||||
| data->mval_prev[0] = mi->imval[0]; | |||||
| data->mval_prev[1] = mi->imval[1]; | |||||
| data->angle = 0.0f; | |||||
| } | |||||
| } | |||||
| /** \} */ | /** \} */ | ||||