ur_rna.StructureEditor.services.drawing.export

## Class Graphics2DRecorder

- java.lang.Object
- - java.awt.Graphics
  - - java.awt.Graphics2D
    - - ur_rna.StructureEditor.services.drawing.export.Graphics2DRecorder

- All Implemented Interfaces:
    java.lang.Cloneable

      public class Graphics2DRecorder
      extends java.awt.Graphics2D
      implements java.lang.Cloneable

  A class that can be substituted for a Graphics2D object, but instead of performing any actual drawing, it simply records the drawing instructions. These instructions can later be replayed onto a "real" Graphics2D object or converted into vector graphics by an appropriate converter.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private GraphicsStyle` | `ctx`
    `private java.awt.GraphicsConfiguration` | `deviceConfig` Device configuration settings.
    `private boolean` | `disposed` Flag that tells whether this graphics object has been disposed.
    `private java.awt.font.FontRenderContext` | `fontRenderContext` Context settings used to render fonts.
    `private java.util.List<GraphicsOp>` | `ops`
    `private int` | `suspendRecordingCounter`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Graphics2DRecorder()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `private void` | `add(GraphicsOp op)` Add the operation and apply it to the current graphics context.
    `void` | `addRenderingHints(java.util.Map<?,?> hints)`
    `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)`
    `java.lang.Object` | `clone()`
    `void` | `copyArea(int x, int y, int width, int height, int dx, int dy)`
    `java.awt.Graphics` | `create()`
    `void` | `dispose()`
    `void` | `draw(java.awt.Shape s)`
    `void` | `draw(java.awt.Shape s, boolean createCopy)` The the outline of the specified Shape.
    `void` | `drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)`
    `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 tr, 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` | `drawPolygon(java.awt.Polygon p)`
    `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 tr)`
    `void` | `drawRenderedImage(java.awt.image.RenderedImage img, java.awt.geom.AffineTransform tr)`
    `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` | `endGroup()`
    `void` | `fill(java.awt.Shape s)`
    `void` | `fill(java.awt.Shape s, boolean createCopy)` Fill the specified Shape.
    `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` | `fillPolygon(java.awt.Polygon p)`
    `void` | `fillRect(int x, int y, int width, int height)`
    `void` | `fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)`
    `java.awt.Color` | `getBackground()`
    `java.awt.Shape` | `getClip()`
    `java.awt.Rectangle` | `getClipBounds()`
    `java.awt.Color` | `getColor()`
    `java.awt.Composite` | `getComposite()`
    `GraphicsStyle` | `getContext()`
    `java.awt.GraphicsConfiguration` | `getDeviceConfiguration()`
    `java.awt.Font` | `getFont()`
    `java.awt.FontMetrics` | `getFontMetrics(java.awt.Font f)`
    `java.awt.font.FontRenderContext` | `getFontRenderContext()`
    `java.util.List<GraphicsOp>` | `getGraphicsOps()` Returns a `CommandSequence` representing all calls that were issued to this `VectorGraphics2D` object.
    `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()`
    `private java.awt.image.BufferedImage` | `getTransformedImage(java.awt.Image image, java.awt.geom.AffineTransform tr)` Returns a transformed version of an image.
    `java.awt.Color` | `getXORMode()` Returns the current XOR background color.
    `boolean` | `hit(java.awt.Rectangle rect, java.awt.Shape s, boolean onStroke)`
    `protected boolean` | `isDisposed()`
    `private java.lang.RuntimeException` | `notImpl()`
    `void` | `replay(java.awt.Graphics2D g)`
    `void` | `resumeRecording()`
    `void` | `rotate(double theta)`
    `void` | `rotate(double theta, double x, double y)`
    `void` | `scale(double sx, double sy)`
    `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()`
    `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 backColor)`
    `void` | `shear(double shx, double shy)`
    `void` | `startGroup()`
    `void` | `suspendRecording()`
    `void` | `transform(java.awt.geom.AffineTransform Tx)`
    `void` | `translate(double tx, double ty)`
    `void` | `translate(int x, int y)`

    - ### Methods inherited from class java.awt.Graphics2D

      `draw3DRect, fill3DRect`

    - ### Methods inherited from class java.awt.Graphics

      `create, drawBytes, drawChars, finalize, getClipBounds, getClipRect, getFontMetrics, hitClip, toString`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### ctx

          private GraphicsStyle ctx

    - #### deviceConfig

          private final java.awt.GraphicsConfiguration deviceConfig

      Device configuration settings.

    - #### disposed

          private boolean disposed

      Flag that tells whether this graphics object has been disposed.

    - #### fontRenderContext

          private final java.awt.font.FontRenderContext fontRenderContext

      Context settings used to render fonts.

    - #### ops

          private final java.util.List<GraphicsOp> ops

    - #### suspendRecordingCounter

          private int suspendRecordingCounter

  - ### Constructor Detail

    - #### Graphics2DRecorder

          public Graphics2DRecorder()

  - ### Method Detail

    - #### add

          private void add(GraphicsOp op)

      Add the operation and apply it to the current graphics context.

    - #### addRenderingHints

          public void addRenderingHints(java.util.Map<?,?> hints)

      Specified by:
        `addRenderingHints` in class `java.awt.Graphics2D`

    - #### clearRect

          public void clearRect(int x,
                                int y,
                                int width,
                                int height)

      Specified by:
        `clearRect` in class `java.awt.Graphics`

    - #### clip

          public void clip(java.awt.Shape s)

      Specified by:
        `clip` in class `java.awt.Graphics2D`

    - #### clipRect

          public void clipRect(int x,
                               int y,
                               int width,
                               int height)

      Specified by:
        `clipRect` in class `java.awt.Graphics`

    - #### clone

          public java.lang.Object clone()
                                 throws java.lang.CloneNotSupportedException

      Overrides:
        `clone` in class `java.lang.Object`
      Throws:
        `java.lang.CloneNotSupportedException`

    - #### copyArea

          public void copyArea(int x,
                               int y,
                               int width,
                               int height,
                               int dx,
                               int dy)

      Specified by:
        `copyArea` in class `java.awt.Graphics`

    - #### create

          public java.awt.Graphics create()

      Specified by:
        `create` in class `java.awt.Graphics`

    - #### dispose

          public void dispose()

      Specified by:
        `dispose` in class `java.awt.Graphics`

    - #### draw

          public void draw(java.awt.Shape s)

      Specified by:
        `draw` in class `java.awt.Graphics2D`

    - #### draw

          public void draw(java.awt.Shape s,
                           boolean createCopy)

      The the outline of the specified Shape.
      Parameters:
        `s` - The shape to draw.
        `createCopy` - If true, a copy of the shape will be made so that if it changes after the call, the recorded operation will still use the copy of the shape at the time of the call to draw(). This should be set to true, unless it is known that the shape will never be changed (i.e. if it is created internally) or if any changes are intentionally meant to affect later application of the recorded operation.

    - #### drawArc

          public void drawArc(int x,
                              int y,
                              int width,
                              int height,
                              int startAngle,
                              int arcAngle)

      Specified by:
        `drawArc` in class `java.awt.Graphics`

    - #### drawGlyphVector

          public void drawGlyphVector(java.awt.font.GlyphVector g,
                                      float x,
                                      float y)

      Specified by:
        `drawGlyphVector` in class `java.awt.Graphics2D`

    - #### drawImage

          public void drawImage(java.awt.image.BufferedImage img,
                                java.awt.image.BufferedImageOp op,
                                int x,
                                int y)

      Specified by:
        `drawImage` in class `java.awt.Graphics2D`

    - #### drawImage

          public boolean drawImage(java.awt.Image img,
                                   java.awt.geom.AffineTransform tr,
                                   java.awt.image.ImageObserver obs)

      Specified by:
        `drawImage` in class `java.awt.Graphics2D`

    - #### drawImage

          public boolean drawImage(java.awt.Image img,
                                   int x,
                                   int y,
                                   java.awt.Color bgcolor,
                                   java.awt.image.ImageObserver observer)

      Specified by:
        `drawImage` in class `java.awt.Graphics`

    - #### drawImage

          public boolean drawImage(java.awt.Image img,
                                   int x,
                                   int y,
                                   java.awt.image.ImageObserver observer)

      Specified by:
        `drawImage` in class `java.awt.Graphics`

    - #### drawImage

          public boolean drawImage(java.awt.Image img,
                                   int x,
                                   int y,
                                   int width,
                                   int height,
                                   java.awt.Color bgcolor,
                                   java.awt.image.ImageObserver observer)

      Specified by:
        `drawImage` in class `java.awt.Graphics`

    - #### drawImage

          public boolean drawImage(java.awt.Image img,
                                   int x,
                                   int y,
                                   int width,
                                   int height,
                                   java.awt.image.ImageObserver observer)

      Specified by:
        `drawImage` in class `java.awt.Graphics`

    - #### drawImage

          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)

      Specified by:
        `drawImage` in class `java.awt.Graphics`

    - #### drawImage

          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)

      Specified by:
        `drawImage` in class `java.awt.Graphics`

    - #### drawLine

          public void drawLine(int x1,
                               int y1,
                               int x2,
                               int y2)

      Specified by:
        `drawLine` in class `java.awt.Graphics`

    - #### drawOval

          public void drawOval(int x,
                               int y,
                               int width,
                               int height)

      Specified by:
        `drawOval` in class `java.awt.Graphics`

    - #### drawPolygon

          public void drawPolygon(int[] xPoints,
                                  int[] yPoints,
                                  int nPoints)

      Specified by:
        `drawPolygon` in class `java.awt.Graphics`

    - #### drawPolygon

          public void drawPolygon(java.awt.Polygon p)

      Overrides:
        `drawPolygon` in class `java.awt.Graphics`

    - #### drawPolyline

          public void drawPolyline(int[] xPoints,
                                   int[] yPoints,
                                   int nPoints)

      Specified by:
        `drawPolyline` in class `java.awt.Graphics`

    - #### drawRect

          public void drawRect(int x,
                               int y,
                               int width,
                               int height)

      Overrides:
        `drawRect` in class `java.awt.Graphics`

    - #### drawRenderableImage

          public void drawRenderableImage(java.awt.image.renderable.RenderableImage img,
                                          java.awt.geom.AffineTransform tr)

      Specified by:
        `drawRenderableImage` in class `java.awt.Graphics2D`

    - #### drawRenderedImage

          public void drawRenderedImage(java.awt.image.RenderedImage img,
                                        java.awt.geom.AffineTransform tr)

      Specified by:
        `drawRenderedImage` in class `java.awt.Graphics2D`

    - #### drawRoundRect

          public void drawRoundRect(int x,
                                    int y,
                                    int width,
                                    int height,
                                    int arcWidth,
                                    int arcHeight)

      Specified by:
        `drawRoundRect` in class `java.awt.Graphics`

    - #### drawString

          public void drawString(java.text.AttributedCharacterIterator iterator,
                                 float x,
                                 float y)

      Specified by:
        `drawString` in class `java.awt.Graphics2D`

    - #### drawString

          public void drawString(java.text.AttributedCharacterIterator iterator,
                                 int x,
                                 int y)

      Specified by:
        `drawString` in class `java.awt.Graphics2D`

    - #### drawString

          public void drawString(java.lang.String str,
                                 float x,
                                 float y)

      Specified by:
        `drawString` in class `java.awt.Graphics2D`

    - #### drawString

          public void drawString(java.lang.String str,
                                 int x,
                                 int y)

      Specified by:
        `drawString` in class `java.awt.Graphics2D`

    - #### endGroup

          public void endGroup()

    - #### fill

          public void fill(java.awt.Shape s)

      Specified by:
        `fill` in class `java.awt.Graphics2D`

    - #### fill

          public void fill(java.awt.Shape s,
                           boolean createCopy)

      Fill the specified Shape.
      Parameters:
        `s` - The shape to fill.
        `createCopy` - If true, a copy of the shape will be made so that if it changes after the call, the recorded operation will still use the copy of the shape at the time of the call to fill(). This should be set to true, unless it is known that the shape will never be changed (i.e. if it is created internally) or if any changes are intentionally meant to affect later application of the recorded operation.

    - #### fillArc

          public void fillArc(int x,
                              int y,
                              int width,
                              int height,
                              int startAngle,
                              int arcAngle)

      Specified by:
        `fillArc` in class `java.awt.Graphics`

    - #### fillOval

          public void fillOval(int x,
                               int y,
                               int width,
                               int height)

      Specified by:
        `fillOval` in class `java.awt.Graphics`

    - #### fillPolygon

          public void fillPolygon(int[] xPoints,
                                  int[] yPoints,
                                  int nPoints)

      Specified by:
        `fillPolygon` in class `java.awt.Graphics`

    - #### fillPolygon

          public void fillPolygon(java.awt.Polygon p)

      Overrides:
        `fillPolygon` in class `java.awt.Graphics`

    - #### fillRect

          public void fillRect(int x,
                               int y,
                               int width,
                               int height)

      Specified by:
        `fillRect` in class `java.awt.Graphics`

    - #### fillRoundRect

          public void fillRoundRect(int x,
                                    int y,
                                    int width,
                                    int height,
                                    int arcWidth,
                                    int arcHeight)

      Specified by:
        `fillRoundRect` in class `java.awt.Graphics`

    - #### getBackground

          public java.awt.Color getBackground()

      Specified by:
        `getBackground` in class `java.awt.Graphics2D`

    - #### getClip

          public java.awt.Shape getClip()

      Specified by:
        `getClip` in class `java.awt.Graphics`

    - #### getClipBounds

          public java.awt.Rectangle getClipBounds()

      Specified by:
        `getClipBounds` in class `java.awt.Graphics`

    - #### getColor

          public java.awt.Color getColor()

      Specified by:
        `getColor` in class `java.awt.Graphics`

    - #### getComposite

          public java.awt.Composite getComposite()

      Specified by:
        `getComposite` in class `java.awt.Graphics2D`

    - #### getContext

          public GraphicsStyle getContext()

    - #### getDeviceConfiguration

          public java.awt.GraphicsConfiguration getDeviceConfiguration()

      Specified by:
        `getDeviceConfiguration` in class `java.awt.Graphics2D`

    - #### getFont

          public java.awt.Font getFont()

      Specified by:
        `getFont` in class `java.awt.Graphics`

    - #### getFontMetrics

          public java.awt.FontMetrics getFontMetrics(java.awt.Font f)

      Specified by:
        `getFontMetrics` in class `java.awt.Graphics`

    - #### getFontRenderContext

          public java.awt.font.FontRenderContext getFontRenderContext()

      Specified by:
        `getFontRenderContext` in class `java.awt.Graphics2D`

    - #### getGraphicsOps

          public java.util.List<GraphicsOp> getGraphicsOps()

      Returns a `CommandSequence` representing all calls that were issued to this `VectorGraphics2D` object.
      Returns:
        Sequence of commands since.

    - #### getPaint

          public java.awt.Paint getPaint()

      Specified by:
        `getPaint` in class `java.awt.Graphics2D`

    - #### getRenderingHint

          public java.lang.Object getRenderingHint(java.awt.RenderingHints.Key hintKey)

      Specified by:
        `getRenderingHint` in class `java.awt.Graphics2D`

    - #### getRenderingHints

          public java.awt.RenderingHints getRenderingHints()

      Specified by:
        `getRenderingHints` in class `java.awt.Graphics2D`

    - #### getStroke

          public java.awt.Stroke getStroke()

      Specified by:
        `getStroke` in class `java.awt.Graphics2D`

    - #### getTransform

          public java.awt.geom.AffineTransform getTransform()

      Specified by:
        `getTransform` in class `java.awt.Graphics2D`

    - #### getTransformedImage

          private java.awt.image.BufferedImage getTransformedImage(java.awt.Image image,
                                                                   java.awt.geom.AffineTransform tr)

      Returns a transformed version of an image.
      Parameters:
        `image` - Image to be transformed
        `tr` - Affine transform to be applied
      Returns:
        Image with transformed content

    - #### getXORMode

          @NotNull
          public java.awt.Color getXORMode()

      Returns the current XOR background color. If the value is `GraphicsStyle.COLOR_EMPTY` then XOR Mode is not in effect.

    - #### hit

          public boolean hit(java.awt.Rectangle rect,
                             java.awt.Shape s,
                             boolean onStroke)

      Specified by:
        `hit` in class `java.awt.Graphics2D`

    - #### isDisposed

          protected boolean isDisposed()

    - #### notImpl

          private java.lang.RuntimeException notImpl()

    - #### replay

          public void replay(java.awt.Graphics2D g)

    - #### resumeRecording

          public void resumeRecording()

    - #### rotate

          public void rotate(double theta)

      Specified by:
        `rotate` in class `java.awt.Graphics2D`

    - #### rotate

          public void rotate(double theta,
                             double x,
                             double y)

      Specified by:
        `rotate` in class `java.awt.Graphics2D`

    - #### scale

          public void scale(double sx,
                            double sy)

      Specified by:
        `scale` in class `java.awt.Graphics2D`

    - #### setBackground

          public void setBackground(java.awt.Color color)

      Specified by:
        `setBackground` in class `java.awt.Graphics2D`

    - #### setClip

          public void setClip(int x,
                              int y,
                              int width,
                              int height)

      Specified by:
        `setClip` in class `java.awt.Graphics`

    - #### setClip

          public void setClip(java.awt.Shape clip)

      Specified by:
        `setClip` in class `java.awt.Graphics`

    - #### setColor

          public void setColor(java.awt.Color c)

      Specified by:
        `setColor` in class `java.awt.Graphics`

    - #### setComposite

          public void setComposite(java.awt.Composite comp)

      Specified by:
        `setComposite` in class `java.awt.Graphics2D`

    - #### setFont

          public void setFont(java.awt.Font font)

      Specified by:
        `setFont` in class `java.awt.Graphics`

    - #### setPaint

          public void setPaint(java.awt.Paint paint)

      Specified by:
        `setPaint` in class `java.awt.Graphics2D`

    - #### setPaintMode

          public void setPaintMode()

      Specified by:
        `setPaintMode` in class `java.awt.Graphics`

    - #### setRenderingHint

          public void setRenderingHint(java.awt.RenderingHints.Key hintKey,
                                       java.lang.Object hintValue)

      Specified by:
        `setRenderingHint` in class `java.awt.Graphics2D`

    - #### setRenderingHints

          public void setRenderingHints(java.util.Map<?,?> hints)

      Specified by:
        `setRenderingHints` in class `java.awt.Graphics2D`

    - #### setStroke

          public void setStroke(java.awt.Stroke s)

      Specified by:
        `setStroke` in class `java.awt.Graphics2D`

    - #### setTransform

          public void setTransform(java.awt.geom.AffineTransform tx)

      Specified by:
        `setTransform` in class `java.awt.Graphics2D`

    - #### setXORMode

          public void setXORMode(java.awt.Color backColor)

      Specified by:
        `setXORMode` in class `java.awt.Graphics`

    - #### shear

          public void shear(double shx,
                            double shy)

      Specified by:
        `shear` in class `java.awt.Graphics2D`

    - #### startGroup

          public void startGroup()

    - #### suspendRecording

          public void suspendRecording()

    - #### transform

          public void transform(java.awt.geom.AffineTransform Tx)

      Specified by:
        `transform` in class `java.awt.Graphics2D`

    - #### translate

          public void translate(double tx,
                                double ty)

      Specified by:
        `translate` in class `java.awt.Graphics2D`

    - #### translate

          public void translate(int x,
                                int y)

      Specified by:
        `translate` in class `java.awt.Graphics2D`