Issue 120749 - [From Symphony] Fill color animations run too fast
Summary: [From Symphony] Fill color animations run too fast
Status: CLOSED FIXED
Alias: None
Product: Impress
Classification: Application
Component: viewing (show other issues)
Version: 4.0.0-dev
Hardware: All All
: P3 Normal (vote)
Target Milestone: 4.0.0
Assignee: Andre
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-08-29 12:54 UTC by Andre
Modified: 2012-10-18 06:52 UTC (History)
3 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
Fill color animation is too fast. (11.13 KB, application/vnd.oasis.opendocument.presentation)
2012-08-29 12:54 UTC, Andre
no flags Details
Original fix by Wang Zhe (863 bytes, patch)
2012-08-29 15:07 UTC, Andre
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this issue.
Description Andre 2012-08-29 12:54:31 UTC
Created attachment 79213 [details]
Fill color animation is too fast.

How to reproduce:
1. Create new Impress document.
2. Add shape.
3. Assign custom animation "Emphasis/Change Fill Color", than set speed to "Very Slow".
4. Add second shape.
5. Assign custom animation "Entrance/Appear".
6. In context menu of animation of the second shape, select "Start After Previous"

Start slide show and click once to start the animation.
Observe the duration between fill color arriving at target color and the appearance of the second shape.  Both should happen at the same time.
Comment 1 Andre 2012-08-29 13:01:43 UTC
This bug is caused by wrong handling of start value of the fill color animation.

The animation starts with the current fill color of the shape and ends with the fixed target color of the animation (it can be chosen via the Impress UI): there is a start color C_s and a target color C_t.  The color at time t with t in [0,1] should be

   C(t) = (t-1)*C_s + t*C_t

but ATM is calculcated as

   C(t) = (t-1)*C(t-delta_t) + t*C_t

where C(t-delta_t) is the interpolated color value of the last frame, which with increasing t is nearer to C_t than to C_s.
Comment 2 SVN Robot 2012-08-29 14:57:01 UTC
"af" committed SVN revision 1378592 into trunk:
#i120749# Fixed interpolation of "smil:to" animation when "smil:from"
Comment 3 Andre 2012-08-29 15:07:42 UTC
Created attachment 79215 [details]
Original fix by Wang Zhe
Comment 4 Andre 2012-08-29 15:11:51 UTC
I extended the original patch by Wang Zhe by removing the mbDynamicStartValue altogether, not just commenting it out.  I then simplified/removed conditionals depending on this variable.

Removed the following comment because I believe that it is a misinterpretation:

 // According to the SMIL spec
 // (http://www.w3.org/TR/smil20/animation.html#animationNS-ToAnimation),
 // the to animation interpolates between
 // the _running_ underlying value and the to value (as the end value)
Comment 5 Andre 2012-08-29 15:14:08 UTC
For the records: original Symphony issue id is Sym2_3737.
Comment 6 liuping 2012-09-18 08:46:16 UTC
verify on AOO3.5_r1386711 on winxp/Win7-64bit/SLED 11 SP1 32 bit/Mac 10.7/Ubuntu 10.04 32 bit ,pass
Comment 7 Shenfeng Liu 2012-10-18 06:52:47 UTC
Update Target Milestone to AOO 3.5.0.