if (txShape.contains(x, y)) {
if (txShape.contains(x, y) && ((txClip == null) || txClip.contains(x, y))) {
	public void fill(Shape shape, AffineTransform trans, Color color, int mode) {		final int c = convertColor(color);		final double tx;		final double ty;		final Shape txShape;		if (trans == null) {			tx = 0.0;			ty = 0.0;			txShape = shape;		} else if (trans.getType() == AffineTransform.TYPE_IDENTITY) {			tx = 0.0;			ty = 0.0;			txShape = shape;		} else if (trans.getType() == AffineTransform.TYPE_TRANSLATION) {			tx = trans.getTranslateX();			ty = trans.getTranslateY();			txShape = shape;		} else {			tx = 0.0;			ty = 0.0;			final GeneralPath gp = new GeneralPath();			gp.append(shape.getPathIterator(trans), false);			txShape = gp;		}		final Rectangle bounds = txShape.getBounds();		if (txShape instanceof RectangularShape) {			fillRect((int)(tx + bounds.x), (int)(ty + bounds.y), bounds.width, bounds.height, c, mode);		} else {			//log.debug("Fill " + shape + ", bounds " + bounds);			for (int row = 0; row < bounds.height; row++) {				final int y = (int) (ty + bounds.y + row);				for (int col = 0; col < bounds.width; col++) {					final int x = (int) (tx + bounds.x + col);					if (txShape.contains(x, y)) {						drawPixel(x, y, c, mode);					}				}			}		}	}