On Tue, 26 May 2020 21:12:07 GMT, Kevin Rushforth <k...@openjdk.org> wrote:
>> Mostly refactoring in preparation of the upcoming fixes. The changes might >> look like a lot, but it's mostly rearranging >> of methods. Summery of changes: >> ### Animation >> * Added `isNearZero` and `areNearEqual` methods that deal with `EPSILON` >> checks. >> * Added `isStopped`, `isRunning` and `isPaused` convenience methods. >> * Added `runHandler` method to deal with running the handler. >> * Moved methods to be grouped closer to where they are used rather than by >> visibility. >> * Removed the static import for `TickCalculation`. >> * Various small subjective readability changes. >> * Behavioral changes: switching `autoReverse` and `onFinished` properties >> from "Simple" to "Base" properties; and lazily >> initializing the `cuePoints` map. >> >> ### Clip Envelopes >> * Added `MultiLoopClipEnvelope` as an intermediate parent for infinite and >> finite clip envelopes. >> * Rearranged methods order to be consistent. >> * Replaced the `checkBounds` method with a new overload of `Utils.clamp`. >> * Renamed `pos` to `cyclePos`. >> * Extracted common methods: `changedDirection` and `ticksRateChange` >> * Added internal documentation. >> >> Also corrected a typo in `TicksCalculation` and added an explanation for an >> animation test. > > modules/javafx.graphics/src/main/java/javafx/animation/Animation.java line > 332: > >> 331: } >> 332: if (isNearZero(newRate)) { >> 333: if (isRunning()) { > > The code from here to the end of the method used to be in an `else` block of > the `if (isRunningEmbedded())` test. It > will now be run even if that test is true. Was this intended, and if so, why? If the test for `isRunningEmbedded()` passes, the method will throw an exception. ------------- PR: https://git.openjdk.java.net/jfx/pull/196