Class HtmlGraphics2D

java.lang.Object
java.awt.Graphics
java.awt.Graphics2D
nl.tudelft.simulation.dsol.web.animation.HtmlGraphics2D

public class HtmlGraphics2D extends Graphics2D
HtmlGraphics.java.

Copyright (c) 2003-2024 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information www.simulation.tudelft.nl. The source code and binary code of this software is proprietary information of Delft University of Technology.
Author:
Alexander Verbraeck
  • Field Details

    • background

      Color background
      the current color of the background for drawing.
    • color

      Color color
      the current drawing color.
    • font

      Font font
      the current font.
    • canvas

      Canvas canvas
      the drawing canvas.
    • fontMetrics

      FontMetrics fontMetrics
      the cached current font properties.
    • paint

      Paint paint
      the current paint.
    • stroke

      Stroke stroke
      the current stroke.
    • renderingHints

      RenderingHints renderingHints
      TODO: the current rendering hints.
    • affineTransform

      AffineTransform affineTransform
      the current affine transform.
    • composite

      Composite composite
      TODO: the current composite. What is that?
    • commands

      StringBuffer commands
      the 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

      public String closeAndGetCommands()
      Close the commands and put the end tag in.
      Returns:
      the current set of commands
    • addDraw

      protected void addDraw(String drawCommand, Object... params)
      Add a draw command
      Parameters:
      drawCommand - String; the tag for the draw command
      params - Object...; the params for the draw command
    • addAffineTransform

      protected void addAffineTransform()
      add AffineTransform to the command.
    • addColor

      protected void addColor(Color c)
      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

      protected void addTransformFill(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...
      Parameters:
      fillCommand - String; the tag to use
      params - Object...; the params to send
    • addTransformDraw

      protected void addTransformDraw(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...
      Parameters:
      drawCommand - String; the tag to use
      params - Object...; the params
    • addTransformPathFloat

      protected void addTransformPathFloat(Path2D.Float path, boolean fill)
      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 draw
      fill - boolean;
    • addTransformPathDouble

      protected void addTransformPathDouble(Path2D.Double path, boolean fill)
      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 draw
      fill - boolean;
    • addTransformText

      protected void addTransformText(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.
      Parameters:
      drawCommand - String; the tag to use
      params - Object...; the params
    • draw

      public void draw(Shape shape)
      Specified by:
      draw in class Graphics2D
    • drawFillShape

      protected void drawFillShape(Shape shape, boolean fill)
      Draw or fill a shape.
      Parameters:
      shape - Shape; the shape
      fill - boolean; filled or not
    • drawImage

      public boolean drawImage(Image img, AffineTransform xform, ImageObserver obs)
      Specified by:
      drawImage in class Graphics2D
    • drawImage

      public void drawImage(BufferedImage img, BufferedImageOp op, int x, int y)
      Specified by:
      drawImage in class Graphics2D
    • drawRenderedImage

      public void drawRenderedImage(RenderedImage img, AffineTransform xform)
      Specified by:
      drawRenderedImage in class Graphics2D
    • drawRenderableImage

      public void drawRenderableImage(RenderableImage img, AffineTransform xform)
      Specified by:
      drawRenderableImage in class Graphics2D
    • drawString

      public void drawString(String str, int x, int y)
      Specified by:
      drawString in class Graphics2D
    • drawString

      public void drawString(String str, float x, float y)
      Specified by:
      drawString in class Graphics2D
    • drawString

      public void drawString(AttributedCharacterIterator iterator, int x, int y)
      Specified by:
      drawString in class Graphics2D
    • drawString

      public void drawString(AttributedCharacterIterator iterator, float x, float y)
      Specified by:
      drawString in class Graphics2D
    • drawGlyphVector

      public void drawGlyphVector(GlyphVector g, float x, float y)
      Specified by:
      drawGlyphVector in class Graphics2D
    • fill

      public void fill(Shape shape)
      Specified by:
      fill in class Graphics2D
    • hit

      public boolean hit(Rectangle rect, Shape s, boolean onStroke)
      Specified by:
      hit in class Graphics2D
    • getDeviceConfiguration

      public GraphicsConfiguration getDeviceConfiguration()
      Specified by:
      getDeviceConfiguration in class Graphics2D
    • setComposite

      public void setComposite(Composite comp)
      Specified by:
      setComposite in class Graphics2D
    • setPaint

      public void setPaint(Paint paint)
      Specified by:
      setPaint in class Graphics2D
    • setStroke

      public void setStroke(Stroke s)
      Specified by:
      setStroke in class Graphics2D
    • setRenderingHint

      public void setRenderingHint(RenderingHints.Key hintKey, Object hintValue)
      Specified by:
      setRenderingHint in class Graphics2D
    • getRenderingHint

      public Object getRenderingHint(RenderingHints.Key hintKey)
      Specified by:
      getRenderingHint in class Graphics2D
    • setRenderingHints

      public void setRenderingHints(Map<?,?> hints)
      Specified by:
      setRenderingHints in class Graphics2D
    • addRenderingHints

      public void addRenderingHints(Map<?,?> hints)
      Specified by:
      addRenderingHints in class Graphics2D
    • getRenderingHints

      public RenderingHints getRenderingHints()
      Specified by:
      getRenderingHints in class Graphics2D
    • translate

      public void translate(int x, int y)
      Specified by:
      translate in class Graphics2D
    • translate

      public void translate(double tx, double ty)
      Specified by:
      translate in class Graphics2D
    • rotate

      public void rotate(double theta)
      Specified by:
      rotate in class Graphics2D
    • rotate

      public void rotate(double theta, double x, double y)
      Specified by:
      rotate in class Graphics2D
    • scale

      public void scale(double sx, double sy)
      Specified by:
      scale in class Graphics2D
    • shear

      public void shear(double shx, double shy)
      Specified by:
      shear in class Graphics2D
    • transform

      public void transform(AffineTransform Tx)
      Specified by:
      transform in class Graphics2D
    • setTransform

      public void setTransform(AffineTransform Tx)
      Specified by:
      setTransform in class Graphics2D
    • getTransform

      public AffineTransform getTransform()
      Specified by:
      getTransform in class Graphics2D
    • getPaint

      public Paint getPaint()
      Specified by:
      getPaint in class Graphics2D
    • getComposite

      public Composite getComposite()
      Specified by:
      getComposite in class Graphics2D
    • setBackground

      public void setBackground(Color color)
      Specified by:
      setBackground in class Graphics2D
    • getBackground

      public Color getBackground()
      Specified by:
      getBackground in class Graphics2D
    • getStroke

      public Stroke getStroke()
      Specified by:
      getStroke in class Graphics2D
    • clip

      public void clip(Shape s)
      Specified by:
      clip in class Graphics2D
    • getFontRenderContext

      public FontRenderContext getFontRenderContext()
      Specified by:
      getFontRenderContext in class Graphics2D
    • create

      public Graphics create()
      Specified by:
      create in class Graphics
    • getColor

      public Color getColor()
      Specified by:
      getColor in class Graphics
    • setColor

      public void setColor(Color c)
      Specified by:
      setColor in class Graphics
    • setPaintMode

      public void setPaintMode()
      Specified by:
      setPaintMode in class Graphics
    • setXORMode

      public void setXORMode(Color c1)
      Specified by:
      setXORMode in class Graphics
    • getFont

      public Font getFont()
      Specified by:
      getFont in class Graphics
    • setFont

      public void setFont(Font font)
      Specified by:
      setFont in class Graphics
    • getFontMetrics

      public FontMetrics getFontMetrics(Font f)
      Specified by:
      getFontMetrics in class Graphics
    • getClipBounds

      public Rectangle getClipBounds()
      Specified by:
      getClipBounds in class Graphics
    • clipRect

      public void clipRect(int x, int y, int width, int height)
      Specified by:
      clipRect in class Graphics
    • setClip

      public void setClip(int x, int y, int width, int height)
      Specified by:
      setClip in class Graphics
    • getClip

      public Shape getClip()
      Specified by:
      getClip in class Graphics
    • setClip

      public void setClip(Shape clip)
      Specified by:
      setClip in class Graphics
    • copyArea

      public void copyArea(int x, int y, int width, int height, int dx, int dy)
      Specified by:
      copyArea in class Graphics
    • drawLine

      public void drawLine(int x1, int y1, int x2, int y2)
      Specified by:
      drawLine in class Graphics
    • fillRect

      public void fillRect(int x, int y, int width, int height)
      Specified by:
      fillRect in class Graphics
    • clearRect

      public void clearRect(int x, int y, int width, int height)
      Specified by:
      clearRect in class Graphics
    • drawRoundRect

      public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
      Specified by:
      drawRoundRect in class Graphics
    • fillRoundRect

      public void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
      Specified by:
      fillRoundRect in class Graphics
    • drawOval

      public void drawOval(int x, int y, int width, int height)
      Specified by:
      drawOval in class Graphics
    • fillOval

      public void fillOval(int x, int y, int width, int height)
      Specified by:
      fillOval in class Graphics
    • drawArc

      public void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
      Specified by:
      drawArc in class Graphics
    • fillArc

      public void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
      Specified by:
      fillArc in class Graphics
    • drawPolyline

      public void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
      Specified by:
      drawPolyline in class Graphics
    • drawPolygon

      public void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
      Specified by:
      drawPolygon in class Graphics
    • fillPolygon

      public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
      Specified by:
      fillPolygon in class Graphics
    • drawImage

      public boolean drawImage(Image img, int x, int y, ImageObserver observer)
      Specified by:
      drawImage in class Graphics
    • drawImage

      public boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)
      Specified by:
      drawImage in class Graphics
    • drawImage

      public boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer)
      Specified by:
      drawImage in class Graphics
    • drawImage

      public boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer)
      Specified by:
      drawImage in class Graphics
    • drawImage

      public boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)
      Specified by:
      drawImage in class Graphics
    • 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)
      Specified by:
      drawImage in class Graphics
    • dispose

      public void dispose()
      Specified by:
      dispose in class Graphics