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:
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
Modifier and TypeFieldDescriptionprotected org.apache.xmlgraphics.java2d.TextHandler
Custom text handlerprotected org.apache.xmlgraphics.java2d.TextHandler
Fallback text handlerFields inherited from class org.apache.xmlgraphics.java2d.AbstractGraphics2D
gc, inPossibleRecursion, textAsShapes
-
Constructor Summary
ConstructorDescriptionAFPGraphics2D
(boolean textAsShapes, AFPPaintingState paintingState, AFPResourceManager resourceManager, AFPResourceInfo resourceInfo, FontInfo fontInfo) Main constructorCopy Constructor -
Method Summary
Modifier and TypeMethodDescriptionvoid
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
(Stroke stroke) Apply the stroke to the AFP graphics object.void
clearRect
(int x, int y, int width, int height) 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) create()
void
dispose()
void
boolean
drawImage
(Image img, int x, int y, int width, int height, ImageObserver observer) boolean
drawImage
(Image img, int x, int y, ImageObserver observer) void
drawRenderableImage
(RenderableImage img, AffineTransform xform) void
drawRenderedImage
(RenderedImage img, AffineTransform xform) void
drawString
(String str, float x, float y) void
Returns the FontInfoReturns the GOCA graphics objectReturns the AFP painting stateReturns the AFP resource manager associated with thisGraphics2D
instance.void
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
Sets the GOCA graphics objectvoid
setXORMode
(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
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
-
Field Details
-
fallbackTextHandler
protected org.apache.xmlgraphics.java2d.TextHandler fallbackTextHandlerFallback text handler -
customTextHandler
protected org.apache.xmlgraphics.java2d.TextHandler customTextHandlerCustom 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 stateresourceManager
- resource managerresourceInfo
- resource infofontInfo
- font info
-
AFPGraphics2D
Copy Constructor- Parameters:
g2d
- a AFPGraphics2D whose properties should be copied
-
-
Method Details
-
getResourceManager
Returns the AFP resource manager associated with thisGraphics2D
instance.- Returns:
- the resource manager
-
getGraphicsObject
Returns the GOCA graphics object- Returns:
- the GOCA graphics object
-
setGraphicsObject
Sets the GOCA graphics object- Parameters:
obj
- the GOCA graphics object
-
getPaintingState
Returns the AFP painting state- Returns:
- the AFP painting state
-
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
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
- Specified by:
draw
in classGraphics2D
-
fill
- Specified by:
fill
in classGraphics2D
-
handleIOException
Central handler for IOExceptions for this class.- Parameters:
ioe
- IOException to handle
-
drawString
- Specified by:
drawString
in classGraphics2D
-
getDeviceConfiguration
- Specified by:
getDeviceConfiguration
in classGraphics2D
-
create
-
dispose
public void dispose() -
drawImage
-
drawImage
-
drawRenderedImage
- Specified by:
drawRenderedImage
in classGraphics2D
-
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
- Specified by:
drawRenderableImage
in classGraphics2D
-
getFontMetrics
- Specified by:
getFontMetrics
in classGraphics
-
setXORMode
- Specified by:
setXORMode
in classGraphics
-
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) -
clearRect
public void clearRect(int x, int y, int width, int height) - Overrides:
clearRect
in classorg.apache.xmlgraphics.java2d.AbstractGraphics2D
-