Package org.apache.fop.afp
Class AFPGraphics2D
- java.lang.Object
-
- java.awt.Graphics
-
- java.awt.Graphics2D
-
- org.apache.xmlgraphics.java2d.AbstractGraphics2D
-
- 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 ofAbstractGraphics2D(and therefore ofGraphics2D) which is able to generate GOCA byte codes.- See Also:
AbstractGraphics2D
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.xmlgraphics.java2d.TextHandlercustomTextHandlerCustom text handlerprotected org.apache.xmlgraphics.java2d.TextHandlerfallbackTextHandlerFallback text handler
-
Constructor Summary
Constructors Constructor Description AFPGraphics2D(boolean textAsShapes, AFPPaintingState paintingState, AFPResourceManager resourceManager, AFPResourceInfo resourceInfo, FontInfo fontInfo)Main constructorAFPGraphics2D(AFPGraphics2D g2d)Copy Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddNativeImage(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 voidapplyStroke(java.awt.Stroke stroke)Apply the stroke to the AFP graphics object.voidclearRect(int x, int y, int width, int height)doubleconvertToAbsoluteLength(double length)Converts a length value to an absolute value.voidcopyArea(int x, int y, int width, int height, int dx, int dy)java.awt.Graphicscreate()voiddispose()voiddraw(java.awt.Shape shape)booleandrawImage(java.awt.Image img, int x, int y, int width, int height, java.awt.image.ImageObserver observer)booleandrawImage(java.awt.Image img, int x, int y, java.awt.image.ImageObserver observer)voiddrawRenderableImage(java.awt.image.renderable.RenderableImage img, java.awt.geom.AffineTransform xform)voiddrawRenderedImage(java.awt.image.RenderedImage img, java.awt.geom.AffineTransform xform)voiddrawString(java.lang.String str, float x, float y)voidfill(java.awt.Shape shape)java.awt.GraphicsConfigurationgetDeviceConfiguration()FontInfogetFontInfo()Returns the FontInfojava.awt.FontMetricsgetFontMetrics(java.awt.Font f)GraphicsObjectgetGraphicsObject()Returns the GOCA graphics objectAFPPaintingStategetPaintingState()Returns the AFP painting stateAFPResourceManagergetResourceManager()Returns the AFP resource manager associated with thisGraphics2Dinstance.voidhandleIOException(java.io.IOException ioe)Central handler for IOExceptions for this class.voidsetCustomTextHandler(org.apache.xmlgraphics.java2d.TextHandler handler)Sets a custom TextHandler implementation that is responsible for painting text.voidsetGraphicContext(org.apache.xmlgraphics.java2d.GraphicContext gc)Sets the GraphicContextvoidsetGraphicsObject(GraphicsObject obj)Sets the GOCA graphics objectvoidsetXORMode(java.awt.Color col)-
Methods inherited from class org.apache.xmlgraphics.java2d.AbstractGraphics2D
addRenderingHints, 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
-
-
-
-
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 stateresourceManager- resource managerresourceInfo- resource infofontInfo- 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 thisGraphics2Dinstance.- 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:
drawin classjava.awt.Graphics2D
-
fill
public void fill(java.awt.Shape shape)
- Specified by:
fillin classjava.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:
drawStringin classjava.awt.Graphics2D
-
getDeviceConfiguration
public java.awt.GraphicsConfiguration getDeviceConfiguration()
- Specified by:
getDeviceConfigurationin classjava.awt.Graphics2D
-
create
public java.awt.Graphics create()
- Specified by:
createin classjava.awt.Graphics
-
dispose
public void dispose()
- Specified by:
disposein classjava.awt.Graphics
-
drawImage
public boolean drawImage(java.awt.Image img, int x, int y, java.awt.image.ImageObserver observer)- Specified by:
drawImagein classjava.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:
drawImagein classjava.awt.Graphics
-
drawRenderedImage
public void drawRenderedImage(java.awt.image.RenderedImage img, java.awt.geom.AffineTransform xform)- Specified by:
drawRenderedImagein classjava.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:
drawRenderableImagein classjava.awt.Graphics2D
-
getFontMetrics
public java.awt.FontMetrics getFontMetrics(java.awt.Font f)
- Specified by:
getFontMetricsin classjava.awt.Graphics
-
setXORMode
public void setXORMode(java.awt.Color col)
- Specified by:
setXORModein classjava.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:
addNativeImagein interfaceNativeImageHandler- Parameters:
image- the image to drawx- the x positiony- the y positionwidth- the width to draw the imageheight- the height to draw the image
-
copyArea
public void copyArea(int x, int y, int width, int height, int dx, int dy)- Specified by:
copyAreain classjava.awt.Graphics
-
clearRect
public void clearRect(int x, int y, int width, int height)- Overrides:
clearRectin classorg.apache.xmlgraphics.java2d.AbstractGraphics2D
-
-