src/share/classes/java/awt/TexturePaintContext.java
Print this page
*** 71,85 ****
RenderingHints hints,
Rectangle devBounds) {
WritableRaster raster = bufImg.getRaster();
ColorModel cm = bufImg.getColorModel();
int maxw = devBounds.width;
! Object val = hints.get(hints.KEY_INTERPOLATION);
boolean filter =
(val == null
! ? (hints.get(hints.KEY_RENDERING) == hints.VALUE_RENDER_QUALITY)
! : (val != hints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR));
if (raster instanceof IntegerInterleavedRaster &&
(!filter || isFilterableDCM(cm)))
{
IntegerInterleavedRaster iir = (IntegerInterleavedRaster) raster;
if (iir.getNumDataElements() == 1 && iir.getPixelStride() == 1) {
--- 71,85 ----
RenderingHints hints,
Rectangle devBounds) {
WritableRaster raster = bufImg.getRaster();
ColorModel cm = bufImg.getColorModel();
int maxw = devBounds.width;
! Object val = hints.get(RenderingHints.KEY_INTERPOLATION);
boolean filter =
(val == null
! ? (hints.get(RenderingHints.KEY_RENDERING) == RenderingHints.VALUE_RENDER_QUALITY)
! : (val != RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR));
if (raster instanceof IntegerInterleavedRaster &&
(!filter || isFilterableDCM(cm)))
{
IntegerInterleavedRaster iir = (IntegerInterleavedRaster) raster;
if (iir.getNumDataElements() == 1 && iir.getPixelStride() == 1) {
*** 232,243 ****
SunWritableRaster.markDirty(outRas);
return outRas;
}
! private static WeakReference xrgbRasRef;
! private static WeakReference argbRasRef;
synchronized static WritableRaster makeRaster(ColorModel cm,
Raster srcRas,
int w, int h)
{
--- 232,243 ----
SunWritableRaster.markDirty(outRas);
return outRas;
}
! private static WeakReference<Raster> xrgbRasRef;
! private static WeakReference<Raster> argbRasRef;
synchronized static WritableRaster makeRaster(ColorModel cm,
Raster srcRas,
int w, int h)
{
*** 276,292 ****
synchronized static void dropRaster(ColorModel cm, Raster outRas) {
if (outRas == null) {
return;
}
if (xrgbmodel == cm) {
! xrgbRasRef = new WeakReference(outRas);
} else if (argbmodel == cm) {
! argbRasRef = new WeakReference(outRas);
}
}
! private static WeakReference byteRasRef;
synchronized static WritableRaster makeByteRaster(Raster srcRas,
int w, int h)
{
if (byteRasRef != null) {
--- 276,292 ----
synchronized static void dropRaster(ColorModel cm, Raster outRas) {
if (outRas == null) {
return;
}
if (xrgbmodel == cm) {
! xrgbRasRef = new WeakReference<>(outRas);
} else if (argbmodel == cm) {
! argbRasRef = new WeakReference<>(outRas);
}
}
! private static WeakReference<Raster> byteRasRef;
synchronized static WritableRaster makeByteRaster(Raster srcRas,
int w, int h)
{
if (byteRasRef != null) {
*** 305,315 ****
synchronized static void dropByteRaster(Raster outRas) {
if (outRas == null) {
return;
}
! byteRasRef = new WeakReference(outRas);
}
public abstract WritableRaster makeRaster(int w, int h);
public abstract void setRaster(int x, int y, int xerr, int yerr,
int w, int h, int bWidth, int bHeight,
--- 305,315 ----
synchronized static void dropByteRaster(Raster outRas) {
if (outRas == null) {
return;
}
! byteRasRef = new WeakReference<>(outRas);
}
public abstract WritableRaster makeRaster(int w, int h);
public abstract void setRaster(int x, int y, int xerr, int yerr,
int w, int h, int bWidth, int bHeight,