public class PDEGraphics2D extends AbstractDeployableGraphics2D implements java.lang.Cloneable
PDEGraphics2D - a Graphics2D subclass that generates a script using the Processing graphics language.
The generated script may be displayed using the open-source, multi-platform Processing application and displayed in web pages using the processing.js javascript when graphics will be rendered to an HTML5 canvas element.
Usage:
PDEGraphics2D instances are used in AWT/Swing component paint methods in the
same way as any other Graphics2D class object. When painting is complete, a
Processing script can be accessed by calling the getCode() method on
the instance which returns the script as a String. Alternatively, call one of
the write(...) methods to save the code to file. These methods
optionally support the creation of HTML files, together with CSS style
sheets, to display the generated script in an HTML5 browser canvas.
The methods are not thread-safe. All painting should be done on the EDT.
To create a PDEGraphics2D instance, pass the constructor an instance of a standard Graphics2D object, together with the size of the canvas to paint:
PDEGraphics2D g= new PDEGraphics2D(Graphics2D g, int w, int h)
or
PDEGraphics2D g= new PDEGraphics2D(Graphics2D g, Dimension d)
Alternatively, pass the component to paint as the input to one of the static paint methods:
PDEGraphics2D g=PDEGraphics2D.paint(Component c);
PDEGraphics2D g=PDEGraphics2D.paint(JComponent c);
PDEGraphics2D g=PDEGraphics2D.paint(Window c);
PDEGraphics2D g=PDEGraphics2D.paint(JApplet c);
Creating animations:
The PDEGraphics2D append() methods can be used to append paints to
PDEGraphics2D instance to create animations using Processing. The
append() method should be called after the first use of the instance
to paint a component.
Write methods:
The write methods create files following a convention that is
intended to facilitate the use of the generated scripts with both the Processing application
and processing.js
javascript
The convention is as follows
If you write a file named e.g. "script_name.pde", the file will be created in a folder named "script_name". This folder will be created if it does not exist. Thus a file specified as "/Users/ML/Documents/script_name", would create "/Users/ML/Documents/script_name/script_name.pde" - the .pde extension will be added if not specified.
If the the paint methods called with the PDEGraphics2D instance include calls
to the drawImage methods, the required images will be added to a
"/script_name/data/" folder as PNG images. Gradient paints, including
MultipleGradientPaints, are also supported through drawing images and require
a /data folder.
The write methods also support the creation of HTML files. If the
htmlFlag on input is true, the following files can be
created:
script_name.html - a simple file that shows only the graphics
index.html - a styled file that includes titles etc
PDEGraphics2D.css - styling sheet for index.html
index.xml - an xml file describing the contents of the /data folder
htppd.py - a Python 2.7 script that displays index.html in the system default brpwser using a local server. Use this if the default browser's security settings prevent JavaScript accessing the local file system directly.
See the write{)} methods for full details of the options available.PDEGraphics2D has been tested with the following browsers
Adding code and comments to the scripts:
Several methods allow the generated script to be modified on-the-fly when users have access to the paint methods of the components being painted. These methods are defined in AbstractDeployableGraphics2D, the PDEGraphics superclass.Titles etc
PDEGraphics can only render graphics normally rendered through Java2D graphics calls. When painting using a proprietary, platform-specific, Java look-and-feel, some features may be painted using native graphics calls and will not appear in the generated scripts. For example, JFrames will not be decorated with close/maximize buttons etc.
In addition, some components may not render fully perhaps because the componentUIs are cloning the wrapped Graphics2D instance instead of the PDEGraphics2D instance or maybe generating a new instance with a call to Component.getGraphics(). This seems to affect mainly the Mac Aqua L&F. Some fixes/workarounds are included for specific L&Fs and AWT/Swing components where the cause of the problem has been identified.
Revisions: 14.05.2013 corrected drawString(AttributedCharacterIterator iterator, float x, float y). 14.05.2013 corrected handling of special cases from processShape(...). 15.05.2013 improved support for quadTo: now built from flattened pathiterator: heavy-handed perhaps but works with any control points and produces relatively compact output (2-3 lines of processing code per SEG_QUADTO). 15.05.2013 Add support for rotated text. 18.05.2013 Improved write options, CSS options etc. 27.05.2013 Minor improvements: colors, sizing of images.AbstractDeployableGraphics2D.GJPathSegmentInfo| Modifier and Type | Field and Description |
|---|---|
static int |
aquaFixes |
static int |
aquaJButton
MacOS Aqua L&F
|
latency, parentGraphics, pictures, startTime| Constructor and Description |
|---|
PDEGraphics2D(java.awt.Graphics2D g,
java.awt.Dimension d)
Constructs an initialised PDEGraphics2D object of specified width and
height.
|
PDEGraphics2D(java.awt.Graphics2D g,
int w,
int h)
Constructs an initialised PDEGraphics2D object of specified width and
height.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addCode(java.lang.String code)
Inserts user-specified code into the coded output at the current
location.
|
void |
addComment(java.lang.String comment)
Sets a string that will be added to the code output as a comment.
|
void |
addKeyWord(java.lang.String word) |
void |
append(java.awt.Component c)
Appends a paint of the specified component to this instance.
|
void |
append(java.awt.Component c,
int elapsedTime)
Appends a paint of the specified component to this instance.
|
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) |
protected java.lang.Object |
clone() |
void |
copyArea(int x,
int y,
int width,
int height,
int dx,
int dy) |
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.
|
java.awt.Graphics |
create() |
java.awt.Graphics |
create(int x,
int y,
int width,
int height) |
void |
draw(java.awt.Shape s) |
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 vec,
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 observer) |
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 w,
int h) |
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 |
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 w,
int h) |
void |
fillRoundRect(int x,
int y,
int width,
int height,
int arcWidth,
int arcHeight) |
java.lang.String |
getCode() |
java.lang.String |
getDescription()
Returns the description.
|
java.util.ArrayList<java.lang.String> |
getKeyWords()
Returns a shallow copy the the keywords.
|
int |
getLFFixes()
Returns an integer value, the bits of which indicate the use of
fixes/workarounds for the look and feel in use.
|
java.lang.String |
getTitle()
Returns the title.
|
static java.lang.String |
getUserHTML() |
boolean |
isTextAsShapes()
Return the textAsShapes setting.
|
boolean |
isVerbose() |
static PDEGraphics2D |
paint(java.awt.Component c)
Convenience static method for painting an AWT Component and its contents.
|
static PDEGraphics2D |
paint(javax.swing.JApplet c)
Convenience static method for painting an Swing JApplet and its contents.
|
static PDEGraphics2D |
paint(javax.swing.JComponent c)
Convenience static method for painting an Swing JComponent and its
contents.
|
static PDEGraphics2D |
paint(java.awt.Window c)
Convenience static method for painting an AWT Window and its contents.
|
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 |
setColor(java.awt.Color c) |
void |
setDescription(java.lang.String description)
Creates a description.
|
void |
setKeyWords(java.util.ArrayList<java.lang.String> keyWords)
Sets the keyWords list.
|
void |
setPaint(java.awt.Paint p) |
void |
setPaintObject(java.lang.Object referenceObject)
Call this routine in the painting mechanism of an AWT/Swing hierarchy.
|
void |
setStroke(java.awt.Stroke s2) |
void |
setTextAsShapes(boolean textAsShapes)
Sets the textAsShapes setting.
|
void |
setTitle(java.lang.String title)
Creates a title.
|
static void |
setUserHTML(java.lang.String aUserHTML) |
void |
setVerbose(boolean verbose) |
void |
write(java.io.File f,
boolean htmlFlag,
java.lang.String jsLoc,
java.lang.String cssLoc,
boolean httpdFlag)
Writes the generated code to file.
|
void |
write(java.lang.String fileName)
Writes the generated code to file.
|
void |
write(java.lang.String fileName,
boolean htmlFlag)
Writes the generated code to file.
|
void |
write(java.lang.String fileName,
boolean htmlFlag,
java.lang.String jsLoc)
Writes the generated code to file.
|
void |
write(java.lang.String fileName,
boolean htmlFlag,
java.lang.String jsLoc,
java.lang.String cssLoc,
boolean httpdFlag)
Writes the generated code to file.
|
addRenderingHints, clip, clipRect, dispose, draw3DRect, fill3DRect, getActionDelay, getBackground, getClip, getClipBounds, getColor, getComposite, getDeviceConfiguration, getFont, getFontMetrics, getFontRenderContext, getPaint, getRenderingHint, getRenderingHints, getStroke, getTransform, hit, isAlsoPaintToSource, rotate, rotate, scale, setActionDelay, setAlsoPaintToSource, setBackground, setClip, setClip, setComposite, setFont, setPaintMode, setRenderingHint, setRenderingHints, setTransform, setXORMode, shear, transform, translate, translate, writepublic static final int aquaJButton
public static final int aquaFixes
public PDEGraphics2D(java.awt.Graphics2D g,
int w,
int h)
g - Graphics2D object for the java component to be drawn.w - the width of the componenth - the height of the componentpublic PDEGraphics2D(java.awt.Graphics2D g,
java.awt.Dimension d)
g - Graphics2D object for the java component to be drawn.d - Dimension of the componentpublic static PDEGraphics2D paint(java.awt.Component c)
c - the component to paintpublic static PDEGraphics2D paint(javax.swing.JComponent c)
c - the component to paintpublic static PDEGraphics2D paint(java.awt.Window c)
c - the component to paintpublic static PDEGraphics2D paint(javax.swing.JApplet c)
c - the component to paintpublic int getLFFixes()
public java.util.ArrayList<java.lang.String> getKeyWords()
public void setKeyWords(java.util.ArrayList<java.lang.String> keyWords)
keyWords - the keyWords to setpublic void addKeyWord(java.lang.String word)
public java.lang.String getTitle()
public void setTitle(java.lang.String title)
title - the title to setpublic java.lang.String getDescription()
public void setDescription(java.lang.String description)
description - the description to setpublic boolean isTextAsShapes()
public void setTextAsShapes(boolean textAsShapes)
textAsShapes - the textAsShapes to setpublic java.awt.Graphics create()
create in class java.awt.Graphicspublic java.awt.Graphics create(int x,
int y,
int width,
int height)
create in class java.awt.Graphicspublic void append(java.awt.Component c,
int elapsedTime)
append in class AbstractDeployableGraphics2Dc - the component to paintelapsedTime - the time to paint this component in the deployed code.public void append(java.awt.Component c)
append(c, elapsedTime) where elapsedTime is
the interval in milliseconds between the instantiation of this instance
and this call to append.append in class AbstractDeployableGraphics2Dc - the component to paintpublic void write(java.lang.String fileName)
throws java.io.IOException
write in class AbstractDeployableGraphics2DfileName - - String describing the file to write to
The remaining arguments are relevant only when htmlFlag==true and will be ignored otherwise.
Notes:
A file named "FILENAME.pde" will always be added to a folder name
"FILENAME": the folder will be created if required following the usual
Processing.app convention. If that folder already exists, any existing
files will be overwritten
Additional data such as images will be written to a "/data"
sub-folder.
java.io.IOExceptionpublic void write(java.lang.String fileName,
boolean htmlFlag)
throws java.io.IOException
fileName - - String describing the file to write tohtmlFlag - - if true, html files to view the script will also be
created.
The remaining arguments are relevant only when htmlFlag==true and will be ignored otherwise.
Notes:
A file named "FILENAME.pde" will always be added to a folder name
"FILENAME": the folder will be created if required following the usual
Processing.app convention. If that folder already exists, any existing
files will be overwritten
Additional data such as images will be written to a "/data"
sub-folder.
java.io.IOExceptionpublic void write(java.lang.String fileName,
boolean htmlFlag,
java.lang.String jsLoc)
throws java.io.IOException
fileName - - String describing the file to write tohtmlFlag - - if true, html files to view the script will also be
created.
The remaining arguments are relevant only when htmlFlag==true and will be ignored otherwise.
jsLoc - - String specifying the location of the processing.js file.
If this is "processing.js" or "./processing.js", a copy of the JavaScript
file will be created in the folder alongside the html files. Otherwise,
the string should point to the location of a processing JavaScript file
relative to the HTML file folder OR
describe a URL.
Notes:
Notes:
A file named "FILENAME.pde" will always be added to a folder name
"FILENAME": the folder will be created if required following the usual
Processing.app convention. If that folder already exists, any existing
files will be overwritten
Additional data such as images will be written to a "/data"
sub-folder.
java.io.IOExceptionpublic void write(java.lang.String fileName,
boolean htmlFlag,
java.lang.String jsLoc,
java.lang.String cssLoc,
boolean httpdFlag)
throws java.io.IOException
fileName - - String describing the file to write tohtmlFlag - - if true, html files to view the script will also be
created.
The remaining arguments are relevant only when htmlFlag==true and will be ignored otherwise.
jsLoc - - String specifying the location of the processing.js file.
If this is "processing.js" or "./processing.js", a copy of the JavaScript
file will be created in the folder alongside the html files. Otherwise,
the string should point to the location of a processing JavaScript file
relative to the HTML file folder OR
describe a URL.cssLoc - - String specifying the location of the CSS styling. If
this is "PDEGraphics2D.css" or "./PDEGraphics2D.css", a copy of the
default CSS settings will be created in the folder alongside the html
files. The the string may also point to the location of a suitable CSS
file relative to the HTML file folder OR
describe a URL. Alternatively, if cssLoc is "index.html" or
"./index.html" the default CSS settings will be embedded in the heml
file.httpdFlag - If true, a Python 2.7 script ("httpd.py") will be
created alongside the html files which will set up a local server and
display index.html in the system browser. This can be useful if system or
security settings prevent access to the local file system. The port to
use will be obtained by the script from the OS.
Notes:
A file named "FILENAME.pde" will always be added to a folder name
"FILENAME": the folder will be created if required following the usual
Processing.app convention. If that folder already exists, any existing
files will be overwritten
Additional data such as images will be written to a "/data"
sub-folder.
java.io.IOExceptionpublic void write(java.io.File f,
boolean htmlFlag,
java.lang.String jsLoc,
java.lang.String cssLoc,
boolean httpdFlag)
throws java.io.IOException
f - - the File to write tohtmlFlag - - if true, html files to view the script will also be
created.
The remaining arguments are relevant only when htmlFlag==true and will be ignored otherwise.
jsLoc - - String specifying the location of the processing.js file.
If this is "processing.js" or "./processing.js", a copy of the JavaScript
file will be created in the folder alongside the html files. Otherwise,
the string should point to the location of a processing JavaScript file
relative to the HTML file folder OR
describe a URL.cssLoc - - String specifying the location of the CSS styling. If
this is "PDEGraphics2D.css" or "./PDEGraphics2D.css", a copy of the
default CSS settings will be created in the folder alongside the html
files. The the string may also point to the location of a suitable CSS
file relative to the HTML file folder OR
describe a URL. Alternatively, if cssLoc is "index.html" or
"./index.html" the default CSS settings will be embedded in the heml
file.httpdFlag - If true, a Python 2.7 script ("httpd.py") will be
created alongside the html files which will set up a local server and
display index.html in the system browser. This can be useful if system or
security settings prevent access to the local file system. The port to
use will be obtained by the script from the OS.
Notes:
A file named "FILENAME.pde" will always be added to a folder name
"FILENAME": the folder will be created if required following the usual
Processing.app convention. If that folder already exists, any existing
files will be overwritten
Additional data such as images will be written to a "/data"
sub-folder.
java.io.IOExceptionpublic void setStroke(java.awt.Stroke s2)
setStroke in class AbstractDeployableGraphics2Dpublic void draw(java.awt.Shape s)
draw in class AbstractDeployableGraphics2Dpublic void fill(java.awt.Shape s)
fill in class AbstractDeployableGraphics2Dpublic void fillRect(int x,
int y,
int w,
int h)
fillRect in class AbstractDeployableGraphics2Dpublic void drawRect(int x,
int y,
int w,
int h)
drawRect in class AbstractDeployableGraphics2Dpublic void drawString(java.lang.String str,
int x,
int y)
drawString in class AbstractDeployableGraphics2Dpublic void drawString(java.text.AttributedCharacterIterator iterator,
int x,
int y)
drawString in class AbstractDeployableGraphics2Dpublic void drawString(java.lang.String str,
float x,
float y)
drawString in class AbstractDeployableGraphics2Dpublic void drawString(java.text.AttributedCharacterIterator iterator,
float x,
float y)
drawString in class AbstractDeployableGraphics2Dpublic void drawGlyphVector(java.awt.font.GlyphVector vec,
float x,
float y)
drawGlyphVector in class AbstractDeployableGraphics2Dpublic void drawLine(int x1,
int y1,
int x2,
int y2)
drawLine in class AbstractDeployableGraphics2Dpublic void clearRect(int x,
int y,
int width,
int height)
clearRect in class AbstractDeployableGraphics2Dpublic void drawRoundRect(int x,
int y,
int width,
int height,
int arcWidth,
int arcHeight)
drawRoundRect in class AbstractDeployableGraphics2Dpublic void fillRoundRect(int x,
int y,
int width,
int height,
int arcWidth,
int arcHeight)
fillRoundRect in class AbstractDeployableGraphics2Dpublic void drawOval(int x,
int y,
int width,
int height)
drawOval in class AbstractDeployableGraphics2Dpublic void fillOval(int x,
int y,
int width,
int height)
fillOval in class AbstractDeployableGraphics2Dpublic void drawArc(int x,
int y,
int width,
int height,
int startAngle,
int arcAngle)
drawArc in class AbstractDeployableGraphics2Dpublic void fillArc(int x,
int y,
int width,
int height,
int startAngle,
int arcAngle)
fillArc in class AbstractDeployableGraphics2Dpublic void drawPolyline(int[] xPoints,
int[] yPoints,
int nPoints)
drawPolyline in class AbstractDeployableGraphics2Dpublic void drawPolygon(int[] xPoints,
int[] yPoints,
int nPoints)
drawPolygon in class AbstractDeployableGraphics2Dpublic void fillPolygon(int[] xPoints,
int[] yPoints,
int nPoints)
fillPolygon in class AbstractDeployableGraphics2Dpublic void setColor(java.awt.Color c)
setColor in class AbstractDeployableGraphics2Dpublic void setPaint(java.awt.Paint p)
setPaint in class AbstractDeployableGraphics2Dpublic 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)
AbstractDeployableGraphics2DcopyImage in class AbstractDeployableGraphics2Dpublic void copyArea(int x,
int y,
int width,
int height,
int dx,
int dy)
copyArea in class AbstractDeployableGraphics2Dpublic void drawBytes(byte[] data,
int offset,
int length,
int x,
int y)
drawBytes in class AbstractDeployableGraphics2Dpublic 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 AbstractDeployableGraphics2Dpublic 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 AbstractDeployableGraphics2Dpublic boolean drawImage(java.awt.Image img,
int x,
int y,
java.awt.image.ImageObserver observer)
drawImage in class AbstractDeployableGraphics2Dpublic boolean drawImage(java.awt.Image img,
int x,
int y,
int width,
int height,
java.awt.image.ImageObserver observer)
drawImage in class AbstractDeployableGraphics2Dpublic boolean drawImage(java.awt.Image img,
int x,
int y,
java.awt.Color bgcolor,
java.awt.image.ImageObserver observer)
drawImage in class AbstractDeployableGraphics2Dpublic 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 AbstractDeployableGraphics2Dpublic boolean drawImage(java.awt.Image img,
java.awt.geom.AffineTransform xform,
java.awt.image.ImageObserver observer)
drawImage in class AbstractDeployableGraphics2Dpublic void drawImage(java.awt.image.BufferedImage img,
java.awt.image.BufferedImageOp op,
int x,
int y)
drawImage in class AbstractDeployableGraphics2Dpublic void drawRenderedImage(java.awt.image.RenderedImage img,
java.awt.geom.AffineTransform xform)
drawRenderedImage in class AbstractDeployableGraphics2Dpublic void drawRenderableImage(java.awt.image.renderable.RenderableImage img,
java.awt.geom.AffineTransform xform)
drawRenderableImage in class AbstractDeployableGraphics2Dpublic java.lang.String getCode()
getCode in class AbstractDeployableGraphics2Dpublic void setPaintObject(java.lang.Object referenceObject)
AbstractDeployableGraphics2D
public void paintComponent(Graphics g){
if (g instanceof AbstractDeployableGraphics2D) {
((AbstractDeployableGraphics2D)g).setPaintObject(this);
}
}
setPaintObject in class AbstractDeployableGraphics2DreferenceObject - the paintObject to setpublic void addComment(java.lang.String comment)
AbstractDeployableGraphics2DaddComment in class AbstractDeployableGraphics2Dcomment - the comment to set as a Stringpublic void addCode(java.lang.String code)
AbstractDeployableGraphics2DaddCode in class AbstractDeployableGraphics2Dcode - fully formatted code stringpublic void prependCode(java.lang.String code)
AbstractDeployableGraphics2DprependCode in class AbstractDeployableGraphics2Dcode - fully formatted code stringpublic void appendCode(java.lang.String code)
AbstractDeployableGraphics2DappendCode in class AbstractDeployableGraphics2Dcode - the code to appendprotected java.lang.Object clone()
clone in class java.lang.Objectpublic boolean isVerbose()
public void setVerbose(boolean verbose)
verbose - the verbose to setpublic static java.lang.String getUserHTML()
public static void setUserHTML(java.lang.String aUserHTML)
aUserHTML - the userHTML to set