fop 1.0

org.apache.fop.afp
Class AFPGraphics2D

java.lang.Object
  extended byjava.awt.Graphics
      extended byjava.awt.Graphics2D
          extended byorg.apache.xmlgraphics.java2d.AbstractGraphics2D
              extended byorg.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. 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.
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
 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

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)


fill

public void fill(java.awt.Shape shape)


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)


getDeviceConfiguration

public java.awt.GraphicsConfiguration getDeviceConfiguration()


create

public java.awt.Graphics create()


dispose

public void dispose()


drawImage

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


drawImage

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


drawRenderedImage

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


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)


getFontMetrics

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


setXORMode

public void setXORMode(java.awt.Color col)


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)


fop 1.0

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