/* Copyright (C) 2000 Free Software Foundation This file is part of libgcj. This software is copyrighted work licensed under the terms of the Libgcj License. Please consult the file "LIBGCJ_LICENSE" for details. */ package gnu.awt.j2d; import java.awt.Color; import java.awt.Image; import java.awt.Shape; import java.awt.Rectangle; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GraphicsConfiguration; import java.awt.Font; import java.awt.FontMetrics; import java.awt.image.Raster; import java.awt.image.ImageObserver; /** * Interface for a simple pixel based backend graphics object that * does not handle translation/transforms, curves, nor advanced * compositing. */ public interface DirectRasterGraphics extends Cloneable { public void dispose(); public void setColor(Color color); public void setPaintMode(); public void setXORMode(Color altColor); public void setFont(Font font); public FontMetrics getFontMetrics(Font font); // supports rects, multi-rects and polygons public void setClip(Shape clip); public void copyArea(int x, int y, int width, int height, int dx, int dy); public void drawLine(int x1, int y1, int x2, int y2); public void drawRect(int x, int y, int width, int height); public void fillRect(int x, int y, int width, int height); public void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle); public void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle); public void drawPolyline(int[] xPoints, int[] yPoints, int nPoints); public void drawPolygon(int[] xPoints, int[] yPoints, int nPoints); public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints); public void drawString(String str, int x, int y); public boolean drawImage(Image image, int x, int y, ImageObserver observer); /** * Map the data for screen pixels in the requested bounds to a * raster object. This gives read/write access to the screen * pixels, allowing neat alpha and composite tricks. */ public MappedRaster mapRaster(Rectangle bounds); /** * Detach previously mapped pixel data from a raster object. */ public void unmapRaster(MappedRaster mappedRaster); }