Class AFPGraphics2D

java.lang.Object
java.awt.Graphics
java.awt.Graphics2D
org.apache.xmlgraphics.java2d.AbstractGraphics2D
org.apache.fop.afp.AFPGraphics2D
All Implemented Interfaces:
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 Details

    • fallbackTextHandler

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

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

    • 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 Details

    • 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(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(Shape shape)
      Specified by:
      draw in class Graphics2D
    • fill

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

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

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

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

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

      public void dispose()
      Specified by:
      dispose 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
    • drawRenderedImage

      public void drawRenderedImage(RenderedImage img, AffineTransform xform)
      Specified by:
      drawRenderedImage in class 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(RenderableImage img, AffineTransform xform)
      Specified by:
      drawRenderableImage in class Graphics2D
    • getFontMetrics

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

      public void setXORMode(Color col)
      Specified by:
      setXORMode in class 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 Graphics
    • clearRect

      public void clearRect(int x, int y, int width, int height)
      Overrides:
      clearRect in class org.apache.xmlgraphics.java2d.AbstractGraphics2D