diff options
author | Joshua Leung <aligorith@gmail.com> | 2007-04-28 13:35:16 +0400 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2007-04-28 13:35:16 +0400 |
commit | 6bb16e0c86c553697f6cade8c6e1cd166f993d2c (patch) | |
tree | 43774cd31992ce005b975327e558443f8d5cedb1 /source/blender/src/drawipo.c | |
parent | 705671ebaac3648f67ebc3c12b441e0a2b09df2d (diff) |
== IPO Editor - Scaled Curves for NLA-Strip Curves ==
This commit resolves an issue dating back a few releases. When the IPO block being displayed in the IPO editor came from an Action being used as an Action Strip
in the NLA editor, the keyframes in the IPO editor were not displayed in 'NLA-time'.
There are however a number of things that still need work on so that they will play
nicely with these changes. Having said that, the IPO editor is still generally stable
for use (or should be). In case anything plays up, 'pin' the IPO view you're using
to turn off these changes.
This resolves Todo #4335.
Known Issues:
* When 'K' (show keys) mode is on, it doesn't work too too well yet. The display
in such situations will be a bit confusing.
* Pressing IKEY in the IPO editor (for inserting a keyframe on the current frame)
also doesn't work too well yet. It will insert a keyframe on the wrong frame.
* Transforms don't get any correction for scaling yet. This is only an issue when
snapping transforms to the grid, or relying on the delta numbers printed in the
header.
Diffstat (limited to 'source/blender/src/drawipo.c')
-rw-r--r-- | source/blender/src/drawipo.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/source/blender/src/drawipo.c b/source/blender/src/drawipo.c index 36cf21d3114..336ac281f5d 100644 --- a/source/blender/src/drawipo.c +++ b/source/blender/src/drawipo.c @@ -2155,6 +2155,13 @@ void drawipospace(ScrArea *sa, void *spacedata) ei= sipo->editipo; draw_key(sipo, ei->flag & IPO_VISIBLE); } + + /* map ipo-points for drawing if scaled ipo */ + if (OBACT && OBACT->action && sipo->pin==0) { + if (sipo->actname || sipo->constname) { + actstrip_map_ipo_keys(OBACT, sipo->ipo, 0, 0); + } + } /* draw deselect */ draw_ipocurves(0); @@ -2166,6 +2173,13 @@ void drawipospace(ScrArea *sa, void *spacedata) draw_ipohandles(1); draw_ipovertices(1); + /* undo mapping of ipo-points for drawing if scaled ipo */ + if (OBACT && OBACT->action && sipo->pin==0) { + if (sipo->actname || sipo->constname) { + actstrip_map_ipo_keys(OBACT, sipo->ipo, 1, 0); + } + } + /* Draw 'curtains' for preview */ draw_anim_preview_timespace(); |