RFR: 8242523: Update the animation and clip envelope classes

Nir Lisker nlisker at openjdk.java.net
Wed May 13 00:40:14 UTC 2020


On Tue, 5 May 2020 05:47:30 GMT, Ambarish Rapte <arapte at 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/com/sun/scenario/animation/shared/MultiLoopClipEnvelope.java line 48:
> 
>> 47:
>> 48:     protected boolean autoReverse() {
>> 49:         return autoReverse;
> 
> I would suggest the name to be `isAutoReverese`

That would be the usual naming convention, yes, but I find that  this can be more fluent to read. Perhaps I'm
influenced by the upcoming `record`s feature. Can change.

-------------

PR: https://git.openjdk.java.net/jfx/pull/196


More information about the openjfx-dev mailing list