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:
authorMartin Poirier <theeth@yahoo.com>2010-01-19 01:21:32 +0300
committerMartin Poirier <theeth@yahoo.com>2010-01-19 01:21:32 +0300
commitb6421418e49fe9b6e7db99e072f7b9cd074028c7 (patch)
tree40d1aa33c0b0fcb5e084fd47154f1442f83ab0b5 /source/blender
parentcd068e5530bee6351dd930a3a458f1f939936a6e (diff)
Fix input issue with Time Scale (center2d needs to be specially calculated for that transformation).
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/editors/transform/transform.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c
index 09fce29cbc7..5e833708751 100644
--- a/source/blender/editors/transform/transform.c
+++ b/source/blender/editors/transform/transform.c
@@ -217,7 +217,7 @@ void projectIntView(TransInfo *t, float *vec, int *adr)
UI_view2d_to_region_no_clip(t->view, v[0], v[1], adr, adr+1);
}
- else if(ELEM(t->spacetype, SPACE_IPO, SPACE_NLA)) {
+ else if(ELEM3(t->spacetype, SPACE_IPO, SPACE_NLA, SPACE_ACTION)) {
int out[2] = {0, 0};
UI_view2d_view_to_region((View2D *)t->view, vec[0], vec[1], out, out+1);
@@ -5449,10 +5449,20 @@ int TimeSlide(TransInfo *t, short mval[2])
void initTimeScale(TransInfo *t)
{
+ int center[2];
+
t->mode = TFM_TIME_SCALE;
t->transform = TimeScale;
-
- // TODO: the scaling ratios obtained here aren't rapid enough
+
+ /* recalculate center2d to use CFRA and mouse Y, since that's
+ * what is used in time scale */
+ t->center[0] = t->scene->r.cfra;
+ projectIntView(t, t->center, center);
+ center[1] = t->imval[1];
+
+ /* force a reinit with the center2d used here */
+ initMouseInput(t, &t->mouse, center, t->imval);
+
initMouseInputMode(t, &t->mouse, INPUT_SPRING_FLIP);
t->flag |= T_NULL_ONE;