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.TextHandler
customTextHandler
Custom text handlerprotected org.apache.xmlgraphics.java2d.TextHandler
fallbackTextHandler
Fallback 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 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 FontInfojava.awt.FontMetrics
getFontMetrics(java.awt.Font f)
GraphicsObject
getGraphicsObject()
Returns the GOCA graphics objectAFPPaintingState
getPaintingState()
Returns the AFP painting stateAFPResourceManager
getResourceManager()
Returns the AFP resource manager associated with thisGraphics2D
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 GraphicContextvoid
setGraphicsObject(GraphicsObject obj)
Sets the GOCA graphics objectvoid
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
-
-
-
-
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 thisGraphics2D
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 classjava.awt.Graphics2D
-
fill
public void fill(java.awt.Shape shape)
- Specified by:
fill
in 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:
drawString
in classjava.awt.Graphics2D
-
getDeviceConfiguration
public java.awt.GraphicsConfiguration getDeviceConfiguration()
- Specified by:
getDeviceConfiguration
in classjava.awt.Graphics2D
-
create
public java.awt.Graphics create()
- Specified by:
create
in classjava.awt.Graphics
-
dispose
public void dispose()
- Specified by:
dispose
in classjava.awt.Graphics
-
drawImage
public boolean drawImage(java.awt.Image img, int x, int y, java.awt.image.ImageObserver observer)
- Specified by:
drawImage
in 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:
drawImage
in classjava.awt.Graphics
-
drawRenderedImage
public void drawRenderedImage(java.awt.image.RenderedImage img, java.awt.geom.AffineTransform xform)
- Specified by:
drawRenderedImage
in 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:
drawRenderableImage
in classjava.awt.Graphics2D
-
getFontMetrics
public java.awt.FontMetrics getFontMetrics(java.awt.Font f)
- Specified by:
getFontMetrics
in classjava.awt.Graphics
-
setXORMode
public void setXORMode(java.awt.Color col)
- Specified by:
setXORMode
in 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:
addNativeImage
in 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:
copyArea
in classjava.awt.Graphics
-
-