RFR: 8242523: Update the animation and clip envelope classes
Nir Lisker
nlisker at openjdk.java.net
Fri Apr 24 01:23:55 UTC 2020
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
More information about the openjfx-dev
mailing list