Class HtmlGraphics2d
java.lang.Object
java.awt.Graphics
java.awt.Graphics2D
nl.tudelft.simulation.dsol.web.animation.HtmlGraphics2d
HTMLGraphics.java.
Copyright (c) 2013-2023 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
- Author:
- Alexander Verbraeck
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) AffineTransformthe current affine transform.(package private) Colorthe current color of the background for drawing.(package private) Canvasthe drawing canvas.(package private) Colorthe current drawing color.(package private) StringBufferthe commands to send over the channel to the HTML5 code.(package private) CompositeTODO: the current composite.(package private) Fontthe current font.(package private) FontMetricsthe cached current font properties.(package private) Paintthe current paint.(package private) RenderingHintsTODO: the current rendering hints.(package private) Strokethe current stroke. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidadd AffineTransform to the command.protected voidadd Color to the command.protected voidAdd a draw command.protected voidadd font data to the command, font-name, font-size, bold/italic/plain.voidaddRenderingHints(Map<?, ?> hints) protected voidaddTransformDraw(String drawCommand, Object... params) Add command, transform.m11(h-scale), transform.m12(h-skew), transform.m21(v-skew), transform.m22(v-scale), transform.dx(h-translate), transform.dy(v-translate), linecolor.r, linecolor.g, linecolor.b, linecolor.alpha, linecolor.transparency, line-width, params...protected voidaddTransformFill(String fillCommand, Object... params) Add fill command, transform.m11(h-scale), transform.m12(h-skew), transform.m21(v-skew), transform.m22(v-scale), transform.dx(h-translate), transform.dy(v-translate), color.r, color.g, color.b, color.alpha, color.transparency, params...protected voidaddTransformPathDouble(Path2D.Double path, boolean fill) Add a path2D to the command.protected voidaddTransformPathFloat(Path2D.Float path, boolean fill) Add a path2D to the command.protected voidaddTransformText(String drawCommand, Object... params) Add string, 0=command, 1=transform.m11(h-scale), 2=transform.m12(h-skew), 3=transform.m21(v-skew), 4=transform.m22(v-scale), 5=transform.dx(h-translate), 6=transform.dy(v-translate), 7=color.r, 8=color.g, 9=color.b, 10=color.alpha, 11=color.transparency, 12=fontname, 13=fontsize, 14=fontstyle(normal/italic/bold), 15=x, 16=y, 17=text.voidClear the commands and put the start tag in.voidclearRect(int x, int y, int width, int height) voidvoidclipRect(int x, int y, int width, int height) Close the commands and put the end tag in.voidcopyArea(int x, int y, int width, int height, int dx, int dy) create()voiddispose()voidvoiddrawArc(int x, int y, int width, int height, int startAngle, int arcAngle) protected voiddrawFillShape(Shape shape, boolean fill) Draw or fill a shape.voiddrawGlyphVector(GlyphVector g, float x, float y) voiddrawImage(BufferedImage img, BufferedImageOp op, int x, int y) booleandrawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer) booleandrawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer) booleandrawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer) booleandrawImage(Image img, int x, int y, int width, int height, ImageObserver observer) booleandrawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer) booleandrawImage(Image img, int x, int y, ImageObserver observer) booleandrawImage(Image img, AffineTransform xform, ImageObserver obs) voiddrawLine(int x1, int y1, int x2, int y2) voiddrawOval(int x, int y, int width, int height) voiddrawPolygon(int[] xPoints, int[] yPoints, int nPoints) voiddrawPolyline(int[] xPoints, int[] yPoints, int nPoints) voiddrawRenderableImage(RenderableImage img, AffineTransform xform) voiddrawRenderedImage(RenderedImage img, AffineTransform xform) voiddrawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) voiddrawString(String str, float x, float y) voiddrawString(String str, int x, int y) voiddrawString(AttributedCharacterIterator iterator, float x, float y) voiddrawString(AttributedCharacterIterator iterator, int x, int y) voidvoidfillArc(int x, int y, int width, int height, int startAngle, int arcAngle) voidfillOval(int x, int y, int width, int height) voidfillPolygon(int[] xPoints, int[] yPoints, int nPoints) voidfillRect(int x, int y, int width, int height) voidfillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) getClip()getColor()getFont()getPaint()getRenderingHint(RenderingHints.Key hintKey) booleanvoidrotate(double theta) voidrotate(double theta, double x, double y) voidscale(double sx, double sy) voidsetBackground(Color color) voidsetClip(int x, int y, int width, int height) voidvoidvoidsetComposite(Composite comp) voidvoidvoidvoidsetRenderingHint(RenderingHints.Key hintKey, Object hintValue) voidsetRenderingHints(Map<?, ?> hints) voidvoidvoidsetXORMode(Color c1) voidshear(double shx, double shy) voidvoidtranslate(double tx, double ty) voidtranslate(int x, int y) Methods inherited from class java.awt.Graphics2D
draw3DRect, fill3DRectMethods inherited from class java.awt.Graphics
create, drawBytes, drawChars, drawPolygon, drawRect, fillPolygon, finalize, getClipBounds, getClipRect, getFontMetrics, hitClip, toString
-
Field Details
-
background
Color backgroundthe current color of the background for drawing. -
color
Color colorthe current drawing color. -
font
Font fontthe current font. -
canvas
Canvas canvasthe drawing canvas. -
fontMetrics
FontMetrics fontMetricsthe cached current font properties. -
paint
Paint paintthe current paint. -
stroke
Stroke strokethe current stroke. -
renderingHints
RenderingHints renderingHintsTODO: the current rendering hints. -
affineTransform
AffineTransform affineTransformthe current affine transform. -
composite
Composite compositeTODO: the current composite. What is that? -
commands
StringBuffer commandsthe commands to send over the channel to the HTML5 code.
-
-
Constructor Details
-
HtmlGraphics2d
public HtmlGraphics2d()
-
-
Method Details
-
clearCommand
public void clearCommand()Clear the commands and put the start tag in. -
closeAndGetCommands
Close the commands and put the end tag in.- Returns:
- the current set of commands
-
addDraw
Add a draw command.- Parameters:
drawCommand- String; the tag for the draw commandparams- Object...; the params for the draw command
-
addAffineTransform
protected void addAffineTransform()add AffineTransform to the command. -
addColor
add Color to the command.- Parameters:
c- Color; the color
-
addFontData
protected void addFontData()add font data to the command, font-name, font-size, bold/italic/plain. -
addTransformFill
Add fill command, transform.m11(h-scale), transform.m12(h-skew), transform.m21(v-skew), transform.m22(v-scale), transform.dx(h-translate), transform.dy(v-translate), color.r, color.g, color.b, color.alpha, color.transparency, params...- Parameters:
fillCommand- String; the tag to useparams- Object...; the params to send
-
addTransformDraw
Add command, transform.m11(h-scale), transform.m12(h-skew), transform.m21(v-skew), transform.m22(v-scale), transform.dx(h-translate), transform.dy(v-translate), linecolor.r, linecolor.g, linecolor.b, linecolor.alpha, linecolor.transparency, line-width, params...- Parameters:
drawCommand- String; the tag to useparams- Object...; the params
-
addTransformPathFloat
Add a path2D to the command. In case of fill:
FILL, transform.m11(h-scale), transform.m12(h-skew), transform.m21(v-skew), transform.m22(v-scale), transform.dx(h-translate), transform.dy(v-translate), fillcolor.r, fillcolor.g, fillcolor.b, fillcolor.alpha, fillcolor.transparency, winding_rule[WIND_EVEN_ODD/WIND_NON_ZERO], COMMAND, coords, COMMAND, coords, ...
In case of draw:
DRAW, transform.m11(h-scale), transform.m12(h-skew), transform.m21(v-skew), transform.m22(v-scale), transform.dx(h-translate), transform.dy(v-translate), strokecolor.r, strokecolor.g, strokecolor.b, strokecolor.alpha, strokecolor.transparency, line_width, COMMAND, coords, COMMAND, coords, ...
where command can be one of the following:
- CLOSE, followed by no coordinates
- CUBICTO, followed by 3 coordinates (6 numbers)
- LINETO, followed by 1 coordinate (2 numbers)
- MOVETO, followed by 1 coordinate (2 numbers)
- QUADTO, followed by 2 coordinates (4 numbers)- Parameters:
path- Path2D.Float; the path to drawfill- boolean;
-
addTransformPathDouble
Add a path2D to the command. In case of fill:
FILL, transform.m11(h-scale), transform.m12(h-skew), transform.m21(v-skew), transform.m22(v-scale), transform.dx(h-translate), transform.dy(v-translate), fillcolor.r, fillcolor.g, fillcolor.b, fillcolor.alpha, fillcolor.transparency, winding_rule[WIND_EVEN_ODD/WIND_NON_ZERO], COMMAND, coords, COMMAND, coords, ...
In case of draw:
DRAW, transform.m11(h-scale), transform.m12(h-skew), transform.m21(v-skew), transform.m22(v-scale), transform.dx(h-translate), transform.dy(v-translate), strokecolor.r, strokecolor.g, strokecolor.b, strokecolor.alpha, strokecolor.transparency, line_width, COMMAND, coords, COMMAND, coords, ...
where command can be one of the following:
- CLOSE, followed by no coordinates
- CUBICTO, followed by 3 coordinates (6 numbers)
- LINETO, followed by 1 coordinate (2 numbers)
- MOVETO, followed by 1 coordinate (2 numbers)
- QUADTO, followed by 2 coordinates (4 numbers)- Parameters:
path- Path2D.Double; the path to drawfill- boolean;
-
addTransformText
Add string, 0=command, 1=transform.m11(h-scale), 2=transform.m12(h-skew), 3=transform.m21(v-skew), 4=transform.m22(v-scale), 5=transform.dx(h-translate), 6=transform.dy(v-translate), 7=color.r, 8=color.g, 9=color.b, 10=color.alpha, 11=color.transparency, 12=fontname, 13=fontsize, 14=fontstyle(normal/italic/bold), 15=x, 16=y, 17=text.- Parameters:
drawCommand- String; the tag to useparams- Object...; the params
-
draw
- Specified by:
drawin classGraphics2D
-
drawFillShape
Draw or fill a shape.- Parameters:
shape- Shape; the shapefill- boolean; filled or not
-
drawImage
- Specified by:
drawImagein classGraphics2D
-
drawImage
- Specified by:
drawImagein classGraphics2D
-
drawRenderedImage
- Specified by:
drawRenderedImagein classGraphics2D
-
drawRenderableImage
- Specified by:
drawRenderableImagein classGraphics2D
-
drawString
- Specified by:
drawStringin classGraphics2D
-
drawString
- Specified by:
drawStringin classGraphics2D
-
drawString
- Specified by:
drawStringin classGraphics2D
-
drawString
- Specified by:
drawStringin classGraphics2D
-
drawGlyphVector
- Specified by:
drawGlyphVectorin classGraphics2D
-
fill
- Specified by:
fillin classGraphics2D
-
hit
- Specified by:
hitin classGraphics2D
-
getDeviceConfiguration
- Specified by:
getDeviceConfigurationin classGraphics2D
-
setComposite
- Specified by:
setCompositein classGraphics2D
-
setPaint
- Specified by:
setPaintin classGraphics2D
-
setStroke
- Specified by:
setStrokein classGraphics2D
-
setRenderingHint
- Specified by:
setRenderingHintin classGraphics2D
-
getRenderingHint
- Specified by:
getRenderingHintin classGraphics2D
-
setRenderingHints
- Specified by:
setRenderingHintsin classGraphics2D
-
addRenderingHints
- Specified by:
addRenderingHintsin classGraphics2D
-
getRenderingHints
- Specified by:
getRenderingHintsin classGraphics2D
-
translate
public void translate(int x, int y) - Specified by:
translatein classGraphics2D
-
translate
public void translate(double tx, double ty) - Specified by:
translatein classGraphics2D
-
rotate
public void rotate(double theta) - Specified by:
rotatein classGraphics2D
-
rotate
public void rotate(double theta, double x, double y) - Specified by:
rotatein classGraphics2D
-
scale
public void scale(double sx, double sy) - Specified by:
scalein classGraphics2D
-
shear
public void shear(double shx, double shy) - Specified by:
shearin classGraphics2D
-
transform
- Specified by:
transformin classGraphics2D
-
setTransform
- Specified by:
setTransformin classGraphics2D
-
getTransform
- Specified by:
getTransformin classGraphics2D
-
getPaint
- Specified by:
getPaintin classGraphics2D
-
getComposite
- Specified by:
getCompositein classGraphics2D
-
setBackground
- Specified by:
setBackgroundin classGraphics2D
-
getBackground
- Specified by:
getBackgroundin classGraphics2D
-
getStroke
- Specified by:
getStrokein classGraphics2D
-
clip
- Specified by:
clipin classGraphics2D
-
getFontRenderContext
- Specified by:
getFontRenderContextin classGraphics2D
-
create
-
getColor
-
setColor
-
setPaintMode
public void setPaintMode()- Specified by:
setPaintModein classGraphics
-
setXORMode
- Specified by:
setXORModein classGraphics
-
getFont
-
setFont
-
getFontMetrics
- Specified by:
getFontMetricsin classGraphics
-
getClipBounds
- Specified by:
getClipBoundsin classGraphics
-
clipRect
public void clipRect(int x, int y, int width, int height) -
setClip
public void setClip(int x, int y, int width, int height) -
getClip
-
setClip
-
copyArea
public void copyArea(int x, int y, int width, int height, int dx, int dy) -
drawLine
public void drawLine(int x1, int y1, int x2, int y2) -
fillRect
public void fillRect(int x, int y, int width, int height) -
clearRect
public void clearRect(int x, int y, int width, int height) -
drawRoundRect
public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) - Specified by:
drawRoundRectin classGraphics
-
fillRoundRect
public void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight) - Specified by:
fillRoundRectin classGraphics
-
drawOval
public void drawOval(int x, int y, int width, int height) -
fillOval
public void fillOval(int x, int y, int width, int height) -
drawArc
public void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle) -
fillArc
public void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle) -
drawPolyline
public void drawPolyline(int[] xPoints, int[] yPoints, int nPoints) - Specified by:
drawPolylinein classGraphics
-
drawPolygon
public void drawPolygon(int[] xPoints, int[] yPoints, int nPoints) - Specified by:
drawPolygonin classGraphics
-
fillPolygon
public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints) - Specified by:
fillPolygonin classGraphics
-
drawImage
-
drawImage
-
drawImage
-
drawImage
public boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer) -
drawImage
public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer) -
drawImage
public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer) -
dispose
public void dispose()
-