This is the abstract superclass of classes for drawing to graphics
devices such as the screen or printers.
clearRect
public abstract void clearRect(int x,
int y,
int width,
int height)
Clears the specified rectangle.
x
- The X coordinate of the upper left corner of the clear rect.y
- The Y coordinate of the upper left corner of the clear rect.width
- The width of the clear rect.height
- The height of the clear rect.
clipRect
public abstract void clipRect(int x,
int y,
int width,
int height)
Sets the clipping region to the intersection of the current clipping
region and the rectangle determined by the specified parameters.
x
- The X coordinate of the upper left corner of the intersect rect.y
- The Y coordinate of the upper left corner of the intersect rect.width
- The width of the intersect rect.height
- The height of the intersect rect.
copyArea
public abstract void copyArea(int x,
int y,
int width,
int height,
int dx,
int dy)
Copies the specified rectangle to the specified offset location.
x
- The X coordinate of the upper left corner of the copy rect.y
- The Y coordinate of the upper left corner of the copy rect.width
- The width of the copy rect.height
- The height of the copy rect.dx
- The offset from the X value to start drawing.dy
- The offset from the Y value to start drawing.
create
public abstract Graphics create()
Returns a copy of this Graphics
object.
create
public Graphics create(int x,
int y,
int width,
int height)
Returns a copy of this Graphics
object. The origin point
will be translated to the point (x, y) and the cliping rectangle set
to the intersection of the clipping rectangle in this object and the
rectangle specified by the parameters to this method.
x
- The new X coordinate of the clipping region rect.y
- The new Y coordinate of the clipping region rect.width
- The width of the clipping region intersect rectangle.height
- The height of the clipping region intersect rectangle.
- A copy of this object, modified as specified.
dispose
public abstract void dispose()
Free any resources held by this graphics context immediately instead
of waiting for the object to be garbage collected and finalized.
draw3DRect
public void draw3DRect(int x,
int y,
int width,
int height,
boolean raised)
drawArc
public abstract void drawArc(int x,
int y,
int width,
int height,
int arcStart,
int arcAngle)
Draws an arc using the specified bounding rectangle and the specified
angle parameter. The arc is centered at the center of the rectangle.
The arc starts at the arcAngle position and extend for arcAngle
degrees. The degree origin is at the 3 o'clock position.
x
- The X coordinate of the upper left corner of the rect.y
- The Y coordinate of the upper left corner of the rect.width
- The width of the rect.height
- The height of the rect.arcStart
- The beginning angle of the arc.arcAngle
- The extent of the arc.
drawBytes
public void drawBytes(byte[] data,
int offset,
int length,
int x,
int y)
drawChars
public void drawChars(data[] ,
int offset,
int length,
int x,
int y)
Draws the specified characters starting at the specified point.
offset
- The offset into the array to start drawing characters from.length
- The number of characters to draw.x
- The X coordinate of the point to draw at.y
- The Y coordinate of the point to draw at.
drawImage
public abstract boolean drawImage(Image image,
int dx1,
int dy1,
int dx2,
int dy2,
int sx1,
int sy1,
int sx2,
int sy2,
Color bgcolor,
ImageObserver observer)
FIXME: Write Javadocs for this when you understand it.
drawImage
public abstract boolean drawImage(Image image,
int dx1,
int dy1,
int dx2,
int dy2,
int sx1,
int sy1,
int sx2,
int sy2,
ImageObserver observer)
FIXME: Write Javadocs for this when you understand it.
drawImage
public abstract boolean drawImage(Image image,
int x,
int y,
int width,
int height,
Color bgcolor,
ImageObserver observer)
Draws all of the image that is available and returns. The image
is scaled to fit in the specified rectangle. If the image
is not completely loaded, false
is returned and
the specified iamge observer is notified as more data becomes
available.
image
- The image to draw.x
- The X coordinate of the point to draw at.y
- The Y coordinate of the point to draw at.width
- The width of the rectangle to draw in.height
- The height of the rectangle to draw in.bgcolor
- The background color to use for the image.observer
- The image observer to notify as data becomes available.
true
if all the image data is available,
false
otherwise.
drawImage
public abstract boolean drawImage(Image image,
int x,
int y,
int width,
int height,
ImageObserver observer)
Draws all of the image that is available and returns. The image
is scaled to fit in the specified rectangle. If the image
is not completely loaded, false
is returned and
the specified iamge observer is notified as more data becomes
available.
image
- The image to draw.x
- The X coordinate of the point to draw at.y
- The Y coordinate of the point to draw at.width
- The width of the rectangle to draw in.height
- The height of the rectangle to draw in.observer
- The image observer to notify as data becomes available.
true
if all the image data is available,
false
otherwise.
drawImage
public abstract boolean drawImage(Image image,
int x,
int y,
Color bgcolor,
ImageObserver observer)
Draws all of the image that is available and returns. If the image
is not completely loaded, false
is returned and
the specified iamge observer is notified as more data becomes
available.
image
- The image to draw.x
- The X coordinate of the point to draw at.y
- The Y coordinate of the point to draw at.bgcolor
- The background color to use for the image.observer
- The image observer to notify as data becomes available.
true
if all the image data is available,
false
otherwise.
drawImage
public abstract boolean drawImage(Image image,
int x,
int y,
ImageObserver observer)
Draws all of the image that is available and returns. If the image
is not completely loaded, false
is returned and
the specified iamge observer is notified as more data becomes
available.
image
- The image to draw.x
- The X coordinate of the point to draw at.y
- The Y coordinate of the point to draw at.observer
- The image observer to notify as data becomes available.
true
if all the image data is available,
false
otherwise.
drawLine
public abstract void drawLine(int x1,
int y1,
int x2,
int y2)
Draws a line between the two specified points.
x1
- The X coordinate of the first point.y1
- The Y coordinate of the first point.x2
- The X coordinate of the second point.y2
- The Y coordinate of the second point.
drawOval
public abstract void drawOval(int x,
int y,
int width,
int height)
Draws an oval that just fits within the specified rectangle.
x
- The X coordinate of the upper left corner of the rect.y
- The Y coordinate of the upper left corner of the rect.width
- The width of the rect.height
- The height of the rect.
drawPolygon
public void drawPolygon(Polygon polygon)
Draws the specified polygon.
polygon
- The polygon to draw.
drawPolygon
public abstract void drawPolygon(xPoints[] ,
yPoints[] ,
int npoints)
Draws a series of interconnected lines determined by the arrays
of corresponding x and y coordinates. The figure is closed if necessary
by connecting the first and last points.
npoints
- The number of points to draw.
drawPolyline
public abstract void drawPolyline(xPoints[] ,
yPoints[] ,
int npoints)
Draws a series of interconnected lines determined by the arrays
of corresponding x and y coordinates.
npoints
- The number of points to draw.
drawRect
public void drawRect(int x,
int y,
int width,
int height)
Draws the outline of the specified rectangle.
x
- The X coordinate of the upper left corner of the draw rect.y
- The Y coordinate of the upper left corner of the draw rect.width
- The width of the draw rect.height
- The height of the draw rect.
drawRoundRect
public abstract void drawRoundRect(int x,
int y,
int width,
int height,
int arcWidth,
int arcHeight)
Draws the outline of the specified rectangle with rounded cornders.
x
- The X coordinate of the upper left corner of the draw rect.y
- The Y coordinate of the upper left corner of the draw rect.width
- The width of the draw rect.height
- The height of the draw rect.arcWidth
- The width of the corner arcs.arcHeight
- The height of the corner arcs.
drawString
public abstract void drawString(String string,
int x,
int y)
Draws the specified string starting at the specified point.
string
- The string to draw.x
- The X coordinate of the point to draw at.y
- The Y coordinate of the point to draw at.
fill3DRect
public void fill3DRect(int x,
int y,
int width,
int height,
boolean raised)
Fills the specified rectangle with a 3D effect
x
- The X coordinate of the upper left corner of the fill rect.y
- The Y coordinate of the upper left corner of the fill rect.width
- The width of the fill rect.height
- The height of the fill rect.raised
- true
if the rectangle appears raised,
false
if it should appear etched.
fillArc
public abstract void fillArc(int x,
int y,
int width,
int height,
int arcStart,
int arcAngle)
Fills the arc define by the specified bounding rectangle and the specified
angle parameter. The arc is centered at the center of the rectangle.
The arc starts at the arcAngle position and extend for arcAngle
degrees. The degree origin is at the 3 o'clock position.
x
- The X coordinate of the upper left corner of the rect.y
- The Y coordinate of the upper left corner of the rect.width
- The width of the rect.height
- The height of the rect.arcStart
- The beginning angle of the arc.arcAngle
- The extent of the arc.
fillOval
public abstract void fillOval(int x,
int y,
int width,
int height)
Fills an oval that just fits within the specified rectangle.
x
- The X coordinate of the upper left corner of the rect.y
- The Y coordinate of the upper left corner of the rect.width
- The width of the rect.height
- The height of the rect.
fillPolygon
public void fillPolygon(Polygon polygon)
Fills the specified polygon
polygon
- The polygon to fill.
fillPolygon
public abstract void fillPolygon(xPoints[] ,
yPoints[] ,
int npoints)
Fills the polygon determined by the arrays
of corresponding x and y coordinates.
npoints
- The number of points to draw.
fillRect
public abstract void fillRect(int x,
int y,
int width,
int height)
Fills the area bounded by the specified rectangle.
x
- The X coordinate of the upper left corner of the fill rect.y
- The Y coordinate of the upper left corner of the fill rect.width
- The width of the fill rect.height
- The height of the fill rect.
fillRoundRect
public abstract void fillRoundRect(int x,
int y,
int width,
int height,
int arcWidth,
int arcHeight)
Fills the specified rectangle with rounded cornders.
x
- The X coordinate of the upper left corner of the fill rect.y
- The Y coordinate of the upper left corner of the fill rect.width
- The width of the fill rect.height
- The height of the fill rect.arcWidth
- The width of the corner arcs.arcHeight
- The height of the corner arcs.
finalize
public void finalize()
Frees the resources held by this graphics context when it is
garbage collected.
- finalize in interface Object
getClip
public abstract Shape getClip()
Returns the current clipping region as a Shape
object.
- The clipping region as a
Shape
.
getClipBounds
public abstract Rectangle getClipBounds()
Returns the bounding rectangle of the clipping region for this
graphics context.
- The bounding rectangle for the clipping region.
getClipRect
public Rectangle getClipRect()
This method is deprecated in favor of
getClipBounds()
.
Returns the bounding rectangle of the clipping region for this
graphics context.
- The bounding rectangle for the clipping region.
getColor
public abstract Color getColor()
Returns the current color for this object.
- The color for this object.
getFont
public abstract Font getFont()
Returns the current font for this graphics context.
getFontMetrics
public FontMetrics getFontMetrics()
Returns the font metrics for the current font.
- The font metrics for the current font.
getFontMetrics
public abstract FontMetrics getFontMetrics(Font font)
Returns the font metrics for the specified font.
font
- The font to return metrics for.
- The requested font metrics.
hitClip
public boolean hitClip(int x,
int y,
int width,
int height)
Returns true
if the specified rectangle intersects with the
current clip, false
otherwise.
x
- the X coordinate of the upper left corner of the test rectangley
- the Y coordinate of the upper left corner of the test rectanglewidth
- the width of the upper left corner of the test rectangleheight
- the height of the upper left corner of the test rectangle
true
if the specified rectangle intersects with the
current clip, false
otherwise
setClip
public abstract void setClip(int x,
int y,
int width,
int height)
Sets the clipping region to the rectangle determined by the specified
parameters.
x
- The X coordinate of the upper left corner of the rect.y
- The Y coordinate of the upper left corner of the rect.width
- The width of the rect.height
- The height of the rect.
setClip
public abstract void setClip(Shape clip)
Sets the clipping region to the specified Shape
.
clip
- The new clipping region.
setColor
public abstract void setColor(Color color)
Sets the current color for this object.
setFont
public abstract void setFont(Font font)
Sets the font for this graphics context to the specified value.
setPaintMode
public abstract void setPaintMode()
Sets this context into "paint" mode, where the target pixels are
completely overwritten when drawn on.
setXORMode
public abstract void setXORMode(Color color)
Sets this context info "XOR" mode, where the targe pixles are
XOR-ed when drawn on.
color
- The color to XOR against.
toString
public String toString()
Returns a string representation of this object.
- toString in interface Object
- A string representation of this object.
translate
public abstract void translate(int x,
int y)
Translates this context so that its new origin point is the point
(x, y).
x
- The new X coordinate of the origin.y
- The new Y coordinate of the origin.
Graphics.java -- Abstract Java drawing class
Copyright (C) 1999, 2000, 2002, 2004, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version.