public abstract class org.apache.fop.svg.AbstractFOPTextPainter implements org.apache.batik.bridge.TextPainter
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.apache.fop.svg.AbstractFOPTextPainter
super_class: java.lang.Object
{
protected org.apache.commons.logging.Log log;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x0004) ACC_PROTECTED
private final org.apache.fop.svg.FOPTextHandler nativeTextHandler;
descriptor: Lorg/apache/fop/svg/FOPTextHandler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.batik.bridge.TextPainter proxyTextPainter;
descriptor: Lorg/apache/batik/bridge/TextPainter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.apache.fop.svg.FOPTextHandler, org.apache.batik.bridge.TextPainter);
descriptor: (Lorg/apache/fop/svg/FOPTextHandler;Lorg/apache/batik/bridge/TextPainter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc Lorg/apache/fop/svg/AbstractFOPTextPainter;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putfield org.apache.fop.svg.AbstractFOPTextPainter.log:Lorg/apache/commons/logging/Log;
2: aload 0
aload 1
putfield org.apache.fop.svg.AbstractFOPTextPainter.nativeTextHandler:Lorg/apache/fop/svg/FOPTextHandler;
3: aload 0
aload 2
putfield org.apache.fop.svg.AbstractFOPTextPainter.proxyTextPainter:Lorg/apache/batik/bridge/TextPainter;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/fop/svg/AbstractFOPTextPainter;
0 5 1 nativeTextHandler Lorg/apache/fop/svg/FOPTextHandler;
0 5 2 proxyTextPainter Lorg/apache/batik/bridge/TextPainter;
MethodParameters:
Name Flags
nativeTextHandler
proxyTextPainter
public void paint(org.apache.batik.bridge.TextNode, java.awt.Graphics2D);
descriptor: (Lorg/apache/batik/bridge/TextNode;Ljava/awt/Graphics2D;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual org.apache.fop.svg.AbstractFOPTextPainter.isSupportedGraphics2D:(Ljava/awt/Graphics2D;)Z
ifeq 2
1: new org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter
dup
aload 0
invokespecial org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter.<init>:(Lorg/apache/fop/svg/AbstractFOPTextPainter;)V
aload 1
invokevirtual org.apache.batik.bridge.TextNode.getTextRuns:()Ljava/util/List;
aload 2
aload 1
invokevirtual org.apache.batik.bridge.TextNode.getLocation:()Ljava/awt/geom/Point2D;
invokevirtual org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter.paintTextRuns:(Ljava/lang/Iterable;Ljava/awt/Graphics2D;Ljava/awt/geom/Point2D;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.svg.AbstractFOPTextPainter.proxyTextPainter:Lorg/apache/batik/bridge/TextPainter;
aload 1
aload 2
invokeinterface org.apache.batik.bridge.TextPainter.paint:(Lorg/apache/batik/bridge/TextNode;Ljava/awt/Graphics2D;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/fop/svg/AbstractFOPTextPainter;
0 4 1 node Lorg/apache/batik/bridge/TextNode;
0 4 2 g2d Ljava/awt/Graphics2D;
MethodParameters:
Name Flags
node
g2d
protected abstract boolean isSupportedGraphics2D(java.awt.Graphics2D);
descriptor: (Ljava/awt/Graphics2D;)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
g2d
protected java.lang.String getText(java.text.AttributedCharacterIterator);
descriptor: (Ljava/text/AttributedCharacterIterator;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: new java.lang.StringBuffer
dup
aload 1
invokeinterface java.text.AttributedCharacterIterator.getEndIndex:()I
aload 1
invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
isub
invokespecial java.lang.StringBuffer.<init>:(I)V
astore 2
start local 2 1: aload 1
invokeinterface java.text.AttributedCharacterIterator.first:()C
istore 3
start local 3 2: goto 5
3: StackMap locals: java.lang.StringBuffer int
StackMap stack:
aload 2
iload 3
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
4: aload 1
invokeinterface java.text.AttributedCharacterIterator.next:()C
istore 3
StackMap locals:
StackMap stack:
5: iload 3
ldc 65535
if_icmpne 3
end local 3 6: aload 2
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/fop/svg/AbstractFOPTextPainter;
0 7 1 aci Ljava/text/AttributedCharacterIterator;
1 7 2 sb Ljava/lang/StringBuffer;
2 6 3 c C
MethodParameters:
Name Flags
aci
private org.apache.fop.fonts.Font getFont(java.text.AttributedCharacterIterator);
descriptor: (Ljava/text/AttributedCharacterIterator;)Lorg/apache/fop/fonts/Font;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.apache.fop.svg.AbstractFOPTextPainter.nativeTextHandler:Lorg/apache/fop/svg/FOPTextHandler;
invokeinterface org.apache.fop.svg.FOPTextHandler.getFontInfo:()Lorg/apache/fop/fonts/FontInfo;
invokestatic org.apache.fop.svg.ACIUtils.findFontsForBatikACI:(Ljava/text/AttributedCharacterIterator;Lorg/apache/fop/fonts/FontInfo;)[Lorg/apache/fop/fonts/Font;
astore 2
start local 2 1: aload 2
ifnonnull 2
aconst_null
goto 3
StackMap locals: org.apache.fop.fonts.Font[]
StackMap stack:
2: aload 2
iconst_0
aaload
StackMap locals:
StackMap stack: org.apache.fop.fonts.Font
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/fop/svg/AbstractFOPTextPainter;
0 4 1 aci Ljava/text/AttributedCharacterIterator;
1 4 2 fonts [Lorg/apache/fop/fonts/Font;
MethodParameters:
Name Flags
aci
private float getStringWidth(java.lang.String, org.apache.fop.fonts.Font);
descriptor: (Ljava/lang/String;Lorg/apache/fop/fonts/Font;)F
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: fconst_0
fstore 3
start local 3 1: aload 2
aload 2
bipush 32
invokevirtual org.apache.fop.fonts.Font.mapChar:(C)C
invokevirtual org.apache.fop.fonts.Font.getWidth:(I)I
i2f
fstore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 13
4: StackMap locals: float float int
StackMap stack:
aload 1
iload 5
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 5: iload 7
bipush 32
if_icmpeq 10
iload 7
bipush 10
if_icmpeq 10
iload 7
bipush 13
if_icmpeq 10
iload 7
bipush 9
if_icmpeq 10
6: aload 2
aload 2
iload 7
invokevirtual org.apache.fop.fonts.Font.mapChar:(C)C
invokevirtual org.apache.fop.fonts.Font.getWidth:(I)I
i2f
fstore 6
start local 6 7: fload 6
fconst_0
fcmpg
ifgt 11
8: fload 4
fstore 6
9: goto 11
end local 6 10: StackMap locals: org.apache.fop.svg.AbstractFOPTextPainter java.lang.String org.apache.fop.fonts.Font float float int top int
StackMap stack:
fload 4
fstore 6
start local 6 11: StackMap locals: org.apache.fop.svg.AbstractFOPTextPainter java.lang.String org.apache.fop.fonts.Font float float int float int
StackMap stack:
fload 3
fload 6
fadd
fstore 3
end local 7 end local 6 12: iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 4
end local 5 14: fload 3
ldc 1000.0
fdiv
freturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/fop/svg/AbstractFOPTextPainter;
0 15 1 str Ljava/lang/String;
0 15 2 font Lorg/apache/fop/fonts/Font;
1 15 3 wordWidth F
2 15 4 whitespaceWidth F
3 14 5 i I
7 10 6 charWidth F
11 12 6 charWidth F
5 12 7 c C
MethodParameters:
Name Flags
str
font
public java.awt.Shape getOutline(org.apache.batik.bridge.TextNode);
descriptor: (Lorg/apache/batik/bridge/TextNode;)Ljava/awt/Shape;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.fop.svg.AbstractFOPTextPainter.proxyTextPainter:Lorg/apache/batik/bridge/TextPainter;
aload 1
invokeinterface org.apache.batik.bridge.TextPainter.getOutline:(Lorg/apache/batik/bridge/TextNode;)Ljava/awt/Shape;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/svg/AbstractFOPTextPainter;
0 1 1 node Lorg/apache/batik/bridge/TextNode;
MethodParameters:
Name Flags
node
public java.awt.geom.Rectangle2D getBounds2D(org.apache.batik.bridge.TextNode);
descriptor: (Lorg/apache/batik/bridge/TextNode;)Ljava/awt/geom/Rectangle2D;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.fop.svg.AbstractFOPTextPainter.proxyTextPainter:Lorg/apache/batik/bridge/TextPainter;
aload 1
invokeinterface org.apache.batik.bridge.TextPainter.getBounds2D:(Lorg/apache/batik/bridge/TextNode;)Ljava/awt/geom/Rectangle2D;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/svg/AbstractFOPTextPainter;
0 1 1 node Lorg/apache/batik/bridge/TextNode;
MethodParameters:
Name Flags
node
public java.awt.geom.Rectangle2D getGeometryBounds(org.apache.batik.bridge.TextNode);
descriptor: (Lorg/apache/batik/bridge/TextNode;)Ljava/awt/geom/Rectangle2D;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.fop.svg.AbstractFOPTextPainter.proxyTextPainter:Lorg/apache/batik/bridge/TextPainter;
aload 1
invokeinterface org.apache.batik.bridge.TextPainter.getGeometryBounds:(Lorg/apache/batik/bridge/TextNode;)Ljava/awt/geom/Rectangle2D;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/svg/AbstractFOPTextPainter;
0 1 1 node Lorg/apache/batik/bridge/TextNode;
MethodParameters:
Name Flags
node
public org.apache.batik.bridge.Mark getMark(org.apache.batik.bridge.TextNode, int, boolean);
descriptor: (Lorg/apache/batik/bridge/TextNode;IZ)Lorg/apache/batik/bridge/Mark;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/svg/AbstractFOPTextPainter;
0 1 1 node Lorg/apache/batik/bridge/TextNode;
0 1 2 pos I
0 1 3 all Z
MethodParameters:
Name Flags
node
pos
all
public org.apache.batik.bridge.Mark selectAt(double, double, org.apache.batik.bridge.TextNode);
descriptor: (DDLorg/apache/batik/bridge/TextNode;)Lorg/apache/batik/bridge/Mark;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=6, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aconst_null
areturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/svg/AbstractFOPTextPainter;
0 1 1 x D
0 1 3 y D
0 1 5 node Lorg/apache/batik/bridge/TextNode;
MethodParameters:
Name Flags
x
y
node
public org.apache.batik.bridge.Mark selectTo(double, double, org.apache.batik.bridge.Mark);
descriptor: (DDLorg/apache/batik/bridge/Mark;)Lorg/apache/batik/bridge/Mark;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=6, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aconst_null
areturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/svg/AbstractFOPTextPainter;
0 1 1 x D
0 1 3 y D
0 1 5 beginMark Lorg/apache/batik/bridge/Mark;
MethodParameters:
Name Flags
x
y
beginMark
public org.apache.batik.bridge.Mark selectFirst(org.apache.batik.bridge.TextNode);
descriptor: (Lorg/apache/batik/bridge/TextNode;)Lorg/apache/batik/bridge/Mark;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/svg/AbstractFOPTextPainter;
0 1 1 node Lorg/apache/batik/bridge/TextNode;
MethodParameters:
Name Flags
node
public org.apache.batik.bridge.Mark selectLast(org.apache.batik.bridge.TextNode);
descriptor: (Lorg/apache/batik/bridge/TextNode;)Lorg/apache/batik/bridge/Mark;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/svg/AbstractFOPTextPainter;
0 1 1 node Lorg/apache/batik/bridge/TextNode;
MethodParameters:
Name Flags
node
public int[] getSelected(org.apache.batik.bridge.Mark, org.apache.batik.bridge.Mark);
descriptor: (Lorg/apache/batik/bridge/Mark;Lorg/apache/batik/bridge/Mark;)[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/svg/AbstractFOPTextPainter;
0 1 1 start Lorg/apache/batik/bridge/Mark;
0 1 2 finish Lorg/apache/batik/bridge/Mark;
MethodParameters:
Name Flags
start
finish
public java.awt.Shape getHighlightShape(org.apache.batik.bridge.Mark, org.apache.batik.bridge.Mark);
descriptor: (Lorg/apache/batik/bridge/Mark;Lorg/apache/batik/bridge/Mark;)Ljava/awt/Shape;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/svg/AbstractFOPTextPainter;
0 1 1 beginMark Lorg/apache/batik/bridge/Mark;
0 1 2 endMark Lorg/apache/batik/bridge/Mark;
MethodParameters:
Name Flags
beginMark
endMark
}
SourceFile: "AbstractFOPTextPainter.java"
NestMembers:
org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter
InnerClasses:
public TextRun = org.apache.batik.bridge.StrokingTextPainter$TextRun of org.apache.batik.bridge.StrokingTextPainter
private TextRunPainter = org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter of org.apache.fop.svg.AbstractFOPTextPainter