summaryrefslogtreecommitdiff
path: root/java/awt/Graphics2D.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/awt/Graphics2D.java')
-rw-r--r--java/awt/Graphics2D.java220
1 files changed, 211 insertions, 9 deletions
diff --git a/java/awt/Graphics2D.java b/java/awt/Graphics2D.java
index de71993ae..53d7ca5e6 100644
--- a/java/awt/Graphics2D.java
+++ b/java/awt/Graphics2D.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2002, 2004 Free Software Foundation
+/* Copyright (C) 2000, 2002, 2004, 2006, Free Software Foundation
This file is part of GNU Classpath.
@@ -45,10 +45,35 @@ import java.awt.image.BufferedImageOp;
import java.awt.image.ImageObserver;
import java.awt.image.RenderedImage;
import java.awt.image.renderable.RenderableImage;
+import java.awt.print.PageFormat;
+import java.awt.print.Printable;
import java.text.AttributedCharacterIterator;
import java.util.Map;
/**
+ * An abstract class defining a device independent two-dimensional vector
+ * graphics API. Concrete subclasses implement this API for output of
+ * vector graphics to: (*)
+ * <p>
+ * <ul>
+ * <li>a {@link javax.swing.JComponent} - in the
+ * {@link javax.swing.JComponent#paint(Graphics)} method, the incoming
+ * {@link Graphics} should always be an instance of
+ * <code>Graphics2D</code> (*);</li>
+ * <li>a {@link BufferedImage} - see
+ * {@link BufferedImage#createGraphics()} (*);</li>
+ * <li>a {@link PrinterJob} - in the
+ * {@link Printable#print(Graphics, PageFormat, int)} method, the incoming
+ * {@link Graphics} should always be an instance of <code>Graphics2D</code>
+ * (*).</li>
+ * </ul>
+ * <p>
+ * (*) Support for this API is not fully implemented in GNU Classpath yet.
+ * <p>
+ * Third party libraries provide support for output to other formats via this
+ * API, including encapsulated postscript (EPS), portable document format (PDF),
+ * and scalable vector graphics (SVG).
+ *
* @author Rolf W. Rasmussen (rolfwr@ii.uib.no)
*/
public abstract class Graphics2D extends Graphics
@@ -70,6 +95,14 @@ public abstract class Graphics2D extends Graphics
super.fill3DRect(x, y, width, height, raised);
}
+ /**
+ * Draws an outline around a shape using the current stroke and paint.
+ *
+ * @param shape the shape (<code>null</code> not permitted).
+ *
+ * @see #getStroke()
+ * @see #getPaint()
+ */
public abstract void draw(Shape shape);
public abstract boolean drawImage(Image image, AffineTransform xform,
@@ -86,18 +119,57 @@ public abstract class Graphics2D extends Graphics
public abstract void drawRenderableImage(RenderableImage image,
AffineTransform xform);
+ /**
+ * Draws a string at the specified location, using the current font.
+ *
+ * @param text the string to draw.
+ * @param x the x-coordinate.
+ * @param y the y-coordinate.
+ *
+ * @see Graphics#setFont(Font)
+ */
public abstract void drawString(String text, int x, int y);
+ /**
+ * Draws a string at the specified location, using the current font.
+ *
+ * @param text the string to draw.
+ * @param x the x-coordinate.
+ * @param y the y-coordinate.
+ *
+ * @see Graphics#setFont(Font)
+ */
public abstract void drawString(String text, float x, float y);
+ /**
+ * Draws an attributed string at the specified location.
+ *
+ * @param iterator the source of the attributed text.
+ * @param x the x-coordinate.
+ * @param y the y-coordinate.
+ */
public abstract void drawString(AttributedCharacterIterator iterator,
int x, int y);
+ /**
+ * Draws an attributed string at the specified location.
+ *
+ * @param iterator the source of the attributed text.
+ * @param x the x-coordinate.
+ * @param y the y-coordinate.
+ */
public abstract void drawString(AttributedCharacterIterator iterator,
float x, float y);
- // public abstract void drawGlyphVector(GlyphVector g, float x, float y);
-
+ /**
+ * Fills the interior of the specified <code>shape</code> using the current
+ * paint.
+ *
+ * @param shape the shape to fill (<code>null</code> not permitted).
+ *
+ * @see #draw(Shape)
+ * @see #getPaint()
+ */
public abstract void fill(Shape shape);
public abstract boolean hit(Rectangle rect, Shape text,
@@ -105,21 +177,72 @@ public abstract class Graphics2D extends Graphics
public abstract GraphicsConfiguration getDeviceConfiguration();
+ /**
+ * Sets the current compositing rule.
+ *
+ * @param comp the composite.
+ *
+ * @see #getComposite()
+ */
public abstract void setComposite(Composite comp);
+ /**
+ * Sets the paint to be used for subsequent drawing operations.
+ *
+ * @param paint the paint (<code>null</code> not permitted).
+ *
+ * @see #getPaint()
+ */
public abstract void setPaint(Paint paint);
+ /**
+ * Sets the stroke to be used for subsequent drawing operations.
+ *
+ * @param stroke the stroke (<code>null</code> not permitted).
+ *
+ * @see #getStroke()
+ */
public abstract void setStroke(Stroke stroke);
+ /**
+ * Adds or updates a hint in the current rendering hints table.
+ *
+ * @param hintKey the hint key.
+ * @param hintValue the hint value.
+ */
public abstract void setRenderingHint(RenderingHints.Key hintKey,
Object hintValue);
+ /**
+ * Returns the current value of a rendering hint.
+ *
+ * @param hintKey the key for the hint.
+ *
+ * @return The value for the specified hint.
+ */
public abstract Object getRenderingHint(RenderingHints.Key hintKey);
+ /**
+ * Replaces the current rendering hints with the supplied hints.
+ *
+ * @param hints the hints.
+ *
+ * @see #addRenderingHints(Map)
+ */
public abstract void setRenderingHints(Map<?,?> hints);
+ /**
+ * Adds/updates the rendering hint.
+ *
+ * @param hints the hints to add or update.
+ */
public abstract void addRenderingHints(Map<?,?> hints);
+ /**
+ * Returns the current rendering hints.
+ *
+ * @return The current rendering hints.
+ */
public abstract RenderingHints getRenderingHints();
public abstract void translate(int x, int y);
@@ -134,25 +257,104 @@ public abstract class Graphics2D extends Graphics
public abstract void shear(double shearX, double shearY);
- public abstract void transform(AffineTransform Tx);
+ /**
+ * Sets the current transform to a concatenation of <code>transform</code>
+ * and the existing transform.
+ *
+ * @param transform the transform.
+ */
+ public abstract void transform(AffineTransform transform);
- public abstract void setTransform(AffineTransform Tx);
-
+ /**
+ * Sets the current transform. If the caller specifies a <code>null</code>
+ * transform, this method should set the current transform to the
+ * identity transform.
+ *
+ * @param transform the transform (<code>null</code> permitted).
+ *
+ * @see #getTransform()
+ */
+ public abstract void setTransform(AffineTransform transform);
+
+ /**
+ * Returns the current transform.
+ *
+ * @return The current transform.
+ *
+ * @see #setTransform(AffineTransform)
+ */
public abstract AffineTransform getTransform();
+ /**
+ * Returns the current paint.
+ *
+ * @return The current paint.
+ *
+ * @see #setPaint(Paint)
+ */
public abstract Paint getPaint();
+ /**
+ * Returns the current compositing rule.
+ *
+ * @return The current compositing rule.
+ *
+ * @see #setComposite(Composite)
+ */
public abstract Composite getComposite();
+ /**
+ * Sets the background color (used by the
+ * {@link Graphics#clearRect(int, int, int, int)} method).
+ *
+ * @param color the color.
+ *
+ * @see #getBackground()
+ */
public abstract void setBackground(Color color);
+ /**
+ * Returns the color used by the
+ * {@link Graphics#clearRect(int, int, int, int)} method.
+ *
+ * @return The background color.
+ *
+ * @see #setBackground(Color)
+ */
public abstract Color getBackground();
+ /**
+ * Returns the current stroke.
+ *
+ * @return The current stroke.
+ *
+ * @see #setStroke(Stroke)
+ */
public abstract Stroke getStroke();
+ /**
+ * Sets the clip region to the intersection of the current clipping region
+ * and <code>s</code>.
+ *
+ * @param s the shape to intersect with the current clipping region.
+ *
+ * @see Graphics#setClip(Shape)
+ */
public abstract void clip(Shape s);
- public abstract FontRenderContext getFontRenderContext ();
-
- public abstract void drawGlyphVector (GlyphVector g, float x, float y);
+ /**
+ * Returns the font render context.
+ *
+ * @return The font render context.
+ */
+ public abstract FontRenderContext getFontRenderContext();
+
+ /**
+ * Draws a glyph vector at the specified location.
+ *
+ * @param g the glyph vector.
+ * @param x the x-coordinate.
+ * @param y the y-coordinate.
+ */
+ public abstract void drawGlyphVector(GlyphVector g, float x, float y);
}