RFR: 8237975: Non-embedded Animations do not play backwards after being paused
kcr at openjdk.java.net
Fri Jan 31 06:50:26 UTC 2020
On Tue, 28 Jan 2020 19:19:57 GMT, Nir Lisker <nlisker at openjdk.org> wrote:
> (https://bugs.openjdk.java.net/browse/JDK-8236858) (Animations do not play backwards after being paused) has been split to deal with [embedded](https://bugs.openjdk.java.net/browse/JDK-8237974) and [not embedded](https://bugs.openjdk.java.net/browse/JDK-8237975) animations. This is a fix for the latter.
> The reason for the split is that embedded animations have a much more complex behavior. The current state of the relation between an animation and its clip envelope is already messy and should be corrected, even more so for embedded animations whose parent controls their behavior as well (sometimes in conflict with the child's clip envelope). This will require a redesign which can be discussed for 15. See the parent issue (https://bugs.openjdk.java.net/browse/JDK-8210238) for the list of bugs that arise from it.
> This simple fix allows to change the current rate of a `ClipEnvelope` also when the animations is `PAUSED`. A possible issue with this approach is that it changes the buggy behavior of embedded animations to a different buggy behavior.
> A concept test has been added, but it does not work yet since the mock clip envelope does not have sufficient behavior (`doTimePulse` does not actually do a time pulse). Open for ideas on how to make it simple, otherwise I will add a method to set a clip envelope and create a new one ad-hoc.
The fix looks fine, and all my testing looks good, too. I don't have a good recommendation for the test...I'd go with whatever is easiest for jfx14 and address it more completely in 15 when you address some of the design issues you raised.
More information about the openjfx-dev