On Wed, 26 Nov 2025 23:17:39 GMT, Michael Strauß <[email protected]> wrote:

>> Implementation of the 
>> [linear](https://www.w3.org/TR/css-easing-2/#the-linear-easing-function) 
>> easing function, which is now widely supported by all browsers, but still 
>> missing in JavaFX.
>> 
>> It allows developers to approximate arbitrary easing functions with linear 
>> segments:
>> 
>> 
>> linear(
>>     /* Start to 1st bounce */
>>     0, 0.063, 0.25, 0.563, 1 36.4%,
>>     /* 1st to 2nd bounce */
>>     0.812, 0.75, 0.813, 1 72.7%,
>>     /* 2nd to 3rd bounce */
>>     0.953, 0.938, 0.953, 1 90.9%,
>>     /* 3rd bounce to end */
>>     0.984, 1 100% 100%
>>   )
>> 
>> 
>> <img 
>> src="https://github.com/user-attachments/assets/73aac0d4-0185-47c5-8791-bdb247eb69c8";
>>  width="400"/>
>
> Michael Strauß has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   doc change

modules/javafx.graphics/src/main/java/com/sun/scenario/animation/LinearInterpolator.java
 line 44:

> 42:         if (controlPoints == null) {
> 43:             throw new NullPointerException("controlPoints cannot be 
> null");
> 44:         }

You can use `Objects.requireNonNull`.

modules/javafx.graphics/src/main/java/javafx/animation/Interpolator.java line 
100:

> 98:      * Returns a piecewise-linear interpolator with the specified control 
> points.
> 99:      * <p>
> 100:      * Each control point associates an input progress value (X) with an 
> output progress value (Y).

I think an explanation of what these progress values are will help, especially 
with names such as "input" and "output" associated with them instead of the `x, 
y` coordinate value names one could expect.

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1977#discussion_r2567548606
PR Review Comment: https://git.openjdk.org/jfx/pull/1977#discussion_r2567678868

Reply via email to