jdk/src/share/classes/java/awt/TexturePaintContext.java
changeset 20107 18e644411f0b
parent 5506 202f599c92aa
child 23010 6dadb192ad81
equal deleted inserted replaced
20106:5d5f2c72f262 20107:18e644411f0b
    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,