fop 2.3

org.apache.fop.afp
Class AFPGraphics2D

java.lang.Object
  extended by java.awt.Graphics
      extended by java.awt.Graphics2D
          extended by org.apache.xmlgraphics.java2d.AbstractGraphics2D
              extended by org.apache.fop.afp.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
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
 
Constructor Summary
AFPGraphics2D(AFPGraphics2D g2d)
          Copy Constructor
AFPGraphics2D(boolean textAsShapes, AFPPaintingState paintingState, AFPResourceManager resourceManager, AFPResourceInfo resourceInfo, FontInfo fontInfo)
          Main constructor
 
Method Summary
 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, java.awt.image.ImageObserver observer)
          
 boolean drawImage(java.awt.Image img, int x, int y, int width, int height, 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

fop 2.3

Copyright 1999-2018 The Apache Software Foundation. All Rights Reserved.