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:
authorGermano Cavalcante <germano.costa@ig.com.br>2020-02-27 22:42:34 +0300
committerGermano Cavalcante <germano.costa@ig.com.br>2020-02-27 22:42:43 +0300
commit91abb70006866e651233ff44f0f275856a6bf65d (patch)
tree18b08c7bb03f334a97f53df639ea2dcc8f06925d
parentc20caec7f0b39b7d15bd600880ea9534c31f6732 (diff)
Transform: Remove 'mouse_coordinate_override' property
This property depends on the view that can change when redoing.
-rw-r--r--source/blender/editors/include/ED_transform.h1
-rw-r--r--source/blender/editors/transform/transform.c4
-rw-r--r--source/blender/editors/transform/transform_convert.c15
-rw-r--r--source/blender/editors/transform/transform_convert.h1
-rw-r--r--source/blender/editors/transform/transform_convert_action.c11
-rw-r--r--source/blender/editors/transform/transform_convert_graph.c11
-rw-r--r--source/blender/editors/transform/transform_convert_nla.c11
-rw-r--r--source/blender/editors/transform/transform_convert_sequencer.c22
-rw-r--r--source/blender/editors/transform/transform_generics.c26
-rw-r--r--source/blender/editors/transform/transform_ops.c10
10 files changed, 47 insertions, 65 deletions
diff --git a/source/blender/editors/include/ED_transform.h b/source/blender/editors/include/ED_transform.h
index c66967a9365..d53ad7c4229 100644
--- a/source/blender/editors/include/ED_transform.h
+++ b/source/blender/editors/include/ED_transform.h
@@ -153,7 +153,6 @@ int BIF_countTransformOrientation(const struct bContext *C);
#define P_GPENCIL_EDIT (1 << 13)
#define P_CURSOR_EDIT (1 << 14)
#define P_CLNOR_INVALIDATE (1 << 15)
-#define P_MOUSE (1 << 16)
void Transform_Properties(struct wmOperatorType *ot, int flags);
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c
index bc81817647e..ed42a0e35f3 100644
--- a/source/blender/editors/transform/transform.c
+++ b/source/blender/editors/transform/transform.c
@@ -1635,9 +1635,9 @@ void saveTransform(bContext *C, TransInfo *t, wmOperator *op)
}
}
- if ((prop = RNA_struct_find_property(op->ptr, "mouse_coordinate_override"))) {
+ if ((prop = RNA_struct_find_property(op->ptr, "center_override"))) {
/* Important for redo operations. */
- RNA_property_int_set_array(op->ptr, prop, t->mouse.imval);
+ RNA_property_float_set_array(op->ptr, prop, t->center_global);
}
if (t->flag & T_PROP_EDIT_ALL) {
diff --git a/source/blender/editors/transform/transform_convert.c b/source/blender/editors/transform/transform_convert.c
index 027ae04795a..78e785e0e71 100644
--- a/source/blender/editors/transform/transform_convert.c
+++ b/source/blender/editors/transform/transform_convert.c
@@ -69,6 +69,8 @@
#include "ED_clip.h"
#include "ED_mask.h"
+#include "UI_view2d.h"
+
#include "WM_api.h" /* for WM_event_add_notifier to deal with stabilization nodes */
#include "WM_types.h"
@@ -787,6 +789,19 @@ void clipUVData(TransInfo *t)
/* ********************* ANIMATION EDITORS (GENERAL) ************************* */
+/* In modal, `t->center_global` may not have been inited yet. */
+void transform_convert_center_global_v2(TransInfo *t, float r_center[2])
+{
+ /* In modal, `t->center2d` may not have been inited yet. */
+ if (t->flag & T_MODAL) {
+ UI_view2d_region_to_view(
+ (View2D *)t->view, t->mouse.imval[0], t->mouse.imval[1], &r_center[0], &r_center[1]);
+ }
+ else {
+ copy_v2_v2(r_center, t->center_global);
+ }
+}
+
/* This function tests if a point is on the "mouse" side of the cursor/frame-marking */
bool FrameOnMouseSide(char side, float frame, float cframe)
{
diff --git a/source/blender/editors/transform/transform_convert.h b/source/blender/editors/transform/transform_convert.h
index 075bf0a5a4b..4c12b91c2b4 100644
--- a/source/blender/editors/transform/transform_convert.h
+++ b/source/blender/editors/transform/transform_convert.h
@@ -104,6 +104,7 @@ void transform_around_single_fallback(TransInfo *t);
bool constraints_list_needinv(TransInfo *t, ListBase *list);
void calc_distanceCurveVerts(TransData *head, TransData *tail);
struct TransDataCurveHandleFlags *initTransDataCurveHandles(TransData *td, struct BezTriple *bezt);
+void transform_convert_center_global_v2(TransInfo *t, float r_center[2]);
bool FrameOnMouseSide(char side, float frame, float cframe);
/* transform_convert_action.c */
diff --git a/source/blender/editors/transform/transform_convert_action.c b/source/blender/editors/transform/transform_convert_action.c
index 0b1d2757435..42e8523d4cb 100644
--- a/source/blender/editors/transform/transform_convert_action.c
+++ b/source/blender/editors/transform/transform_convert_action.c
@@ -36,8 +36,6 @@
#include "ED_anim_api.h"
-#include "UI_view2d.h"
-
#include "transform.h"
#include "transform_convert.h"
@@ -333,11 +331,10 @@ void createTransActionData(bContext *C, TransInfo *t)
/* which side of the current frame should be allowed */
if (t->mode == TFM_TIME_EXTEND) {
- /* only side on which mouse is gets transformed */
- float xmouse, ymouse;
-
- UI_view2d_region_to_view(&ac.ar->v2d, t->mouse.imval[0], t->mouse.imval[1], &xmouse, &ymouse);
- t->frame_side = (xmouse > CFRA) ? 'R' : 'L'; // XXX use t->frame_side
+ /* only side on which center is gets transformed */
+ float center[2];
+ transform_convert_center_global_v2(t, center);
+ t->frame_side = (center[0] > CFRA) ? 'R' : 'L';
}
else {
/* normal transform - both sides of current frame are considered */
diff --git a/source/blender/editors/transform/transform_convert_graph.c b/source/blender/editors/transform/transform_convert_graph.c
index f6f982e854a..502679efedf 100644
--- a/source/blender/editors/transform/transform_convert_graph.c
+++ b/source/blender/editors/transform/transform_convert_graph.c
@@ -1,4 +1,4 @@
-/*
+/*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
@@ -261,11 +261,10 @@ void createTransGraphEditData(bContext *C, TransInfo *t)
/* which side of the current frame should be allowed */
// XXX we still want this mode, but how to get this using standard transform too?
if (t->mode == TFM_TIME_EXTEND) {
- /* only side on which mouse is gets transformed */
- float xmouse, ymouse;
-
- UI_view2d_region_to_view(v2d, t->mouse.imval[0], t->mouse.imval[1], &xmouse, &ymouse);
- t->frame_side = (xmouse > CFRA) ? 'R' : 'L'; // XXX use t->frame_side
+ /* only side on which center is gets transformed */
+ float center[2];
+ transform_convert_center_global_v2(t, center);
+ t->frame_side = (center[0] > CFRA) ? 'R' : 'L';
}
else {
/* normal transform - both sides of current frame are considered */
diff --git a/source/blender/editors/transform/transform_convert_nla.c b/source/blender/editors/transform/transform_convert_nla.c
index 114968ec83f..7c34c583210 100644
--- a/source/blender/editors/transform/transform_convert_nla.c
+++ b/source/blender/editors/transform/transform_convert_nla.c
@@ -35,8 +35,6 @@
#include "ED_anim_api.h"
-#include "UI_view2d.h"
-
#include "transform.h"
#include "transform_convert.h"
@@ -73,11 +71,10 @@ void createTransNlaData(bContext *C, TransInfo *t)
/* which side of the current frame should be allowed */
if (t->mode == TFM_TIME_EXTEND) {
- /* only side on which mouse is gets transformed */
- float xmouse, ymouse;
-
- UI_view2d_region_to_view(&ac.ar->v2d, t->mouse.imval[0], t->mouse.imval[1], &xmouse, &ymouse);
- t->frame_side = (xmouse > CFRA) ? 'R' : 'L';
+ /* only side on which center is gets transformed */
+ float center[2];
+ transform_convert_center_global_v2(t, center);
+ t->frame_side = (center[0] > CFRA) ? 'R' : 'L';
}
else {
/* normal transform - both sides of current frame are considered */
diff --git a/source/blender/editors/transform/transform_convert_sequencer.c b/source/blender/editors/transform/transform_convert_sequencer.c
index 4baf0e8a3cb..c11858b922a 100644
--- a/source/blender/editors/transform/transform_convert_sequencer.c
+++ b/source/blender/editors/transform/transform_convert_sequencer.c
@@ -31,8 +31,6 @@
#include "BKE_sequencer.h"
#include "BKE_report.h"
-#include "UI_view2d.h"
-
#include "transform.h"
#include "transform_convert.h"
@@ -526,14 +524,12 @@ void createTransSeqData(bContext *C, TransInfo *t)
{
#define XXX_DURIAN_ANIM_TX_HACK
- View2D *v2d = UI_view2d_fromcontext(C);
Scene *scene = t->scene;
Editing *ed = BKE_sequencer_editing_get(t->scene, false);
TransData *td = NULL;
TransData2D *td2d = NULL;
TransDataSeq *tdsq = NULL;
TransSeq *ts = NULL;
- int xmouse;
int count = 0;
@@ -545,18 +541,10 @@ void createTransSeqData(bContext *C, TransInfo *t)
}
tc->custom.type.free_cb = freeSeqData;
-
- xmouse = (int)UI_view2d_region_to_view_x(v2d, t->mouse.imval[0]);
-
- /* which side of the current frame should be allowed */
- if (t->mode == TFM_TIME_EXTEND) {
- /* only side on which mouse is gets transformed */
- t->frame_side = (xmouse > CFRA) ? 'R' : 'L';
- }
- else {
- /* normal transform - both sides of current frame are considered */
- t->frame_side = 'B';
- }
+ /* only side on which center is gets transformed */
+ float center[2];
+ transform_convert_center_global_v2(t, center);
+ t->frame_side = (center[0] > CFRA) ? 'R' : 'L';
#ifdef XXX_DURIAN_ANIM_TX_HACK
{
@@ -599,7 +587,7 @@ void createTransSeqData(bContext *C, TransInfo *t)
SeqTransDataBounds(t, ed->seqbasep, ts);
/* set the snap mode based on how close the mouse is at the end/start points */
- if (abs(xmouse - ts->max) > abs(xmouse - ts->min)) {
+ if (abs(center[0] - ts->max) > abs(center[0] - ts->min)) {
ts->snap_left = true;
}
diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c
index c925f5c9a8e..7d9a122f802 100644
--- a/source/blender/editors/transform/transform_generics.c
+++ b/source/blender/editors/transform/transform_generics.c
@@ -1374,17 +1374,6 @@ void initTransInfo(bContext *C, TransInfo *t, wmOperator *op, const wmEvent *eve
bGPdata *gpd = CTX_data_gpencil_data(C);
PropertyRNA *prop;
- if (op && (prop = RNA_struct_find_property(op->ptr, "mouse_coordinate_override")) &&
- RNA_property_is_set(op->ptr, prop)) {
- RNA_property_int_get_array(op->ptr, prop, t->mval);
- }
- else if (event) {
- copy_v2_v2_int(t->mval, event->mval);
- }
- else {
- zero_v2_int(t->mval);
- }
-
t->depsgraph = CTX_data_depsgraph_pointer(C);
t->scene = sce;
t->view_layer = view_layer;
@@ -1413,11 +1402,16 @@ void initTransInfo(bContext *C, TransInfo *t, wmOperator *op, const wmEvent *eve
t->redraw = TREDRAW_HARD; /* redraw first time */
- t->mouse.imval[0] = t->mval[0];
- t->mouse.imval[1] = t->mval[1];
-
- t->con.imval[0] = t->mouse.imval[0];
- t->con.imval[1] = t->mouse.imval[1];
+ int mval[2];
+ if (event) {
+ copy_v2_v2_int(mval, event->mval);
+ }
+ else {
+ zero_v2_int(mval);
+ }
+ copy_v2_v2_int(t->mval, mval);
+ copy_v2_v2_int(t->mouse.imval, mval);
+ copy_v2_v2_int(t->con.imval, mval);
t->transform = NULL;
t->handleEvent = NULL;
diff --git a/source/blender/editors/transform/transform_ops.c b/source/blender/editors/transform/transform_ops.c
index d3d5d785eac..39f6f24eb8d 100644
--- a/source/blender/editors/transform/transform_ops.c
+++ b/source/blender/editors/transform/transform_ops.c
@@ -694,14 +694,6 @@ void Transform_Properties(struct wmOperatorType *ot, int flags)
RNA_def_property_ui_text(prop, "Center Override", "Force using this center value (when set)");
}
- if (flags & P_MOUSE) {
- prop = RNA_def_property(ot->srna, "mouse_coordinate_override", PROP_INT, PROP_XYZ);
- RNA_def_property_array(prop, 2);
- RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
- RNA_def_property_ui_text(
- prop, "Mouse Coordinate Override", "Force using this mouse value (when set)");
- }
-
if ((flags & P_NO_DEFAULTS) == 0) {
prop = RNA_def_boolean(ot->srna,
"release_confirm",
@@ -1247,7 +1239,7 @@ static void TRANSFORM_OT_transform(struct wmOperatorType *ot)
Transform_Properties(ot,
P_ORIENT_AXIS | P_ORIENT_MATRIX | P_CONSTRAINT | P_PROPORTIONAL | P_MIRROR |
- P_ALIGN_SNAP | P_GPENCIL_EDIT | P_CENTER | P_MOUSE);
+ P_ALIGN_SNAP | P_GPENCIL_EDIT | P_CENTER);
}
static int transform_from_gizmo_invoke(bContext *C,