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:
Diffstat (limited to 'source/blender/editors/transform/transform_convert.c')
-rw-r--r--source/blender/editors/transform/transform_convert.c26
1 files changed, 25 insertions, 1 deletions
diff --git a/source/blender/editors/transform/transform_convert.c b/source/blender/editors/transform/transform_convert.c
index 027ae04795a..c2e3c8ef508 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,28 @@ void clipUVData(TransInfo *t)
/* ********************* ANIMATION EDITORS (GENERAL) ************************* */
+/**
+ * For modal operation: `t->center_global` may not have been set yet.
+ */
+void transform_convert_center_global_v2(TransInfo *t, float r_center[2])
+{
+ 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);
+ }
+}
+
+void transform_convert_center_global_v2_int(TransInfo *t, int r_center[2])
+{
+ float center[2];
+ transform_convert_center_global_v2(t, center);
+ r_center[0] = round_fl_to_int(center[0]);
+ r_center[1] = round_fl_to_int(center[1]);
+}
+
/* This function tests if a point is on the "mouse" side of the cursor/frame-marking */
bool FrameOnMouseSide(char side, float frame, float cframe)
{
@@ -2514,7 +2538,7 @@ void createTransData(bContext *C, TransInfo *t)
t->obedit_type = -1;
t->num.flag |= NUM_NO_FRACTION; /* sequencer has no use for floating point trasnform */
- createTransSeqData(C, t);
+ createTransSeqData(t);
countAndCleanTransDataContainer(t);
}
else if (t->spacetype == SPACE_GRAPH) {