On Fri, 29 Aug 2025 15:50:41 GMT, Andy Goryachev <ango...@openjdk.org> wrote:

>> Michael Strauß has updated the pull request with a new target base due to a 
>> merge or a rebase. The incremental webrev excludes the unrelated changes 
>> brought in by the merge/rebase. The pull request contains three additional 
>> commits since the last revision:
>> 
>>  - Merge branch 'master' into feature/relaxed-interpolation
>>  - javadoc
>>  - Allow interpolation outside of range [0,1]
>
> modules/javafx.graphics/src/main/java/com/sun/javafx/scene/layout/region/Margins.java
>  line 92:
> 
>> 90: 
>> 91:         return new Margins(
>> 92:             Math.max(0, InterpolationUtils.interpolate(top, 
>> endValue.top, t)),
> 
> what is the reason for clamping this at 0, but not 1.0 ?
> 
> also, why clamp here but not in `Insets` ?

`Margins` is used for border widths, which can't be negative according to 
specification. However, they can be any positive size, therefore we don't clamp 
here.

> modules/javafx.graphics/src/main/java/javafx/scene/paint/RadialGradient.java 
> line 251:
> 
>> 249:      * @param cycleMethod cycle method applied to the gradient
>> 250:      * @param stops the gradient's color specification
>> 251:      * @throws IllegalArgumentException if {@code focusDistance} or 
>> {@code radius} is negative
> 
> can we use the `@since` tag applicable to `@throws` only?
> (also below)

I don't think this is possible.

> modules/javafx.graphics/src/main/java/javafx/scene/paint/RadialGradient.java 
> line 613:
> 
>> 611:             if (distance < 0) {
>> 612:                 throw new IllegalArgumentException(
>> 613:                     "Invalid gradient specification: focus-distance 
>> cannot be negative");
> 
> why wrap here?
> also below

I removed the line break in this place and others.

> modules/javafx.graphics/src/test/java/test/javafx/scene/paint/RadialGradientTest.java
>  line 302:
> 
>> 300:         } catch (IllegalArgumentException iae) {
>> 301:             assertTrue(iae.getMessage().contains("focus-distance cannot 
>> be negative"));
>> 302:         }
> 
> `RadialGradient` adds `checkInvariants` in three places, but only two tests 
> are added.
> Should we add one more?

No, but I've removed the `checkInvariants()` call in the private constructor, 
as it is only called from the `interpolate()` method and thus always operates 
with valid gradients (no need to verify what has already been verified).

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1822#discussion_r2312127078
PR Review Comment: https://git.openjdk.org/jfx/pull/1822#discussion_r2312127935
PR Review Comment: https://git.openjdk.org/jfx/pull/1822#discussion_r2312127183
PR Review Comment: https://git.openjdk.org/jfx/pull/1822#discussion_r2312127492

Reply via email to