RFR: 8332895: Support interpolation for backgrounds and borders

Michael Strauß mstrauss at openjdk.org
Sun Jun 2 18:54:19 UTC 2024


This PR completes the CSS Transitions story (see #870) by adding interpolation support for backgrounds and borders, making them targetable by transitions.

More specifically, the following types will now implement `Interpolatable`.

- `Insets`
- `Background`
- `BackgroundFill`
- `BackgroundImage`
- `BackgroundPosition`
- `BackgroundSize`
- `Border`
- `BorderImage`
- `BorderStroke`
- `BorderWidths`
- `CornerRadii`
- `ImagePattern`
- `LinearGradient`
- `RadialGradient`
- `Stop`

Note that this PR also changes the specification of `Interpolatable` to make users aware that they shouldn't assume any particular identity of the object returned from the `interpolate()` method. This allows the implementation to re-use objects and reduce the number of object allocations.

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

Commit messages:
 - Add interpolation support for backgrounds and borders

Changes: https://git.openjdk.org/jfx/pull/1471/files
  Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1471&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8332895
  Stats: 2867 lines in 42 files changed: 2470 ins; 72 del; 325 mod
  Patch: https://git.openjdk.org/jfx/pull/1471.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1471/head:pull/1471

PR: https://git.openjdk.org/jfx/pull/1471


More information about the openjfx-dev mailing list