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. ------------- Commit messages: - Removed whitespace - Merge branch 'master' into 8242523_Update_the_Animation_and_ClipEnvelope_classes - Removing cycleNumber for now - Fix typo in TicksCalculation & add an explanation for an animation test - Initial push of 8242523 - Comment out erroneous test - Fix IndefiniteCycleDuration test - Fixed single loop test - Initial commit Changes: https://git.openjdk.java.net/jfx/pull/196/files Webrev: https://webrevs.openjdk.java.net/jfx/196/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8242523 Stats: 648 lines in 9 files changed: 336 ins; 174 del; 138 mod Patch: https://git.openjdk.java.net/jfx/pull/196.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/196/head:pull/196 PR: https://git.openjdk.java.net/jfx/pull/196