From 4414ecf7741878d199d2bb56fabaa6817ae7de6b Mon Sep 17 00:00:00 2001 From: bancika Date: Tue, 31 Mar 2020 15:43:49 +0200 Subject: [PATCH] remove dependency to sun.awt.image.IntegerComponentRaster --- diylc/diylc-library/lib/diylc-core.jar | Bin 302774 -> 302756 bytes .../src/org/diylc/awt/ShadedPaintContext.java | 62 +++++++++++++++--- diylc/diylc-swing/lib/diylc-core.jar | Bin 302774 -> 302756 bytes diylc/diylc-swing/library/main.jar | Bin 645003 -> 645271 bytes 4 files changed, 54 insertions(+), 8 deletions(-) diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar index 42c60e23d6a9b617ea3b5c8501334922c46625f9..1fce68e2e023cb5c3f4bc124e0d274ab47ef3422 100644 GIT binary patch delta 6689 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 delta 6747 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 diff --git a/diylc/diylc-library/src/org/diylc/awt/ShadedPaintContext.java b/diylc/diylc-library/src/org/diylc/awt/ShadedPaintContext.java index 6171b9b8..cf998554 100644 --- a/diylc/diylc-library/src/org/diylc/awt/ShadedPaintContext.java +++ b/diylc/diylc-library/src/org/diylc/awt/ShadedPaintContext.java @@ -29,10 +29,9 @@ import java.awt.geom.Point2D; import java.awt.image.ColorModel; import java.awt.image.DirectColorModel; import java.awt.image.Raster; +import java.awt.image.WritableRaster; import java.lang.ref.WeakReference; -import sun.awt.image.IntegerComponentRaster; - public class ShadedPaintContext implements PaintContext { static ColorModel xrgbmodel = @@ -222,17 +221,20 @@ public class ShadedPaintContext implements PaintContext { rast = getCachedRaster(model, w, h); saved = rast; } - IntegerComponentRaster irast = (IntegerComponentRaster) rast; - int off = irast.getDataOffset(0); - int adjust = irast.getScanlineStride() - w; - int[] pixels = irast.getDataStorage(); +// IntegerComponentRaster irast = (IntegerComponentRaster) rast; +// int off = irast.getDataOffset(0); +// int adjust = irast.getScanlineStride() - w; +// int[] pixels2 = irast.getDataStorage(); + + int[] pixels = new int[w * h * 3]; - clipFillRaster(pixels, off, adjust, w, h, rowrel, dx, dy); + clipFillRasterRGB(pixels, 0, 0, w, h, rowrel, dx, dy); + ((WritableRaster)rast).setPixels(rast.getMinX(), rast.getMinY(), w, h, pixels); // irast.markDirty(); return rast; - } + } void clipFillRaster(int[] pixels, int off, int adjust, int w, int h, double rowrel, double dx, double dy) { @@ -261,4 +263,48 @@ public class ShadedPaintContext implements PaintContext { rowrel += dy; } } + + void clipFillRasterRGB(int[] pixels, int off, int adjust, int w, int h, double rowrel, + double dx, double dy) { + while (--h >= 0) { + double colrel = rowrel; + int j = w; + if (colrel <= 0.0) { + int rgb = interp[0]; + do { + int red = (rgb >> 16) & 0xff; + int green = (rgb >> 8) & 0xff; + int blue = (rgb) & 0xff; + pixels[off++] = red; + pixels[off++] = green; + pixels[off++] = blue; + colrel += dx; + } while (--j > 0 && colrel <= 0.0); + } + while (colrel < 1.0 && --j >= 0) { + int rgb = interp[(int) (colrel < 0.5 ? colrel * 2 * 256 : (2 - colrel * 2) * 256)]; + int red = (rgb >> 16) & 0xff; + int green = (rgb >> 8) & 0xff; + int blue = (rgb) & 0xff; + pixels[off++] = red; + pixels[off++] = green; + pixels[off++] = blue; + colrel += dx; + } + if (j > 0) { + int rgb = interp[256]; + do { + int red = (rgb >> 16) & 0xff; + int green = (rgb >> 8) & 0xff; + int blue = (rgb) & 0xff; + pixels[off++] = red; + pixels[off++] = green; + pixels[off++] = blue; + } while (--j > 0); + } + + off += adjust; + rowrel += dy; + } + } } \ No newline at end of file diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar index 42c60e23d6a9b617ea3b5c8501334922c46625f9..1fce68e2e023cb5c3f4bc124e0d274ab47ef3422 100644 GIT binary patch delta 6689 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 delta 6747 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 diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar index 8195b171fc40f28978cad34a9627afeae340e18a..af23d57ebb29e73efd66e01a4fc9257a78c7cc89 100644 GIT binary patch delta 15477 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 ZA&D=%$a}K~5UH?0$Rw7_RyYcj{{g=4Up)W- delta 15298 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