public abstract class AbstractDeployableGraphics2D
extends java.awt.Graphics2D
AbstractDeployableGraphics2D is extended e.g. by PDEGraphics2D which provides a concrete implementation for generating Processing script output.
Other subclasses may be added in the future to support other scripting languages.
Revisions:
14.05.2013 Change class name to avoid conflicts with third-party packages.
27.05.2013 Do not clone parentGraphics in constructor
08.12.2013 Remove some left-over pde specific code
Modifier and Type | Class and Description |
---|---|
protected static class |
AbstractDeployableGraphics2D.GJPathSegmentInfo |
Modifier and Type | Field and Description |
---|---|
protected java.util.ArrayList<java.lang.Integer> |
latency
ArrayList of Integers representing the delay from the start of painting
to painting each picture in milliseconds.
|
protected java.awt.Graphics2D |
parentGraphics
Graphics2D instance supplied to an AbstractDeployableGraphics2D subclass
constructor.
|
protected java.util.ArrayList<java.util.Formatter> |
pictures
ArrayList of Formatters representing the code for each picture.
|
protected long |
startTime |
Modifier | Constructor and Description |
---|---|
protected |
AbstractDeployableGraphics2D(java.awt.Graphics2D g)
Super-constructor that should be called from sub-class constructors.
|
Modifier and Type | Method and Description |
---|---|
abstract void |
addCode(java.lang.String code)
Inserts user-specified code into the coded output at the current
location.
|
abstract void |
addComment(java.lang.String comment)
Sets a string that will be added to the code output as a comment.
|
void |
addRenderingHints(java.util.Map<?,?> hints) |
abstract void |
append(java.awt.Component c) |
abstract void |
append(java.awt.Component c,
int elapsedTime) |
abstract void |
appendCode(java.lang.String code)
Adds user-specified code to the end of the generated code.
|
void |
clearRect(int x,
int y,
int width,
int height) |
void |
clip(java.awt.Shape s) |
void |
clipRect(int x,
int y,
int width,
int height) |
void |
copyArea(int x,
int y,
int width,
int height,
int dx,
int dy) |
abstract boolean |
copyImage(java.awt.Image img,
int dx,
int dy,
int sx,
int sy,
int width,
int height,
java.awt.Color bgcolor,
java.awt.image.ImageObserver observer)
Implemented in some Graphics2D subclasses e.g.
|
void |
dispose() |
void |
draw(java.awt.Shape s) |
void |
draw3DRect(int x,
int y,
int width,
int height,
boolean raised)
AWT Graphics and Graphics2D classes generally implement draw3DRect
through calls to other methods.
|
void |
drawArc(int x,
int y,
int width,
int height,
int startAngle,
int arcAngle) |
void |
drawBytes(byte[] data,
int offset,
int length,
int x,
int y) |
void |
drawGlyphVector(java.awt.font.GlyphVector g,
float x,
float y) |
void |
drawImage(java.awt.image.BufferedImage img,
java.awt.image.BufferedImageOp op,
int x,
int y) |
boolean |
drawImage(java.awt.Image img,
java.awt.geom.AffineTransform xform,
java.awt.image.ImageObserver obs) |
boolean |
drawImage(java.awt.Image img,
int x,
int y,
java.awt.Color bgcolor,
java.awt.image.ImageObserver observer) |
boolean |
drawImage(java.awt.Image img,
int x,
int y,
java.awt.image.ImageObserver observer) |
boolean |
drawImage(java.awt.Image img,
int x,
int y,
int width,
int height,
java.awt.Color bgcolor,
java.awt.image.ImageObserver observer) |
boolean |
drawImage(java.awt.Image img,
int x,
int y,
int width,
int height,
java.awt.image.ImageObserver observer) |
boolean |
drawImage(java.awt.Image img,
int dx1,
int dy1,
int dx2,
int dy2,
int sx1,
int sy1,
int sx2,
int sy2,
java.awt.Color bgcolor,
java.awt.image.ImageObserver observer) |
boolean |
drawImage(java.awt.Image img,
int dx1,
int dy1,
int dx2,
int dy2,
int sx1,
int sy1,
int sx2,
int sy2,
java.awt.image.ImageObserver observer) |
void |
drawLine(int x1,
int y1,
int x2,
int y2) |
void |
drawOval(int x,
int y,
int width,
int height) |
void |
drawPolygon(int[] xPoints,
int[] yPoints,
int nPoints) |
void |
drawPolyline(int[] xPoints,
int[] yPoints,
int nPoints) |
void |
drawRect(int x,
int y,
int width,
int height) |
void |
drawRenderableImage(java.awt.image.renderable.RenderableImage img,
java.awt.geom.AffineTransform xform) |
void |
drawRenderedImage(java.awt.image.RenderedImage img,
java.awt.geom.AffineTransform xform) |
void |
drawRoundRect(int x,
int y,
int width,
int height,
int arcWidth,
int arcHeight) |
void |
drawString(java.text.AttributedCharacterIterator iterator,
float x,
float y) |
void |
drawString(java.text.AttributedCharacterIterator iterator,
int x,
int y) |
void |
drawString(java.lang.String str,
float x,
float y) |
void |
drawString(java.lang.String str,
int x,
int y) |
void |
fill(java.awt.Shape s) |
void |
fill3DRect(int x,
int y,
int width,
int height,
boolean raised)
AWT Graphics and Graphics2D classes generally implement fill3DRect
through calls to other methods.
|
void |
fillArc(int x,
int y,
int width,
int height,
int startAngle,
int arcAngle) |
void |
fillOval(int x,
int y,
int width,
int height) |
void |
fillPolygon(int[] xPoints,
int[] yPoints,
int nPoints) |
void |
fillRect(int x,
int y,
int width,
int height) |
void |
fillRoundRect(int x,
int y,
int width,
int height,
int arcWidth,
int arcHeight) |
int |
getActionDelay() |
java.awt.Color |
getBackground() |
java.awt.Shape |
getClip() |
java.awt.Rectangle |
getClipBounds() |
java.lang.String |
getCode() |
java.awt.Color |
getColor() |
java.awt.Composite |
getComposite() |
java.awt.GraphicsConfiguration |
getDeviceConfiguration() |
java.awt.Font |
getFont() |
java.awt.FontMetrics |
getFontMetrics(java.awt.Font f) |
java.awt.font.FontRenderContext |
getFontRenderContext() |
java.awt.Paint |
getPaint() |
java.lang.Object |
getRenderingHint(java.awt.RenderingHints.Key hintKey) |
java.awt.RenderingHints |
getRenderingHints() |
java.awt.Stroke |
getStroke() |
java.awt.geom.AffineTransform |
getTransform() |
boolean |
hit(java.awt.Rectangle rect,
java.awt.Shape s,
boolean onStroke) |
boolean |
isAlsoPaintToSource() |
abstract void |
prependCode(java.lang.String code)
Inserts user-specified code at the start of the generated code, but after
any automatically generated declarations (which are therefore potentially
available for use in that code).
|
void |
rotate(double theta) |
void |
rotate(double theta,
double x,
double y) |
void |
scale(double sx,
double sy) |
void |
setActionDelay(int actionDelay) |
void |
setAlsoPaintToSource(boolean alsoPaintToSource) |
void |
setBackground(java.awt.Color color) |
void |
setClip(int x,
int y,
int width,
int height) |
void |
setClip(java.awt.Shape clip) |
void |
setColor(java.awt.Color c) |
void |
setComposite(java.awt.Composite comp) |
void |
setFont(java.awt.Font font) |
void |
setPaint(java.awt.Paint paint) |
void |
setPaintMode() |
abstract void |
setPaintObject(java.lang.Object paintObject)
Call this routine in the painting mechanism of an AWT/Swing hierarchy.
|
void |
setRenderingHint(java.awt.RenderingHints.Key hintKey,
java.lang.Object hintValue) |
void |
setRenderingHints(java.util.Map<?,?> hints) |
void |
setStroke(java.awt.Stroke s) |
void |
setTransform(java.awt.geom.AffineTransform Tx) |
void |
setXORMode(java.awt.Color c1) |
void |
shear(double shx,
double shy) |
void |
transform(java.awt.geom.AffineTransform Tx) |
void |
translate(double tx,
double ty) |
void |
translate(int x,
int y) |
void |
write(java.io.File f) |
void |
write(java.lang.String f)
Writes the generated code to
|
protected java.awt.Graphics2D parentGraphics
protected java.util.ArrayList<java.util.Formatter> pictures
protected java.util.ArrayList<java.lang.Integer> latency
protected long startTime
protected AbstractDeployableGraphics2D(java.awt.Graphics2D g)
g
- the parent Graphics2D object for the component to be painted.public boolean isAlsoPaintToSource()
public void setAlsoPaintToSource(boolean alsoPaintToSource)
public int getActionDelay()
public void setActionDelay(int actionDelay)
actionDelay
- the actionDelay to setpublic abstract void append(java.awt.Component c, int elapsedTime)
public abstract void append(java.awt.Component c)
public java.lang.String getCode()
public void write(java.io.File f) throws java.io.IOException
java.io.IOException
public void write(java.lang.String f) throws java.io.IOException
f
- the file namejava.io.IOException
public abstract void setPaintObject(java.lang.Object paintObject)
public void paintComponent(Graphics g){
if (g instanceof AbstractDeployableGraphics2D) {
((AbstractDeployableGraphics2D)g).setPaintObject(this);
}
}
paintObject
- the paintObject to setpublic abstract void addComment(java.lang.String comment)
comment
- the comment to set as a Stringpublic abstract void prependCode(java.lang.String code)
code
- fully formatted code stringpublic abstract void addCode(java.lang.String code)
code
- fully formatted code stringpublic abstract void appendCode(java.lang.String code)
code
- the code to appendpublic abstract boolean copyImage(java.awt.Image img, int dx, int dy, int sx, int sy, int width, int height, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
img
- dx
- dy
- sx
- sy
- width
- height
- bgcolor
- observer
- public final void draw3DRect(int x, int y, int width, int height, boolean raised)
draw3DRect
in class java.awt.Graphics2D
public final void fill3DRect(int x, int y, int width, int height, boolean raised)
fill3DRect
in class java.awt.Graphics2D
public final void setTransform(java.awt.geom.AffineTransform Tx)
setTransform
in class java.awt.Graphics2D
public java.awt.geom.AffineTransform getTransform()
getTransform
in class java.awt.Graphics2D
public java.awt.Stroke getStroke()
getStroke
in class java.awt.Graphics2D
public void clip(java.awt.Shape s)
clip
in class java.awt.Graphics2D
public java.awt.font.FontRenderContext getFontRenderContext()
getFontRenderContext
in class java.awt.Graphics2D
public java.awt.Color getColor()
getColor
in class java.awt.Graphics
public void setColor(java.awt.Color c)
setColor
in class java.awt.Graphics
public void setPaintMode()
setPaintMode
in class java.awt.Graphics
public final java.awt.Font getFont()
getFont
in class java.awt.Graphics
public void setFont(java.awt.Font font)
setFont
in class java.awt.Graphics
public java.awt.Rectangle getClipBounds()
getClipBounds
in class java.awt.Graphics
public void clipRect(int x, int y, int width, int height)
clipRect
in class java.awt.Graphics
public void setClip(int x, int y, int width, int height)
setClip
in class java.awt.Graphics
public java.awt.Shape getClip()
getClip
in class java.awt.Graphics
public void setClip(java.awt.Shape clip)
setClip
in class java.awt.Graphics
public boolean hit(java.awt.Rectangle rect, java.awt.Shape s, boolean onStroke)
hit
in class java.awt.Graphics2D
public void setComposite(java.awt.Composite comp)
setComposite
in class java.awt.Graphics2D
public void setPaint(java.awt.Paint paint)
setPaint
in class java.awt.Graphics2D
public void setStroke(java.awt.Stroke s)
setStroke
in class java.awt.Graphics2D
public void setRenderingHint(java.awt.RenderingHints.Key hintKey, java.lang.Object hintValue)
setRenderingHint
in class java.awt.Graphics2D
public java.lang.Object getRenderingHint(java.awt.RenderingHints.Key hintKey)
getRenderingHint
in class java.awt.Graphics2D
public void setRenderingHints(java.util.Map<?,?> hints)
setRenderingHints
in class java.awt.Graphics2D
public void addRenderingHints(java.util.Map<?,?> hints)
addRenderingHints
in class java.awt.Graphics2D
public java.awt.RenderingHints getRenderingHints()
getRenderingHints
in class java.awt.Graphics2D
public void setXORMode(java.awt.Color c1)
setXORMode
in class java.awt.Graphics
public java.awt.FontMetrics getFontMetrics(java.awt.Font f)
getFontMetrics
in class java.awt.Graphics
public void copyArea(int x, int y, int width, int height, int dx, int dy)
copyArea
in class java.awt.Graphics
public java.awt.GraphicsConfiguration getDeviceConfiguration()
getDeviceConfiguration
in class java.awt.Graphics2D
public void translate(int x, int y)
translate
in class java.awt.Graphics2D
public void translate(double tx, double ty)
translate
in class java.awt.Graphics2D
public void rotate(double theta)
rotate
in class java.awt.Graphics2D
public void rotate(double theta, double x, double y)
rotate
in class java.awt.Graphics2D
public void scale(double sx, double sy)
scale
in class java.awt.Graphics2D
public void shear(double shx, double shy)
shear
in class java.awt.Graphics2D
public void transform(java.awt.geom.AffineTransform Tx)
transform
in class java.awt.Graphics2D
public java.awt.Paint getPaint()
getPaint
in class java.awt.Graphics2D
public java.awt.Composite getComposite()
getComposite
in class java.awt.Graphics2D
public void setBackground(java.awt.Color color)
setBackground
in class java.awt.Graphics2D
public java.awt.Color getBackground()
getBackground
in class java.awt.Graphics2D
public void draw(java.awt.Shape s)
draw
in class java.awt.Graphics2D
s
- public void drawString(java.lang.String str, int x, int y)
drawString
in class java.awt.Graphics2D
public void drawString(java.lang.String str, float x, float y)
drawString
in class java.awt.Graphics2D
public void drawString(java.text.AttributedCharacterIterator iterator, int x, int y)
drawString
in class java.awt.Graphics2D
public void drawString(java.text.AttributedCharacterIterator iterator, float x, float y)
drawString
in class java.awt.Graphics2D
public void drawGlyphVector(java.awt.font.GlyphVector g, float x, float y)
drawGlyphVector
in class java.awt.Graphics2D
public void fill(java.awt.Shape s)
fill
in class java.awt.Graphics2D
public void drawLine(int x1, int y1, int x2, int y2)
drawLine
in class java.awt.Graphics
public void drawRect(int x, int y, int width, int height)
drawRect
in class java.awt.Graphics
public void fillRect(int x, int y, int width, int height)
fillRect
in class java.awt.Graphics
public void clearRect(int x, int y, int width, int height)
clearRect
in class java.awt.Graphics
public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
drawRoundRect
in class java.awt.Graphics
public void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
fillRoundRect
in class java.awt.Graphics
public void drawOval(int x, int y, int width, int height)
drawOval
in class java.awt.Graphics
public void fillOval(int x, int y, int width, int height)
fillOval
in class java.awt.Graphics
public void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
drawArc
in class java.awt.Graphics
public void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
fillArc
in class java.awt.Graphics
public void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
drawPolyline
in class java.awt.Graphics
public void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
drawPolygon
in class java.awt.Graphics
public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
fillPolygon
in class java.awt.Graphics
public void drawBytes(byte[] data, int offset, int length, int x, int y)
drawBytes
in class java.awt.Graphics
public boolean drawImage(java.awt.Image img, int x, int y, java.awt.image.ImageObserver observer)
drawImage
in class java.awt.Graphics
public boolean drawImage(java.awt.Image img, int x, int y, int width, int height, java.awt.image.ImageObserver observer)
drawImage
in class java.awt.Graphics
public boolean drawImage(java.awt.Image img, int x, int y, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
drawImage
in class java.awt.Graphics
public boolean drawImage(java.awt.Image img, int x, int y, int width, int height, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
drawImage
in class java.awt.Graphics
public boolean drawImage(java.awt.Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, java.awt.image.ImageObserver observer)
drawImage
in class java.awt.Graphics
public boolean drawImage(java.awt.Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, java.awt.Color bgcolor, java.awt.image.ImageObserver observer)
drawImage
in class java.awt.Graphics
public boolean drawImage(java.awt.Image img, java.awt.geom.AffineTransform xform, java.awt.image.ImageObserver obs)
drawImage
in class java.awt.Graphics2D
public void drawImage(java.awt.image.BufferedImage img, java.awt.image.BufferedImageOp op, int x, int y)
drawImage
in class java.awt.Graphics2D
public void drawRenderedImage(java.awt.image.RenderedImage img, java.awt.geom.AffineTransform xform)
drawRenderedImage
in class java.awt.Graphics2D
public void drawRenderableImage(java.awt.image.renderable.RenderableImage img, java.awt.geom.AffineTransform xform)
drawRenderableImage
in class java.awt.Graphics2D
public void dispose()
dispose
in class java.awt.Graphics