/* * @(#)ColorPaintContext.java 1.22 03/12/19 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package java.awt; import java.awt.image.ColorModel; import java.awt.image.Raster; import java.awt.image.WritableRaster; import sun.awt.image.IntegerComponentRaster; import java.util.Arrays; class ColorPaintContext implements PaintContext { int color; WritableRaster savedTile; protected ColorPaintContext(int color, ColorModel cm) { this.color = color; } public void dispose() { } public ColorModel getColorModel() { return ColorModel.getRGBdefault(); } public synchronized Raster getRaster(int x, int y, int w, int h) { WritableRaster t = savedTile; if (t == null || w > t.getWidth() || h > t.getHeight()) { t = getColorModel().createCompatibleWritableRaster(w, h); IntegerComponentRaster icr = (IntegerComponentRaster) t; int[] array = icr.getDataStorage(); Arrays.fill(icr.getDataStorage(), color); if (w <= 64 && h <= 64) { savedTile = t; } } return t; } }