Package org.apache.fop.svg
Class AbstractFOPTextPainter
java.lang.Object
org.apache.fop.svg.AbstractFOPTextPainter
- All Implemented Interfaces:
org.apache.batik.bridge.TextPainter
- Direct Known Subclasses:
AFPTextPainter
public abstract class AbstractFOPTextPainter
extends Object
implements org.apache.batik.bridge.TextPainter
Renders the attributed character iterator of a
TextNode.
This class draws the text directly into the Graphics2D so that
the text is not drawn using shapes.
If the text is simple enough to draw then it sets the font and calls
drawString. If the text is complex or the cannot be translated
into a simple drawString the StrokingTextPainter is used instead.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.apache.commons.logging.Logthe logger for this class -
Constructor Summary
ConstructorsConstructorDescriptionAbstractFOPTextPainter(FOPTextHandler nativeTextHandler, org.apache.batik.bridge.TextPainter proxyTextPainter) Create a new PS text painter with the given font information. -
Method Summary
Modifier and TypeMethodDescriptiongetBounds2D(org.apache.batik.bridge.TextNode node) Get the bounds.getGeometryBounds(org.apache.batik.bridge.TextNode node) Get the geometry bounds.getHighlightShape(org.apache.batik.bridge.Mark beginMark, org.apache.batik.bridge.Mark endMark) Get the highlighted shape.org.apache.batik.bridge.MarkgetMark(org.apache.batik.bridge.TextNode node, int pos, boolean all) Get the mark.getOutline(org.apache.batik.bridge.TextNode node) Get the outline shape of the text characters.int[]getSelected(org.apache.batik.bridge.Mark start, org.apache.batik.bridge.Mark finish) Get selected.protected StringExtract the raw text from an ACI.protected abstract booleanChecks whether the Graphics2D is compatible with this text painter.voidpaint(org.apache.batik.bridge.TextNode node, Graphics2D g2d) Paints the specified attributed character iterator using the specified Graphics2D and context and font context.org.apache.batik.bridge.MarkselectAt(double x, double y, org.apache.batik.bridge.TextNode node) Select at.org.apache.batik.bridge.MarkselectFirst(org.apache.batik.bridge.TextNode node) Selec first.org.apache.batik.bridge.MarkselectLast(org.apache.batik.bridge.TextNode node) Select last.org.apache.batik.bridge.MarkselectTo(double x, double y, org.apache.batik.bridge.Mark beginMark) Select to.
-
Field Details
-
log
protected org.apache.commons.logging.Log logthe logger for this class
-
-
Constructor Details
-
AbstractFOPTextPainter
public AbstractFOPTextPainter(FOPTextHandler nativeTextHandler, org.apache.batik.bridge.TextPainter proxyTextPainter) Create a new PS text painter with the given font information.- Parameters:
nativeTextHandler- the NativeTextHandler instance used for text painting
-
-
Method Details
-
paint
Paints the specified attributed character iterator using the specified Graphics2D and context and font context.- Specified by:
paintin interfaceorg.apache.batik.bridge.TextPainter- Parameters:
node- the TextNode to paintg2d- the Graphics2D to use
-
isSupportedGraphics2D
Checks whether the Graphics2D is compatible with this text painter. Batik may pass in a Graphics2D instance that paints on a special buffer image, for example for filtering operations. In that case, the text painter should be bypassed.- Parameters:
g2d- the Graphics2D instance to check- Returns:
- true if the Graphics2D is supported
-
getText
Extract the raw text from an ACI.- Parameters:
aci- ACI to inspect- Returns:
- the extracted text
-
getOutline
Get the outline shape of the text characters. This uses the StrokingTextPainter to get the outline shape since in theory it should be the same.- Specified by:
getOutlinein interfaceorg.apache.batik.bridge.TextPainter- Parameters:
node- the text node- Returns:
- the outline shape of the text characters
-
getBounds2D
Get the bounds. This uses the StrokingTextPainter to get the bounds since in theory it should be the same.- Specified by:
getBounds2Din interfaceorg.apache.batik.bridge.TextPainter- Parameters:
node- the text node- Returns:
- the bounds of the text
-
getGeometryBounds
Get the geometry bounds. This uses the StrokingTextPainter to get the bounds since in theory it should be the same.- Specified by:
getGeometryBoundsin interfaceorg.apache.batik.bridge.TextPainter- Parameters:
node- the text node- Returns:
- the bounds of the text
-
getMark
public org.apache.batik.bridge.Mark getMark(org.apache.batik.bridge.TextNode node, int pos, boolean all) Get the mark. This does nothing since the output is AFP and not interactive.- Specified by:
getMarkin interfaceorg.apache.batik.bridge.TextPainter- Parameters:
node- the text nodepos- the positionall- select all- Returns:
- null
-
selectAt
public org.apache.batik.bridge.Mark selectAt(double x, double y, org.apache.batik.bridge.TextNode node) Select at. This does nothing since the output is AFP and not interactive.- Specified by:
selectAtin interfaceorg.apache.batik.bridge.TextPainter- Parameters:
x- the x positiony- the y positionnode- the text node- Returns:
- null
-
selectTo
public org.apache.batik.bridge.Mark selectTo(double x, double y, org.apache.batik.bridge.Mark beginMark) Select to. This does nothing since the output is AFP and not interactive.- Specified by:
selectToin interfaceorg.apache.batik.bridge.TextPainter- Parameters:
x- the x positiony- the y positionbeginMark- the start mark- Returns:
- null
-
selectFirst
public org.apache.batik.bridge.Mark selectFirst(org.apache.batik.bridge.TextNode node) Selec first. This does nothing since the output is AFP and not interactive.- Specified by:
selectFirstin interfaceorg.apache.batik.bridge.TextPainter- Parameters:
node- the text node- Returns:
- null
-
selectLast
public org.apache.batik.bridge.Mark selectLast(org.apache.batik.bridge.TextNode node) Select last. This does nothing since the output is AFP and not interactive.- Specified by:
selectLastin interfaceorg.apache.batik.bridge.TextPainter- Parameters:
node- the text node- Returns:
- null
-
getSelected
public int[] getSelected(org.apache.batik.bridge.Mark start, org.apache.batik.bridge.Mark finish) Get selected. This does nothing since the output is AFP and not interactive.- Specified by:
getSelectedin interfaceorg.apache.batik.bridge.TextPainter- Parameters:
start- the start markfinish- the finish mark- Returns:
- null
-
getHighlightShape
public Shape getHighlightShape(org.apache.batik.bridge.Mark beginMark, org.apache.batik.bridge.Mark endMark) Get the highlighted shape. This does nothing since the output is AFP and not interactive.- Specified by:
getHighlightShapein interfaceorg.apache.batik.bridge.TextPainter- Parameters:
beginMark- the start markendMark- the end mark- Returns:
- null
-