Class AFPGraphics2D

  • All Implemented Interfaces:
    java.lang.Cloneable, NativeImageHandler

    public class AFPGraphics2D
    extends org.apache.xmlgraphics.java2d.AbstractGraphics2D
    implements NativeImageHandler
    This is a concrete implementation of AbstractGraphics2D (and therefore of Graphics2D) which is able to generate GOCA byte codes.
    See Also:
    AbstractGraphics2D
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.apache.xmlgraphics.java2d.TextHandler customTextHandler
      Custom text handler
      protected org.apache.xmlgraphics.java2d.TextHandler fallbackTextHandler
      Fallback text handler
      • Fields inherited from class org.apache.xmlgraphics.java2d.AbstractGraphics2D

        gc, inPossibleRecursion, textAsShapes
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addNativeImage​(org.apache.xmlgraphics.image.loader.Image image, float x, float y, float width, float height)
      Add a natively handled image directly to the document.
      protected void applyStroke​(java.awt.Stroke stroke)
      Apply the stroke to the AFP graphics object.
      double convertToAbsoluteLength​(double length)
      Converts a length value to an absolute value.
      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 shape)
      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 x, int y, java.awt.image.ImageObserver observer)
      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 drawString​(java.lang.String str, float x, float y)
      void fill​(java.awt.Shape shape)
      java.awt.GraphicsConfiguration getDeviceConfiguration()
      FontInfo getFontInfo()
      Returns the FontInfo
      java.awt.FontMetrics getFontMetrics​(java.awt.Font f)
      GraphicsObject getGraphicsObject()
      Returns the GOCA graphics object
      AFPPaintingState getPaintingState()
      Returns the AFP painting state
      AFPResourceManager getResourceManager()
      Returns the AFP resource manager associated with this Graphics2D instance.
      void handleIOException​(java.io.IOException ioe)
      Central handler for IOExceptions for this class.
      void setCustomTextHandler​(org.apache.xmlgraphics.java2d.TextHandler handler)
      Sets a custom TextHandler implementation that is responsible for painting text.
      void setGraphicContext​(org.apache.xmlgraphics.java2d.GraphicContext gc)
      Sets the GraphicContext
      void setGraphicsObject​(GraphicsObject obj)
      Sets the GOCA graphics object
      void setXORMode​(java.awt.Color col)
      • Methods inherited from class org.apache.xmlgraphics.java2d.AbstractGraphics2D

        addRenderingHints, clearRect, clip, clipRect, drawArc, drawGlyphVector, drawImage, drawImage, drawImage, drawImage, drawImage, drawImage, drawLine, drawOval, drawPolygon, drawPolyline, drawRect, drawRoundRect, drawString, drawString, drawString, fillArc, fillOval, fillPolygon, fillRect, fillRoundRect, getBackground, getClip, getClipBounds, getColor, getComposite, getFont, getFontRenderContext, getGraphicContext, getPaint, getRenderingHint, getRenderingHints, getStroke, getTransform, hit, rotate, rotate, scale, setBackground, setClip, setClip, setColor, setComposite, setFont, setPaint, setPaintMode, setRenderingHint, setRenderingHints, setStroke, setTransform, shear, transform, translate, translate
      • Methods inherited from class java.awt.Graphics2D

        draw3DRect, fill3DRect
      • Methods inherited from class java.awt.Graphics

        create, drawBytes, drawChars, drawPolygon, fillPolygon, finalize, getClipBounds, getClipRect, getFontMetrics, hitClip, toString
      • Methods inherited from class java.lang.Object

        clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • fallbackTextHandler

        protected org.apache.xmlgraphics.java2d.TextHandler fallbackTextHandler
        Fallback text handler
      • customTextHandler

        protected org.apache.xmlgraphics.java2d.TextHandler customTextHandler
        Custom text handler
    • Constructor Detail

      • AFPGraphics2D

        public AFPGraphics2D​(boolean textAsShapes,
                             AFPPaintingState paintingState,
                             AFPResourceManager resourceManager,
                             AFPResourceInfo resourceInfo,
                             FontInfo fontInfo)
        Main constructor
        Parameters:
        textAsShapes - if true, all text is turned into shapes in the convertion. No text is output.
        paintingState - painting state
        resourceManager - resource manager
        resourceInfo - resource info
        fontInfo - font info
      • AFPGraphics2D

        public AFPGraphics2D​(AFPGraphics2D g2d)
        Copy Constructor
        Parameters:
        g2d - a AFPGraphics2D whose properties should be copied
    • Method Detail

      • getResourceManager

        public AFPResourceManager getResourceManager()
        Returns the AFP resource manager associated with this Graphics2D instance.
        Returns:
        the resource manager
      • getGraphicsObject

        public GraphicsObject getGraphicsObject()
        Returns the GOCA graphics object
        Returns:
        the GOCA graphics object
      • setGraphicsObject

        public void setGraphicsObject​(GraphicsObject obj)
        Sets the GOCA graphics object
        Parameters:
        obj - the GOCA graphics object
      • getPaintingState

        public AFPPaintingState getPaintingState()
        Returns the AFP painting state
        Returns:
        the AFP painting state
      • getFontInfo

        public FontInfo getFontInfo()
        Returns the FontInfo
        Returns:
        the FontInfo
      • setGraphicContext

        public void setGraphicContext​(org.apache.xmlgraphics.java2d.GraphicContext gc)
        Sets the GraphicContext
        Parameters:
        gc - GraphicContext to use
      • convertToAbsoluteLength

        public double convertToAbsoluteLength​(double length)
        Converts a length value to an absolute value. Please note that this only uses the "ScaleY" factor, so this will result in a bad value should "ScaleX" and "ScaleY" be different.
        Parameters:
        length - the length
        Returns:
        the absolute length
      • applyStroke

        protected void applyStroke​(java.awt.Stroke stroke)
        Apply the stroke to the AFP graphics object. This takes the java stroke and outputs the appropriate settings to the AFP graphics object so that the stroke attributes are handled.
        Parameters:
        stroke - the java stroke
      • draw

        public void draw​(java.awt.Shape shape)
        Specified by:
        draw in class java.awt.Graphics2D
      • fill

        public void fill​(java.awt.Shape shape)
        Specified by:
        fill in class java.awt.Graphics2D
      • handleIOException

        public void handleIOException​(java.io.IOException ioe)
        Central handler for IOExceptions for this class.
        Parameters:
        ioe - IOException to handle
      • drawString

        public void drawString​(java.lang.String str,
                               float x,
                               float y)
        Specified by:
        drawString in class java.awt.Graphics2D
      • getDeviceConfiguration

        public java.awt.GraphicsConfiguration getDeviceConfiguration()
        Specified by:
        getDeviceConfiguration in class java.awt.Graphics2D
      • 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
      • 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.image.ImageObserver observer)
        Specified by:
        drawImage in class java.awt.Graphics
      • drawRenderedImage

        public void drawRenderedImage​(java.awt.image.RenderedImage img,
                                      java.awt.geom.AffineTransform xform)
        Specified by:
        drawRenderedImage in class java.awt.Graphics2D
      • setCustomTextHandler

        public void setCustomTextHandler​(org.apache.xmlgraphics.java2d.TextHandler handler)
        Sets a custom TextHandler implementation that is responsible for painting text. The default TextHandler paints all text as shapes. A custom implementation can implement text painting using text painting operators.
        Parameters:
        handler - the custom TextHandler implementation
      • drawRenderableImage

        public void drawRenderableImage​(java.awt.image.renderable.RenderableImage img,
                                        java.awt.geom.AffineTransform xform)
        Specified by:
        drawRenderableImage in class java.awt.Graphics2D
      • getFontMetrics

        public java.awt.FontMetrics getFontMetrics​(java.awt.Font f)
        Specified by:
        getFontMetrics in class java.awt.Graphics
      • setXORMode

        public void setXORMode​(java.awt.Color col)
        Specified by:
        setXORMode in class java.awt.Graphics
      • addNativeImage

        public void addNativeImage​(org.apache.xmlgraphics.image.loader.Image image,
                                   float x,
                                   float y,
                                   float width,
                                   float height)
        Add a natively handled image directly to the document. This is used by the ImageElementBridge to draw a natively handled image (like JPEG or CCITT images) directly into the document rather than converting the image into a bitmap and increasing the size.
        Specified by:
        addNativeImage in interface NativeImageHandler
        Parameters:
        image - the image to draw
        x - the x position
        y - the y position
        width - the width to draw the image
        height - the height to draw the image
      • copyArea

        public void copyArea​(int x,
                             int y,
                             int width,
                             int height,
                             int dx,
                             int dy)
        Specified by:
        copyArea in class java.awt.Graphics