SMIL:Challenges: Difference between revisions

m
Line 47: Line 47:
== Future features ==
== Future features ==


* '''The swelling button use case.''' That is, create a button that swells over a period of 1s on mouseover, and shrinks at the same rate back to its original size on mouseout. Currently this does not appear to be possible if the mouseout occurs midway through the swelling phase. If the mouseout occurs after 0.3s, it should take 0.3s to return to the original size.
* '''The swelling button use case.''' That is, create a button that swells over a period of 1s on mouseover, and shrinks at the same rate back to its original size on mouseout. Currently this does not appear to be possible if the mouseout occurs midway through the swelling phase. If the mouseout occurs after 0.3s, it should take 0.3s to return to the original size.<br/><br/>Suggest this should be a container level operation so that a group of animations could be reversed easily and sensibly. See the next point.


* '''Cancelling a chain of animations.''' For example: A, B, and C are configured in a chain so that, e.g. B.begin = A.end+1s; C.begin=B.begin+3s. A has both a simple duration and an end event, e.g. <code><animate dur="5s" end="elem.mouseout" .../></code><br/><br/>We'd like to distinguish between A running to completion (in which case we want B and C to play) and A being cancelled via a mouse out event (in which case we DON'T want B and C to play). This is very tricky to achieve with SMIL animation but is perhaps easy with SMIL time containers (e.g. <seq> -- although I'm not sure that <seq> will do the job when we want B.begin = A.end-1s)
* '''Cancelling a chain of animations.''' For example: A, B, and C are configured in a chain so that, e.g. B.begin = A.end+1s; C.begin=B.begin+3s. A has both a simple duration and an end event, e.g. <code><animate dur="5s" end="elem.mouseout" .../></code><br/><br/>We'd like to distinguish between A running to completion (in which case we want B and C to play) and A being cancelled via a mouse out event (in which case we DON'T want B and C to play). This is very tricky to achieve with SMIL animation but is perhaps easy with SMIL time containers (e.g. <seq> -- although I'm not sure that <seq> will do the job when we want B.begin = A.end-1s)
Confirmed users
166

edits