diff options
Diffstat (limited to 'java/awt/image/DirectColorModel.java')
-rw-r--r-- | java/awt/image/DirectColorModel.java | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/java/awt/image/DirectColorModel.java b/java/awt/image/DirectColorModel.java index 579dc97df..dab15319f 100644 --- a/java/awt/image/DirectColorModel.java +++ b/java/awt/image/DirectColorModel.java @@ -393,20 +393,20 @@ public class DirectColorModel extends PackedColorModel return Buffers.getData(buffer); } - public final ColorModel coerceData (WritableRaster raster, - boolean isAlphaPremultiplied) + public ColorModel coerceData (WritableRaster raster, + boolean isAlphaPremultiplied) { - if (this.isAlphaPremultiplied == isAlphaPremultiplied) + if (this.isAlphaPremultiplied == isAlphaPremultiplied || !hasAlpha()) return this; /* TODO: provide better implementation based on the assumptions we can make due to the specific type of the color model. */ - super.coerceData(raster, isAlphaPremultiplied); - - return new ComponentColorModel(cspace, bits, hasAlpha(), - isAlphaPremultiplied, // argument - transparency, transferType); + super.coerceDataWorker(raster, isAlphaPremultiplied); + + return new DirectColorModel(cspace, pixel_bits, getRedMask(), + getGreenMask(), getBlueMask(), getAlphaMask(), + isAlphaPremultiplied, transferType); } public boolean isCompatibleRaster(Raster raster) |