Skip to content

Commit 3cfd317

Browse files
author
Michael Strauß
committed
8346227: Seal Paint and Material
Reviewed-by: nlisker, angorya, kcr
1 parent 5b074c4 commit 3cfd317

File tree

5 files changed

+10
-21
lines changed

5 files changed

+10
-21
lines changed

modules/javafx.graphics/src/main/java/com/sun/javafx/tk/Toolkit.java

+6-17
Original file line numberDiff line numberDiff line change
@@ -594,23 +594,12 @@ private Object getPaint(RadialGradient paint) {
594594
}
595595

596596
public Object getPaint(Paint paint) {
597-
if (paint instanceof Color) {
598-
return createColorPaint((Color) paint);
599-
}
600-
601-
if (paint instanceof LinearGradient) {
602-
return getPaint((LinearGradient) paint);
603-
}
604-
605-
if (paint instanceof RadialGradient) {
606-
return getPaint((RadialGradient) paint);
607-
}
608-
609-
if (paint instanceof ImagePattern) {
610-
return createImagePatternPaint((ImagePattern) paint);
611-
}
612-
613-
return null;
597+
return switch (paint) {
598+
case Color color -> createColorPaint(color);
599+
case LinearGradient gradient -> getPaint(gradient);
600+
case RadialGradient gradient -> getPaint(gradient);
601+
case ImagePattern pattern -> createImagePatternPaint(pattern);
602+
};
614603
}
615604

616605
protected static final double clampStopOffset(double offset) {

modules/javafx.graphics/src/main/java/javafx/scene/paint/ImagePattern.java

-1
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,6 @@ void acc_removeListener(AbstractNotifyListener platformChangeListener) {
383383
@Override Object acc_getPlatformPaint() {
384384
if (acc_isMutable() || platformPaint == null) {
385385
platformPaint = Toolkit.getToolkit().getPaint(this);
386-
assert platformPaint != null;
387386
}
388387
return platformPaint;
389388
}

modules/javafx.graphics/src/main/java/javafx/scene/paint/Material.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
*
4646
* @since JavaFX 8.0
4747
*/
48-
public abstract class Material {
48+
public abstract sealed class Material permits PhongMaterial {
4949

5050
static {
5151
// This is used by classes in different packages to get access to

modules/javafx.graphics/src/main/java/javafx/scene/paint/Paint.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@
4545
*
4646
* @since JavaFX 2.0
4747
*/
48-
public abstract class Paint implements Interpolatable<Paint> {
48+
public abstract sealed class Paint implements Interpolatable<Paint>
49+
permits Color, LinearGradient, RadialGradient, ImagePattern {
4950

5051
static {
5152
Toolkit.setPaintAccessor(new Toolkit.PaintAccessor() {

modules/javafx.graphics/src/main/java/javafx/scene/paint/PhongMaterial.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@
431431
* @see Shape3D
432432
* @since JavaFX 8.0
433433
*/
434-
public class PhongMaterial extends Material {
434+
public non-sealed class PhongMaterial extends Material {
435435

436436
private boolean diffuseColorDirty = true;
437437
private boolean specularColorDirty = true;

0 commit comments

Comments
 (0)