equal
deleted
inserted
replaced
71 RenderingHints hints, |
71 RenderingHints hints, |
72 Rectangle devBounds) { |
72 Rectangle devBounds) { |
73 WritableRaster raster = bufImg.getRaster(); |
73 WritableRaster raster = bufImg.getRaster(); |
74 ColorModel cm = bufImg.getColorModel(); |
74 ColorModel cm = bufImg.getColorModel(); |
75 int maxw = devBounds.width; |
75 int maxw = devBounds.width; |
76 Object val = hints.get(hints.KEY_INTERPOLATION); |
76 Object val = hints.get(RenderingHints.KEY_INTERPOLATION); |
77 boolean filter = |
77 boolean filter = |
78 (val == null |
78 (val == null |
79 ? (hints.get(hints.KEY_RENDERING) == hints.VALUE_RENDER_QUALITY) |
79 ? (hints.get(RenderingHints.KEY_RENDERING) == RenderingHints.VALUE_RENDER_QUALITY) |
80 : (val != hints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR)); |
80 : (val != RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR)); |
81 if (raster instanceof IntegerInterleavedRaster && |
81 if (raster instanceof IntegerInterleavedRaster && |
82 (!filter || isFilterableDCM(cm))) |
82 (!filter || isFilterableDCM(cm))) |
83 { |
83 { |
84 IntegerInterleavedRaster iir = (IntegerInterleavedRaster) raster; |
84 IntegerInterleavedRaster iir = (IntegerInterleavedRaster) raster; |
85 if (iir.getNumDataElements() == 1 && iir.getPixelStride() == 1) { |
85 if (iir.getNumDataElements() == 1 && iir.getPixelStride() == 1) { |
232 SunWritableRaster.markDirty(outRas); |
232 SunWritableRaster.markDirty(outRas); |
233 |
233 |
234 return outRas; |
234 return outRas; |
235 } |
235 } |
236 |
236 |
237 private static WeakReference xrgbRasRef; |
237 private static WeakReference<Raster> xrgbRasRef; |
238 private static WeakReference argbRasRef; |
238 private static WeakReference<Raster> argbRasRef; |
239 |
239 |
240 synchronized static WritableRaster makeRaster(ColorModel cm, |
240 synchronized static WritableRaster makeRaster(ColorModel cm, |
241 Raster srcRas, |
241 Raster srcRas, |
242 int w, int h) |
242 int w, int h) |
243 { |
243 { |
276 synchronized static void dropRaster(ColorModel cm, Raster outRas) { |
276 synchronized static void dropRaster(ColorModel cm, Raster outRas) { |
277 if (outRas == null) { |
277 if (outRas == null) { |
278 return; |
278 return; |
279 } |
279 } |
280 if (xrgbmodel == cm) { |
280 if (xrgbmodel == cm) { |
281 xrgbRasRef = new WeakReference(outRas); |
281 xrgbRasRef = new WeakReference<>(outRas); |
282 } else if (argbmodel == cm) { |
282 } else if (argbmodel == cm) { |
283 argbRasRef = new WeakReference(outRas); |
283 argbRasRef = new WeakReference<>(outRas); |
284 } |
284 } |
285 } |
285 } |
286 |
286 |
287 private static WeakReference byteRasRef; |
287 private static WeakReference<Raster> byteRasRef; |
288 |
288 |
289 synchronized static WritableRaster makeByteRaster(Raster srcRas, |
289 synchronized static WritableRaster makeByteRaster(Raster srcRas, |
290 int w, int h) |
290 int w, int h) |
291 { |
291 { |
292 if (byteRasRef != null) { |
292 if (byteRasRef != null) { |
305 |
305 |
306 synchronized static void dropByteRaster(Raster outRas) { |
306 synchronized static void dropByteRaster(Raster outRas) { |
307 if (outRas == null) { |
307 if (outRas == null) { |
308 return; |
308 return; |
309 } |
309 } |
310 byteRasRef = new WeakReference(outRas); |
310 byteRasRef = new WeakReference<>(outRas); |
311 } |
311 } |
312 |
312 |
313 public abstract WritableRaster makeRaster(int w, int h); |
313 public abstract WritableRaster makeRaster(int w, int h); |
314 public abstract void setRaster(int x, int y, int xerr, int yerr, |
314 public abstract void setRaster(int x, int y, int xerr, int yerr, |
315 int w, int h, int bWidth, int bHeight, |
315 int w, int h, int bWidth, int bHeight, |