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