public class org.apache.batik.bridge.StrokingTextPainter extends org.apache.batik.bridge.BasicTextPainter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.batik.bridge.StrokingTextPainter
super_class: org.apache.batik.bridge.BasicTextPainter
{
public static final java.text.AttributedCharacterIterator$Attribute PAINT_INFO;
descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.text.AttributedCharacterIterator$Attribute FLOW_REGIONS;
descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.text.AttributedCharacterIterator$Attribute FLOW_PARAGRAPH;
descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.text.AttributedCharacterIterator$Attribute TEXT_COMPOUND_ID;
descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.text.AttributedCharacterIterator$Attribute GVT_FONT;
descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.text.AttributedCharacterIterator$Attribute GVT_FONTS;
descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.text.AttributedCharacterIterator$Attribute BIDI_LEVEL;
descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.text.AttributedCharacterIterator$Attribute XPOS;
descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.text.AttributedCharacterIterator$Attribute YPOS;
descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.text.AttributedCharacterIterator$Attribute TEXTPATH;
descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.text.AttributedCharacterIterator$Attribute WRITING_MODE;
descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.Integer WRITING_MODE_TTB;
descriptor: Ljava/lang/Integer;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.Integer WRITING_MODE_RTL;
descriptor: Ljava/lang/Integer;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.text.AttributedCharacterIterator$Attribute ANCHOR_TYPE;
descriptor: Ljava/text/AttributedCharacterIterator$Attribute;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.Integer ADJUST_SPACING;
descriptor: Ljava/lang/Integer;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.Integer ADJUST_ALL;
descriptor: Ljava/lang/Integer;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute ALT_GLYPH_HANDLER;
descriptor: Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static java.util.Set extendedAtts;
descriptor: Ljava/util/Set;
flags: (0x0008) ACC_STATIC
protected static org.apache.batik.bridge.TextPainter singleton;
descriptor: Lorg/apache/batik/bridge/TextPainter;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.PAINT_INFO:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
1: putstatic org.apache.batik.bridge.StrokingTextPainter.PAINT_INFO:Ljava/text/AttributedCharacterIterator$Attribute;
2: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.FLOW_REGIONS:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
3: putstatic org.apache.batik.bridge.StrokingTextPainter.FLOW_REGIONS:Ljava/text/AttributedCharacterIterator$Attribute;
4: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.FLOW_PARAGRAPH:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
5: putstatic org.apache.batik.bridge.StrokingTextPainter.FLOW_PARAGRAPH:Ljava/text/AttributedCharacterIterator$Attribute;
6: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.TEXT_COMPOUND_ID:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
7: putstatic org.apache.batik.bridge.StrokingTextPainter.TEXT_COMPOUND_ID:Ljava/text/AttributedCharacterIterator$Attribute;
8: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.GVT_FONT:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
9: putstatic org.apache.batik.bridge.StrokingTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
10: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.GVT_FONTS:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
11: putstatic org.apache.batik.bridge.StrokingTextPainter.GVT_FONTS:Ljava/text/AttributedCharacterIterator$Attribute;
12: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.BIDI_LEVEL:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
13: putstatic org.apache.batik.bridge.StrokingTextPainter.BIDI_LEVEL:Ljava/text/AttributedCharacterIterator$Attribute;
14: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.X:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
15: putstatic org.apache.batik.bridge.StrokingTextPainter.XPOS:Ljava/text/AttributedCharacterIterator$Attribute;
16: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.Y:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
17: putstatic org.apache.batik.bridge.StrokingTextPainter.YPOS:Ljava/text/AttributedCharacterIterator$Attribute;
18: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.TEXTPATH:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
19: putstatic org.apache.batik.bridge.StrokingTextPainter.TEXTPATH:Ljava/text/AttributedCharacterIterator$Attribute;
20: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.WRITING_MODE:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
21: putstatic org.apache.batik.bridge.StrokingTextPainter.WRITING_MODE:Ljava/text/AttributedCharacterIterator$Attribute;
22: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.WRITING_MODE_TTB:Ljava/lang/Integer;
23: putstatic org.apache.batik.bridge.StrokingTextPainter.WRITING_MODE_TTB:Ljava/lang/Integer;
24: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.WRITING_MODE_RTL:Ljava/lang/Integer;
25: putstatic org.apache.batik.bridge.StrokingTextPainter.WRITING_MODE_RTL:Ljava/lang/Integer;
26: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ANCHOR_TYPE:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
27: putstatic org.apache.batik.bridge.StrokingTextPainter.ANCHOR_TYPE:Ljava/text/AttributedCharacterIterator$Attribute;
28: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ADJUST_SPACING:Ljava/lang/Integer;
29: putstatic org.apache.batik.bridge.StrokingTextPainter.ADJUST_SPACING:Ljava/lang/Integer;
30: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ADJUST_ALL:Ljava/lang/Integer;
31: putstatic org.apache.batik.bridge.StrokingTextPainter.ADJUST_ALL:Ljava/lang/Integer;
32: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ALT_GLYPH_HANDLER:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
33: putstatic org.apache.batik.bridge.StrokingTextPainter.ALT_GLYPH_HANDLER:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
34: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic org.apache.batik.bridge.StrokingTextPainter.extendedAtts:Ljava/util/Set;
35: getstatic org.apache.batik.bridge.StrokingTextPainter.extendedAtts:Ljava/util/Set;
getstatic org.apache.batik.bridge.StrokingTextPainter.FLOW_PARAGRAPH:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
36: getstatic org.apache.batik.bridge.StrokingTextPainter.extendedAtts:Ljava/util/Set;
getstatic org.apache.batik.bridge.StrokingTextPainter.TEXT_COMPOUND_ID:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
37: getstatic org.apache.batik.bridge.StrokingTextPainter.extendedAtts:Ljava/util/Set;
getstatic org.apache.batik.bridge.StrokingTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
38: new org.apache.batik.bridge.StrokingTextPainter
dup
invokespecial org.apache.batik.bridge.StrokingTextPainter.<init>:()V
putstatic org.apache.batik.bridge.StrokingTextPainter.singleton:Lorg/apache/batik/bridge/TextPainter;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.batik.bridge.BasicTextPainter.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
public static org.apache.batik.bridge.TextPainter getInstance();
descriptor: ()Lorg/apache/batik/bridge/TextPainter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.apache.batik.bridge.StrokingTextPainter.singleton:Lorg/apache/batik/bridge/TextPainter;
areturn
LocalVariableTable:
Start End Slot Name Signature
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=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.apache.batik.bridge.TextNode.getAttributedCharacterIterator:()Ljava/text/AttributedCharacterIterator;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: return
3: StackMap locals: java.text.AttributedCharacterIterator
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual org.apache.batik.bridge.StrokingTextPainter.getTextRuns:(Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
astore 4
start local 4 4: aload 0
aload 4
aload 2
iconst_1
invokevirtual org.apache.batik.bridge.StrokingTextPainter.paintDecorations:(Ljava/util/List;Ljava/awt/Graphics2D;I)V
5: aload 0
aload 4
aload 2
iconst_4
invokevirtual org.apache.batik.bridge.StrokingTextPainter.paintDecorations:(Ljava/util/List;Ljava/awt/Graphics2D;I)V
6: aload 0
aload 4
aload 2
invokevirtual org.apache.batik.bridge.StrokingTextPainter.paintTextRuns:(Ljava/util/List;Ljava/awt/Graphics2D;)V
7: aload 0
8: aload 4
aload 2
iconst_2
9: invokevirtual org.apache.batik.bridge.StrokingTextPainter.paintDecorations:(Ljava/util/List;Ljava/awt/Graphics2D;I)V
10: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
0 11 1 node Lorg/apache/batik/bridge/TextNode;
0 11 2 g2d Ljava/awt/Graphics2D;
1 11 3 aci Ljava/text/AttributedCharacterIterator;
4 11 4 textRuns Ljava/util/List;
MethodParameters:
Name Flags
node
g2d
protected void printAttrs(java.text.AttributedCharacterIterator);
descriptor: (Ljava/text/AttributedCharacterIterator;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.text.AttributedCharacterIterator.first:()C
pop
1: aload 1
invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
istore 2
start local 2 2: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "AttrRuns: "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
3: goto 8
4: StackMap locals: int
StackMap stack:
aload 1
invokeinterface java.text.AttributedCharacterIterator.getRunLimit:()I
istore 3
start local 3 5: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
iload 3
iload 2
isub
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
6: aload 1
iload 3
invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
pop
7: iload 3
istore 2
end local 3 8: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.text.AttributedCharacterIterator.current:()C
ldc 65535
if_icmpne 4
9: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc ""
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
0 11 1 aci Ljava/text/AttributedCharacterIterator;
2 11 2 start I
5 8 3 end I
MethodParameters:
Name Flags
aci
public java.util.List getTextRuns(org.apache.batik.bridge.TextNode, java.text.AttributedCharacterIterator);
descriptor: (Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.apache.batik.bridge.TextNode.getTextRuns:()Ljava/util/List;
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
areturn
3: StackMap locals: java.util.List
StackMap stack:
aload 0
aload 2
invokevirtual org.apache.batik.bridge.StrokingTextPainter.getTextChunkACIs:(Ljava/text/AttributedCharacterIterator;)[Ljava/text/AttributedCharacterIterator;
astore 4
start local 4 4: aload 0
aload 1
aload 2
aload 4
invokevirtual org.apache.batik.bridge.StrokingTextPainter.computeTextRuns:(Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;[Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
astore 3
5: aload 1
aload 3
invokevirtual org.apache.batik.bridge.TextNode.setTextRuns:(Ljava/util/List;)V
6: aload 1
invokevirtual org.apache.batik.bridge.TextNode.getTextRuns:()Ljava/util/List;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
0 7 1 node Lorg/apache/batik/bridge/TextNode;
0 7 2 aci Ljava/text/AttributedCharacterIterator;
1 7 3 textRuns Ljava/util/List;
4 7 4 chunkACIs [Ljava/text/AttributedCharacterIterator;
MethodParameters:
Name Flags
node
aci
public java.util.List computeTextRuns(org.apache.batik.bridge.TextNode, java.text.AttributedCharacterIterator, java.text.AttributedCharacterIterator[]);
descriptor: (Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;[Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
arraylength
anewarray int[]
astore 4
start local 4 1: aload 2
invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
istore 5
start local 5 2: iconst_0
istore 6
start local 6 3: goto 13
4: StackMap locals: int[][] int int
StackMap stack:
new org.apache.batik.gvt.text.BidiAttributedCharacterIterator
dup
5: aload 3
iload 6
aaload
aload 0
getfield org.apache.batik.bridge.StrokingTextPainter.fontRenderContext:Ljava/awt/font/FontRenderContext;
iload 5
6: invokespecial org.apache.batik.gvt.text.BidiAttributedCharacterIterator.<init>:(Ljava/text/AttributedCharacterIterator;Ljava/awt/font/FontRenderContext;I)V
astore 7
start local 7 7: aload 3
iload 6
aload 7
aastore
8: aload 4
iload 6
aload 7
invokevirtual org.apache.batik.gvt.text.BidiAttributedCharacterIterator.getCharMap:()[I
aastore
9: iload 5
aload 3
iload 6
aaload
invokeinterface java.text.AttributedCharacterIterator.getEndIndex:()I
10: aload 3
iload 6
aaload
invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
11: isub
iadd
istore 5
end local 7 12: iinc 6 1
StackMap locals:
StackMap stack:
13: iload 6
aload 3
arraylength
if_icmplt 4
end local 6 14: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual org.apache.batik.bridge.StrokingTextPainter.computeTextRuns:(Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;[Ljava/text/AttributedCharacterIterator;[[I)Ljava/util/List;
areturn
end local 5 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/batik/bridge/StrokingTextPainter;
0 15 1 node Lorg/apache/batik/bridge/TextNode;
0 15 2 aci Ljava/text/AttributedCharacterIterator;
0 15 3 chunkACIs [Ljava/text/AttributedCharacterIterator;
1 15 4 chunkCharMaps [[I
2 15 5 chunkStart I
3 14 6 i I
7 12 7 iter Lorg/apache/batik/gvt/text/BidiAttributedCharacterIterator;
MethodParameters:
Name Flags
node
aci
chunkACIs
protected java.util.List computeTextRuns(org.apache.batik.bridge.TextNode, java.text.AttributedCharacterIterator, java.text.AttributedCharacterIterator[], int[][]);
descriptor: (Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;[Ljava/text/AttributedCharacterIterator;[[I)Ljava/util/List;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
pop
1: iconst_0
istore 5
start local 5 2: goto 6
3: StackMap locals: int
StackMap stack:
aload 3
iload 5
aload 0
aload 3
iload 5
aaload
invokevirtual org.apache.batik.bridge.StrokingTextPainter.createModifiedACIForFontMatching:(Ljava/text/AttributedCharacterIterator;)Ljava/text/AttributedCharacterIterator;
aastore
4: aload 3
iload 5
aaload
invokeinterface java.text.AttributedCharacterIterator.getEndIndex:()I
pop
aload 3
iload 5
aaload
invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
pop
5: iinc 5 1
StackMap locals:
StackMap stack:
6: iload 5
aload 3
arraylength
if_icmplt 3
end local 5 7: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 8: aconst_null
astore 7
start local 7 9: iconst_0
istore 8
start local 8 10: aload 1
invokevirtual org.apache.batik.bridge.TextNode.getLocation:()Ljava/awt/geom/Point2D;
astore 9
start local 9 11: StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.text.AttributedCharacterIterator[] int[][] java.util.List top org.apache.batik.bridge.StrokingTextPainter$TextChunk int java.awt.geom.Point2D
StackMap stack:
aload 3
iload 8
aaload
invokeinterface java.text.AttributedCharacterIterator.first:()C
pop
12: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 10
start local 10 13: aload 0
aload 1
14: aload 3
iload 8
aaload
15: aload 4
ifnull 16
aload 4
iload 8
aaload
goto 17
StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.text.AttributedCharacterIterator[] int[][] java.util.List top org.apache.batik.bridge.StrokingTextPainter$TextChunk int java.awt.geom.Point2D java.util.List
StackMap stack: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator
16: aconst_null
17: StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.text.AttributedCharacterIterator[] int[][] java.util.List top org.apache.batik.bridge.StrokingTextPainter$TextChunk int java.awt.geom.Point2D java.util.List
StackMap stack: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator int[]
aload 10
18: aload 7
19: invokevirtual org.apache.batik.bridge.StrokingTextPainter.getTextChunk:(Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;[ILjava/util/List;Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;)Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;
astore 6
start local 6 20: aload 0
aload 6
aload 10
invokevirtual org.apache.batik.bridge.StrokingTextPainter.reorderTextRuns:(Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;Ljava/util/List;)Ljava/util/List;
astore 10
21: aload 3
iload 8
aaload
invokeinterface java.text.AttributedCharacterIterator.first:()C
pop
22: aload 6
ifnull 24
23: aload 0
aload 9
aload 10
aload 6
invokevirtual org.apache.batik.bridge.StrokingTextPainter.adjustChunkOffsets:(Ljava/awt/geom/Point2D;Ljava/util/List;Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;)Ljava/awt/geom/Point2D;
astore 9
24: StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.text.AttributedCharacterIterator[] int[][] java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk org.apache.batik.bridge.StrokingTextPainter$TextChunk int java.awt.geom.Point2D java.util.List
StackMap stack:
aload 5
aload 10
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
25: aload 6
astore 7
26: iinc 8 1
end local 10 27: aload 6
ifnull 29
iload 8
aload 3
arraylength
28: if_icmplt 11
29: StackMap locals:
StackMap stack:
aload 5
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
0 30 1 node Lorg/apache/batik/bridge/TextNode;
0 30 2 aci Ljava/text/AttributedCharacterIterator;
0 30 3 chunkACIs [Ljava/text/AttributedCharacterIterator;
0 30 4 chunkCharMaps [[I
2 7 5 i I
8 30 5 perNodeRuns Ljava/util/List;
20 30 6 chunk Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;
9 30 7 prevChunk Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;
10 30 8 currentChunk I
11 30 9 location Ljava/awt/geom/Point2D;
13 27 10 perChunkRuns Ljava/util/List;
MethodParameters:
Name Flags
node
aci
chunkACIs
chunkCharMaps
protected java.util.List reorderTextRuns(org.apache.batik.bridge.StrokingTextPainter$TextChunk, java.util.List);
descriptor: (Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;Ljava/util/List;)Ljava/util/List;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
0 1 1 chunk Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;
0 1 2 runs Ljava/util/List;
MethodParameters:
Name Flags
chunk
runs
protected java.text.AttributedCharacterIterator[] getTextChunkACIs(java.text.AttributedCharacterIterator);
descriptor: (Ljava/text/AttributedCharacterIterator;)[Ljava/text/AttributedCharacterIterator;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=13, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 1
invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
istore 3
start local 3 2: aload 1
invokeinterface java.text.AttributedCharacterIterator.first:()C
pop
3: aload 1
getstatic org.apache.batik.bridge.StrokingTextPainter.WRITING_MODE:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
astore 4
start local 4 4: aload 4
getstatic org.apache.batik.bridge.StrokingTextPainter.WRITING_MODE_TTB:Ljava/lang/Integer;
if_acmpne 5
iconst_1
goto 6
StackMap locals: java.util.List int java.lang.Object
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 5
start local 5 7: goto 66
8: StackMap locals: int
StackMap stack:
aconst_null
astore 6
start local 6 9: iload 3
istore 7
start local 7 10: iconst_0
istore 8
start local 8 11: goto 60
12: StackMap locals: org.apache.batik.gvt.text.TextPath int int
StackMap stack:
aload 1
getstatic org.apache.batik.bridge.StrokingTextPainter.TEXTPATH:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast org.apache.batik.gvt.text.TextPath
astore 9
start local 9 13: iload 7
iload 3
if_icmpeq 25
14: iload 5
ifeq 18
15: aload 1
getstatic org.apache.batik.bridge.StrokingTextPainter.YPOS:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.lang.Float
astore 10
start local 10 16: aload 10
ifnull 21
aload 10
invokevirtual java.lang.Float.isNaN:()Z
ifne 21
17: goto 61
end local 10 18: StackMap locals: org.apache.batik.gvt.text.TextPath
StackMap stack:
aload 1
getstatic org.apache.batik.bridge.StrokingTextPainter.XPOS:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.lang.Float
astore 10
start local 10 19: aload 10
ifnull 21
aload 10
invokevirtual java.lang.Float.isNaN:()Z
ifne 21
20: goto 61
end local 10 21: StackMap locals:
StackMap stack:
aload 6
ifnonnull 23
aload 9
ifnull 23
22: goto 61
23: StackMap locals:
StackMap stack:
aload 6
ifnull 25
aload 9
ifnonnull 25
24: goto 61
25: StackMap locals:
StackMap stack:
aload 9
astore 6
26: aload 1
getstatic org.apache.batik.bridge.StrokingTextPainter.FLOW_PARAGRAPH:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
ifnull 30
27: aload 1
getstatic org.apache.batik.bridge.StrokingTextPainter.FLOW_PARAGRAPH:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getRunLimit:(Ljava/text/AttributedCharacterIterator$Attribute;)I
istore 8
28: aload 1
iload 8
invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
pop
29: goto 61
30: StackMap locals:
StackMap stack:
aload 1
getstatic org.apache.batik.bridge.StrokingTextPainter.TEXT_COMPOUND_ID:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getRunLimit:(Ljava/text/AttributedCharacterIterator$Attribute;)I
istore 8
31: iload 7
iload 3
if_icmpeq 33
32: goto 59
33: StackMap locals:
StackMap stack:
aload 1
getstatic org.apache.batik.bridge.StrokingTextPainter.ANCHOR_TYPE:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast org.apache.batik.bridge.TextNode$Anchor
astore 10
start local 10 34: aload 10
getstatic org.apache.batik.bridge.TextNode$Anchor.START:Lorg/apache/batik/bridge/TextNode$Anchor;
if_acmpne 36
35: goto 59
36: StackMap locals: org.apache.batik.bridge.TextNode$Anchor
StackMap stack:
iload 5
ifeq 40
37: aload 1
getstatic org.apache.batik.bridge.StrokingTextPainter.YPOS:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.lang.Float
astore 11
start local 11 38: aload 11
ifnull 59
aload 11
invokevirtual java.lang.Float.isNaN:()Z
ifeq 43
39: goto 59
end local 11 40: StackMap locals:
StackMap stack:
aload 1
getstatic org.apache.batik.bridge.StrokingTextPainter.XPOS:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.lang.Float
astore 11
start local 11 41: aload 11
ifnull 59
aload 11
invokevirtual java.lang.Float.isNaN:()Z
ifeq 43
42: goto 59
end local 11 43: StackMap locals:
StackMap stack:
iload 7
iconst_1
iadd
istore 11
start local 11 44: goto 58
45: StackMap locals: int
StackMap stack:
aload 1
iload 11
invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
pop
46: iload 5
ifeq 50
47: aload 1
getstatic org.apache.batik.bridge.StrokingTextPainter.YPOS:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.lang.Float
astore 12
start local 12 48: aload 12
ifnull 59
aload 12
invokevirtual java.lang.Float.isNaN:()Z
ifeq 53
49: goto 59
end local 12 50: StackMap locals:
StackMap stack:
aload 1
getstatic org.apache.batik.bridge.StrokingTextPainter.XPOS:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.lang.Float
astore 12
start local 12 51: aload 12
ifnull 59
aload 12
invokevirtual java.lang.Float.isNaN:()Z
ifeq 53
52: goto 59
end local 12 53: StackMap locals:
StackMap stack:
aload 2
new org.apache.batik.gvt.text.AttributedCharacterSpanIterator
dup
54: aload 1
iload 11
iconst_1
isub
iload 11
invokespecial org.apache.batik.gvt.text.AttributedCharacterSpanIterator.<init>:(Ljava/text/AttributedCharacterIterator;II)V
55: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
56: iload 11
istore 3
57: iinc 11 1
StackMap locals:
StackMap stack:
58: iload 11
iload 8
if_icmplt 45
end local 11 end local 10 end local 9 59: StackMap locals:
StackMap stack:
iload 8
istore 7
StackMap locals:
StackMap stack:
60: aload 1
iload 7
invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
ldc 65535
if_icmpne 12
end local 8 end local 7 61: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.text.AttributedCharacterIterator.getIndex:()I
istore 7
start local 7 62: aload 2
new org.apache.batik.gvt.text.AttributedCharacterSpanIterator
dup
63: aload 1
iload 3
iload 7
invokespecial org.apache.batik.gvt.text.AttributedCharacterSpanIterator.<init>:(Ljava/text/AttributedCharacterIterator;II)V
64: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
65: iload 7
istore 3
end local 7 end local 6 66: StackMap locals:
StackMap stack:
aload 1
iload 3
invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
ldc 65535
if_icmpne 8
67: aload 2
invokeinterface java.util.List.size:()I
anewarray java.text.AttributedCharacterIterator
68: astore 6
start local 6 69: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
start local 7 70: iconst_0
istore 8
start local 8 71: goto 74
72: StackMap locals: java.text.AttributedCharacterIterator[] java.util.Iterator int
StackMap stack:
aload 6
iload 8
aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.text.AttributedCharacterIterator
aastore
73: iinc 8 1
StackMap locals:
StackMap stack:
74: aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 72
end local 8 75: aload 6
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 76 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
0 76 1 aci Ljava/text/AttributedCharacterIterator;
1 76 2 aciList Ljava/util/List;
2 76 3 chunkStartIndex I
4 76 4 writingMode Ljava/lang/Object;
7 76 5 vertical Z
9 66 6 prevTextPath Lorg/apache/batik/gvt/text/TextPath;
10 61 7 start I
11 61 8 end I
13 59 9 textPath Lorg/apache/batik/gvt/text/TextPath;
16 18 10 runY Ljava/lang/Float;
19 21 10 runX Ljava/lang/Float;
34 59 10 anchor Lorg/apache/batik/bridge/TextNode$Anchor;
38 40 11 runY Ljava/lang/Float;
41 43 11 runX Ljava/lang/Float;
44 59 11 i I
48 50 12 runY Ljava/lang/Float;
51 53 12 runX Ljava/lang/Float;
62 66 7 chunkEndIndex I
69 76 6 aciArray [Ljava/text/AttributedCharacterIterator;
70 76 7 iter Ljava/util/Iterator;
71 75 8 i I
MethodParameters:
Name Flags
aci
protected java.text.AttributedCharacterIterator createModifiedACIForFontMatching(java.text.AttributedCharacterIterator);
descriptor: (Ljava/text/AttributedCharacterIterator;)Ljava/text/AttributedCharacterIterator;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=25, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.text.AttributedCharacterIterator.first:()C
pop
1: aconst_null
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: aload 1
invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
istore 4
start local 4 4: iconst_1
istore 5
start local 5 5: aload 1
getstatic org.apache.batik.bridge.StrokingTextPainter.TEXT_COMPOUND_ID:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getRunStart:(Ljava/text/AttributedCharacterIterator$Attribute;)I
istore 7
start local 7 6: goto 114
7: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.text.AttributedCharacterIterator java.text.AttributedString int int int top int
StackMap stack:
iload 7
istore 6
start local 6 8: aload 1
getstatic org.apache.batik.bridge.StrokingTextPainter.TEXT_COMPOUND_ID:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getRunLimit:(Ljava/text/AttributedCharacterIterator$Attribute;)I
istore 7
9: iload 7
iload 6
isub
istore 8
start local 8 10: aload 1
getstatic org.apache.batik.bridge.StrokingTextPainter.GVT_FONTS:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.util.List
astore 9
start local 9 11: ldc 12.0
fstore 10
start local 10 12: aload 1
getstatic java.awt.font.TextAttribute.SIZE:Ljava/awt/font/TextAttribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.lang.Float
astore 11
start local 11 13: aload 11
ifnull 15
14: aload 11
invokevirtual java.lang.Float.floatValue:()F
fstore 10
15: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.text.AttributedCharacterIterator java.text.AttributedString int int int int int int java.util.List float java.lang.Float
StackMap stack:
aload 9
invokeinterface java.util.List.size:()I
ifne 17
16: aload 9
aload 0
invokevirtual org.apache.batik.bridge.StrokingTextPainter.getFontFamilyResolver:()Lorg/apache/batik/bridge/FontFamilyResolver;
invokeinterface org.apache.batik.bridge.FontFamilyResolver.getDefault:()Lorg/apache/batik/gvt/font/GVTFontFamily;
fload 10
aload 1
invokeinterface org.apache.batik.gvt.font.GVTFontFamily.deriveFont:(FLjava/text/AttributedCharacterIterator;)Lorg/apache/batik/gvt/font/GVTFont;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
17: StackMap locals:
StackMap stack:
iload 8
newarray 4
astore 12
start local 12 18: aload 2
ifnonnull 20
19: new java.text.AttributedString
dup
aload 1
invokespecial java.text.AttributedString.<init>:(Ljava/text/AttributedCharacterIterator;)V
astore 2
20: StackMap locals: boolean[]
StackMap stack:
aconst_null
astore 13
start local 13 21: iconst_0
istore 14
start local 14 22: iload 6
istore 15
start local 15 23: aload 9
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 18
goto 71
StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.text.AttributedCharacterIterator java.text.AttributedString int int int int int int java.util.List float java.lang.Float boolean[] org.apache.batik.gvt.font.GVTFont int int top top java.util.Iterator
StackMap stack:
24: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 17
start local 17 25: iload 15
istore 19
start local 19 26: iconst_0
istore 16
start local 16 27: aload 1
iload 19
invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
pop
28: aload 17
checkcast org.apache.batik.gvt.font.GVTFont
astore 20
start local 20 29: aload 13
ifnonnull 68
30: aload 20
astore 13
31: goto 68
32: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.text.AttributedCharacterIterator java.text.AttributedString int int int int int int java.util.List float java.lang.Float boolean[] org.apache.batik.gvt.font.GVTFont int int int java.lang.Object java.util.Iterator int org.apache.batik.gvt.font.GVTFont
StackMap stack:
aload 20
33: aload 1
iload 19
iload 7
34: invokeinterface org.apache.batik.gvt.font.GVTFont.canDisplayUpTo:(Ljava/text/CharacterIterator;II)I
istore 21
start local 21 35: aload 1
getstatic org.apache.batik.bridge.StrokingTextPainter.ALT_GLYPH_HANDLER:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
astore 22
start local 22 36: aload 22
ifnull 38
37: iconst_m1
istore 21
38: StackMap locals: int java.lang.Object
StackMap stack:
iload 21
iconst_m1
if_icmpne 40
39: iload 7
istore 21
40: StackMap locals:
StackMap stack:
iload 21
iload 19
if_icmpgt 46
41: iload 16
ifne 44
42: iload 19
istore 15
43: iconst_1
istore 16
44: StackMap locals:
StackMap stack:
iinc 19 1
45: goto 68
46: StackMap locals:
StackMap stack:
iconst_m1
istore 23
start local 23 47: iload 19
istore 24
start local 24 48: goto 61
49: StackMap locals: int int
StackMap stack:
aload 12
iload 24
iload 6
isub
baload
ifeq 56
50: iload 23
iconst_m1
if_icmpeq 58
51: aload 2
getstatic org.apache.batik.bridge.StrokingTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
aload 20
52: iload 23
iload 4
isub
iload 24
iload 4
isub
53: invokevirtual java.text.AttributedString.addAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
54: iconst_m1
istore 23
55: goto 58
56: StackMap locals:
StackMap stack:
iload 23
iconst_m1
if_icmpne 58
57: iload 24
istore 23
58: StackMap locals:
StackMap stack:
aload 12
iload 24
iload 6
isub
iconst_1
bastore
59: iinc 14 1
60: iinc 24 1
StackMap locals:
StackMap stack:
61: iload 24
iload 21
if_icmplt 49
end local 24 62: iload 23
iconst_m1
if_icmpeq 67
63: aload 2
getstatic org.apache.batik.bridge.StrokingTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
aload 20
64: iload 23
iload 4
isub
65: iload 21
iload 4
isub
66: invokevirtual java.text.AttributedString.addAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
67: StackMap locals:
StackMap stack:
iload 21
iconst_1
iadd
istore 19
end local 23 end local 22 end local 21 68: StackMap locals:
StackMap stack:
iload 19
iload 7
if_icmplt 32
69: iload 14
iload 8
if_icmpne 71
70: goto 72
end local 20 end local 19 end local 17 end local 16 71: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.text.AttributedCharacterIterator java.text.AttributedString int int int int int int java.util.List float java.lang.Float boolean[] org.apache.batik.gvt.font.GVTFont int int top top java.util.Iterator
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
72: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.text.AttributedCharacterIterator java.text.AttributedString int int int int int int java.util.List float java.lang.Float boolean[] org.apache.batik.gvt.font.GVTFont int int
StackMap stack:
iconst_m1
istore 17
start local 17 73: aconst_null
astore 18
start local 18 74: aload 13
astore 19
start local 19 75: iconst_0
istore 20
start local 20 76: goto 105
77: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.text.AttributedCharacterIterator java.text.AttributedString int int int int int int java.util.List float java.lang.Float boolean[] org.apache.batik.gvt.font.GVTFont int int top int org.apache.batik.gvt.font.GVTFontFamily org.apache.batik.gvt.font.GVTFont int
StackMap stack:
aload 12
iload 20
baload
ifeq 86
78: iload 17
iconst_m1
if_icmpeq 104
79: aload 2
getstatic org.apache.batik.bridge.StrokingTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
aload 19
80: iload 17
iload 3
iadd
iload 20
iload 3
iadd
81: invokevirtual java.text.AttributedString.addAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
82: iconst_m1
istore 17
83: aconst_null
astore 19
84: aconst_null
astore 18
85: goto 104
86: StackMap locals:
StackMap stack:
aload 1
iload 6
iload 20
iadd
invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
istore 21
start local 21 87: aload 0
invokevirtual org.apache.batik.bridge.StrokingTextPainter.getFontFamilyResolver:()Lorg/apache/batik/bridge/FontFamilyResolver;
iload 21
invokeinterface org.apache.batik.bridge.FontFamilyResolver.getFamilyThatCanDisplay:(C)Lorg/apache/batik/gvt/font/GVTFontFamily;
astore 22
start local 22 88: iload 17
iconst_m1
if_icmpne 95
89: iload 20
istore 17
90: aload 22
astore 18
91: aload 18
ifnonnull 93
92: aload 13
astore 19
goto 104
93: StackMap locals: int org.apache.batik.gvt.font.GVTFontFamily
StackMap stack:
aload 22
fload 10
aload 1
invokeinterface org.apache.batik.gvt.font.GVTFontFamily.deriveFont:(FLjava/text/AttributedCharacterIterator;)Lorg/apache/batik/gvt/font/GVTFont;
astore 19
94: goto 104
StackMap locals:
StackMap stack:
95: aload 18
aload 22
if_acmpeq 104
96: aload 2
getstatic org.apache.batik.bridge.StrokingTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
aload 19
97: iload 17
iload 3
iadd
iload 20
iload 3
iadd
98: invokevirtual java.text.AttributedString.addAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
99: iload 20
istore 17
100: aload 22
astore 18
101: aload 18
ifnonnull 103
102: aload 13
astore 19
goto 104
103: StackMap locals:
StackMap stack:
aload 22
fload 10
aload 1
invokeinterface org.apache.batik.gvt.font.GVTFontFamily.deriveFont:(FLjava/text/AttributedCharacterIterator;)Lorg/apache/batik/gvt/font/GVTFont;
astore 19
end local 22 end local 21 104: StackMap locals:
StackMap stack:
iinc 20 1
StackMap locals:
StackMap stack:
105: iload 20
iload 8
if_icmplt 77
end local 20 106: iload 17
iconst_m1
if_icmpeq 110
107: aload 2
getstatic org.apache.batik.bridge.StrokingTextPainter.GVT_FONT:Ljava/text/AttributedCharacterIterator$Attribute;
aload 19
108: iload 17
iload 3
iadd
iload 8
iload 3
iadd
109: invokevirtual java.text.AttributedString.addAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V
110: StackMap locals:
StackMap stack:
iload 3
iload 8
iadd
istore 3
111: aload 1
iload 7
invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
ldc 65535
if_icmpne 113
112: iconst_0
istore 5
113: StackMap locals:
StackMap stack:
iload 7
istore 6
end local 19 end local 18 end local 17 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 6 114: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.text.AttributedCharacterIterator java.text.AttributedString int int int top int
StackMap stack:
iload 5
ifne 7
115: aload 2
ifnull 117
116: aload 2
invokevirtual java.text.AttributedString.getIterator:()Ljava/text/AttributedCharacterIterator;
areturn
117: StackMap locals:
StackMap stack:
aload 1
areturn
end local 7 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 118 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
0 118 1 aci Ljava/text/AttributedCharacterIterator;
2 118 2 as Ljava/text/AttributedString;
3 118 3 asOff I
4 118 4 begin I
5 118 5 moreChunks Z
8 114 6 start I
6 118 7 end I
10 114 8 aciLength I
11 114 9 fonts Ljava/util/List;
12 114 10 fontSize F
13 114 11 fsFloat Ljava/lang/Float;
18 114 12 fontAssigned [Z
21 114 13 defaultFont Lorg/apache/batik/gvt/font/GVTFont;
22 114 14 numSet I
23 114 15 firstUnset I
27 71 16 firstUnsetSet Z
25 71 17 font1 Ljava/lang/Object;
26 71 19 currentIndex I
29 71 20 font Lorg/apache/batik/gvt/font/GVTFont;
35 68 21 displayUpToIndex I
36 68 22 altGlyphElement Ljava/lang/Object;
47 68 23 runStart I
48 62 24 j I
73 114 17 runStart I
74 114 18 prevFF Lorg/apache/batik/gvt/font/GVTFontFamily;
75 114 19 prevF Lorg/apache/batik/gvt/font/GVTFont;
76 106 20 i I
87 104 21 c C
88 104 22 fontFamily Lorg/apache/batik/gvt/font/GVTFontFamily;
MethodParameters:
Name Flags
aci
protected org.apache.batik.bridge.FontFamilyResolver getFontFamilyResolver();
descriptor: ()Lorg/apache/batik/bridge/FontFamilyResolver;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.apache.batik.bridge.DefaultFontFamilyResolver.SINGLETON:Lorg/apache/batik/bridge/DefaultFontFamilyResolver;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
protected java.util.Set getTextRunBoundaryAttributes();
descriptor: ()Ljava/util/Set;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.apache.batik.bridge.StrokingTextPainter.extendedAtts:Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
protected org.apache.batik.bridge.StrokingTextPainter$TextChunk getTextChunk(org.apache.batik.bridge.TextNode, java.text.AttributedCharacterIterator, int[], java.util.List, org.apache.batik.bridge.StrokingTextPainter$TextChunk);
descriptor: (Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;[ILjava/util/List;Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;)Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=21, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iconst_0
istore 6
start local 6 1: aload 5
ifnull 3
2: aload 5
getfield org.apache.batik.bridge.StrokingTextPainter$TextChunk.end:I
istore 6
3: StackMap locals: int
StackMap stack:
iload 6
istore 7
start local 7 4: aload 2
invokeinterface java.text.AttributedCharacterIterator.getIndex:()I
istore 8
start local 8 5: aload 2
invokeinterface java.text.AttributedCharacterIterator.current:()C
ldc 65535
if_icmpne 7
6: aconst_null
areturn
7: StackMap locals: int int
StackMap stack:
new java.awt.geom.Point2D$Float
dup
fconst_0
fconst_0
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 9
start local 9 8: new java.awt.geom.Point2D$Float
dup
fconst_0
fconst_0
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 10
start local 10 9: iconst_1
istore 11
start local 11 10: aconst_null
astore 12
start local 12 11: aload 0
invokevirtual org.apache.batik.bridge.StrokingTextPainter.getTextRunBoundaryAttributes:()Ljava/util/Set;
astore 13
start local 13 12: StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator int[] java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk int int int java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float int org.apache.batik.bridge.TextSpanLayout java.util.Set
StackMap stack:
aload 2
aload 13
invokeinterface java.text.AttributedCharacterIterator.getRunStart:(Ljava/util/Set;)I
istore 14
start local 14 13: aload 2
aload 13
invokeinterface java.text.AttributedCharacterIterator.getRunLimit:(Ljava/util/Set;)I
istore 15
start local 15 14: new org.apache.batik.gvt.text.AttributedCharacterSpanIterator
dup
aload 2
iload 14
iload 15
invokespecial org.apache.batik.gvt.text.AttributedCharacterSpanIterator.<init>:(Ljava/text/AttributedCharacterIterator;II)V
astore 16
start local 16 15: iload 15
iload 14
isub
newarray 10
astore 17
start local 17 16: aload 3
ifnull 19
17: aload 3
iload 14
iload 8
isub
aload 17
iconst_0
aload 17
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
18: goto 25
19: StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator int[] java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk int int int java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float int org.apache.batik.bridge.TextSpanLayout java.util.Set int int java.text.AttributedCharacterIterator int[]
StackMap stack:
iconst_0
istore 18
start local 18 20: aload 17
arraylength
istore 19
start local 19 21: goto 24
22: StackMap locals: int int
StackMap stack:
aload 17
iload 18
iload 18
iastore
23: iinc 18 1
StackMap locals:
StackMap stack:
24: iload 18
iload 19
if_icmplt 22
end local 19 end local 18 25: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.batik.bridge.StrokingTextPainter.fontRenderContext:Ljava/awt/font/FontRenderContext;
astore 18
start local 18 26: aload 1
invokevirtual org.apache.batik.bridge.TextNode.getRenderingHints:()Ljava/awt/RenderingHints;
astore 19
start local 19 27: aload 19
ifnull 32
28: aload 19
getstatic java.awt.RenderingHints.KEY_TEXT_ANTIALIASING:Ljava/awt/RenderingHints$Key;
invokevirtual java.awt.RenderingHints.get:(Ljava/lang/Object;)Ljava/lang/Object;
29: getstatic java.awt.RenderingHints.VALUE_TEXT_ANTIALIAS_OFF:Ljava/lang/Object;
30: if_acmpne 32
31: aload 0
getfield org.apache.batik.bridge.StrokingTextPainter.aaOffFontRenderContext:Ljava/awt/font/FontRenderContext;
astore 18
32: StackMap locals: java.awt.font.FontRenderContext java.awt.RenderingHints
StackMap stack:
aload 0
invokevirtual org.apache.batik.bridge.StrokingTextPainter.getTextLayoutFactory:()Lorg/apache/batik/bridge/TextLayoutFactory;
33: aload 16
aload 17
aload 9
aload 18
34: invokeinterface org.apache.batik.bridge.TextLayoutFactory.createTextLayout:(Ljava/text/AttributedCharacterIterator;[ILjava/awt/geom/Point2D;Ljava/awt/font/FontRenderContext;)Lorg/apache/batik/bridge/TextSpanLayout;
astore 12
35: aload 4
new org.apache.batik.bridge.StrokingTextPainter$TextRun
dup
aload 12
aload 16
iload 11
invokespecial org.apache.batik.bridge.StrokingTextPainter$TextRun.<init>:(Lorg/apache/batik/bridge/TextSpanLayout;Ljava/text/AttributedCharacterIterator;Z)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
36: aload 12
invokeinterface org.apache.batik.bridge.TextSpanLayout.getAdvance2D:()Ljava/awt/geom/Point2D;
astore 20
start local 20 37: aload 10
dup
getfield java.awt.geom.Point2D$Float.x:F
aload 20
invokevirtual java.awt.geom.Point2D.getX:()D
d2f
fadd
putfield java.awt.geom.Point2D$Float.x:F
38: aload 10
dup
getfield java.awt.geom.Point2D$Float.y:F
aload 20
invokevirtual java.awt.geom.Point2D.getY:()D
d2f
fadd
putfield java.awt.geom.Point2D$Float.y:F
39: iinc 7 1
40: aload 2
iload 15
invokeinterface java.text.AttributedCharacterIterator.setIndex:(I)C
ldc 65535
if_icmpne 41
goto 43
41: StackMap locals: java.awt.geom.Point2D
StackMap stack:
iconst_0
istore 11
end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 42: goto 12
43: StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator int[] java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk int int int java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float int org.apache.batik.bridge.TextSpanLayout java.util.Set
StackMap stack:
new org.apache.batik.bridge.StrokingTextPainter$TextChunk
dup
iload 6
iload 7
aload 10
invokespecial org.apache.batik.bridge.StrokingTextPainter$TextChunk.<init>:(IILjava/awt/geom/Point2D;)V
areturn
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
0 44 1 node Lorg/apache/batik/bridge/TextNode;
0 44 2 aci Ljava/text/AttributedCharacterIterator;
0 44 3 charMap [I
0 44 4 textRuns Ljava/util/List;
0 44 5 prevChunk Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;
1 44 6 beginChunk I
4 44 7 endChunk I
5 44 8 begin I
8 44 9 offset Ljava/awt/geom/Point2D$Float;
9 44 10 advance Ljava/awt/geom/Point2D$Float;
10 44 11 isChunkStart Z
11 44 12 layout Lorg/apache/batik/bridge/TextSpanLayout;
12 44 13 textRunBoundaryAttributes Ljava/util/Set;
13 42 14 start I
14 42 15 end I
15 42 16 runaci Ljava/text/AttributedCharacterIterator;
16 42 17 subCharMap [I
20 25 18 i I
21 25 19 n I
26 42 18 frc Ljava/awt/font/FontRenderContext;
27 42 19 rh Ljava/awt/RenderingHints;
37 42 20 layoutAdvance Ljava/awt/geom/Point2D;
MethodParameters:
Name Flags
node
aci
charMap
textRuns
prevChunk
protected java.awt.geom.Point2D adjustChunkOffsets(java.awt.geom.Point2D, java.util.List, org.apache.batik.bridge.StrokingTextPainter$TextChunk);
descriptor: (Ljava/awt/geom/Point2D;Ljava/util/List;Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;)Ljava/awt/geom/Point2D;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=34, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
getfield org.apache.batik.bridge.StrokingTextPainter$TextChunk.end:I
aload 3
getfield org.apache.batik.bridge.StrokingTextPainter$TextChunk.begin:I
isub
istore 4
start local 4 1: aload 2
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
astore 5
start local 5 2: aload 5
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getAnchorType:()I
istore 6
start local 6 3: aload 5
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLength:()Ljava/lang/Float;
astore 7
start local 7 4: aload 5
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLengthAdjust:()Ljava/lang/Integer;
astore 8
start local 8 5: iconst_1
istore 9
start local 9 6: aload 7
ifnull 7
aload 7
invokevirtual java.lang.Float.isNaN:()Z
ifeq 8
7: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.awt.geom.Point2D java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk int org.apache.batik.bridge.StrokingTextPainter$TextRun int java.lang.Float java.lang.Integer int
StackMap stack:
iconst_0
istore 9
8: StackMap locals:
StackMap stack:
iconst_0
istore 10
start local 10 9: iconst_0
istore 11
start local 11 10: goto 15
11: StackMap locals: int int
StackMap stack:
aload 2
iload 11
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
astore 5
12: aload 5
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getACI:()Ljava/text/AttributedCharacterIterator;
astore 12
start local 12 13: iload 10
aload 12
invokeinterface java.text.AttributedCharacterIterator.getEndIndex:()I
aload 12
invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
isub
iadd
istore 10
end local 12 14: iinc 11 1
StackMap locals:
StackMap stack:
15: iload 11
iload 4
if_icmplt 11
end local 11 16: aload 8
17: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ADJUST_SPACING:Ljava/lang/Integer;
18: if_acmpne 21
19: iload 10
iconst_1
if_icmpne 21
20: iconst_0
istore 9
21: StackMap locals:
StackMap stack:
fconst_1
fstore 11
start local 11 22: fconst_1
fstore 12
start local 12 23: aload 2
iload 4
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
astore 5
24: aload 5
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
astore 13
start local 13 25: aload 13
aload 13
invokeinterface org.apache.batik.bridge.TextSpanLayout.getGlyphCount:()I
iconst_1
isub
invokeinterface org.apache.batik.bridge.TextSpanLayout.getGlyphMetrics:(I)Lorg/apache/batik/gvt/font/GVTGlyphMetrics;
26: astore 14
start local 14 27: aload 13
invokeinterface org.apache.batik.bridge.TextSpanLayout.getLineMetrics:()Lorg/apache/batik/gvt/font/GVTLineMetrics;
astore 15
start local 15 28: aload 14
invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 16
start local 16 29: aload 14
invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getVerticalAdvance:()F
30: aload 15
invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getAscent:()F
31: aload 15
invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getDescent:()F
32: fadd
33: fsub
34: fconst_2
35: fdiv
fstore 17
start local 17 36: aload 16
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
aload 16
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dadd
d2f
fstore 18
start local 18 37: fload 17
aload 15
invokevirtual org.apache.batik.gvt.font.GVTLineMetrics.getAscent:()F
fadd
f2d
38: aload 16
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
aload 16
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dadd
39: dadd
d2f
fstore 19
start local 19 40: iload 9
ifne 46
41: new java.awt.geom.Point2D$Float
dup
42: aload 3
getfield org.apache.batik.bridge.StrokingTextPainter$TextChunk.advance:Ljava/awt/geom/Point2D;
invokevirtual java.awt.geom.Point2D.getX:()D
d2f
43: aload 3
getfield org.apache.batik.bridge.StrokingTextPainter$TextChunk.advance:Ljava/awt/geom/Point2D;
invokevirtual java.awt.geom.Point2D.getY:()D
fload 19
f2d
dadd
aload 14
invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getVerticalAdvance:()F
f2d
dsub
d2f
44: invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 20
start local 20 45: goto 85
end local 20 46: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.awt.geom.Point2D java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk int org.apache.batik.bridge.StrokingTextPainter$TextRun int java.lang.Float java.lang.Integer int int float float org.apache.batik.bridge.TextSpanLayout org.apache.batik.gvt.font.GVTGlyphMetrics org.apache.batik.gvt.font.GVTLineMetrics java.awt.geom.Rectangle2D float float float
StackMap stack:
aload 3
getfield org.apache.batik.bridge.StrokingTextPainter$TextChunk.advance:Ljava/awt/geom/Point2D;
astore 21
start local 21 47: aload 13
invokeinterface org.apache.batik.bridge.TextSpanLayout.isVertical:()Z
ifeq 60
48: aload 8
getstatic org.apache.batik.bridge.StrokingTextPainter.ADJUST_SPACING:Ljava/lang/Integer;
if_acmpne 54
49: aload 7
invokevirtual java.lang.Float.floatValue:()F
fload 19
fsub
f2d
50: aload 21
invokevirtual java.awt.geom.Point2D.getY:()D
aload 14
invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getVerticalAdvance:()F
f2d
dsub
51: ddiv
d2f
52: fstore 12
53: goto 58
54: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.awt.geom.Point2D java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk int org.apache.batik.bridge.StrokingTextPainter$TextRun int java.lang.Float java.lang.Integer int int float float org.apache.batik.bridge.TextSpanLayout org.apache.batik.gvt.font.GVTGlyphMetrics org.apache.batik.gvt.font.GVTLineMetrics java.awt.geom.Rectangle2D float float float top java.awt.geom.Point2D
StackMap stack:
aload 21
invokevirtual java.awt.geom.Point2D.getY:()D
fload 19
f2d
dadd
55: aload 14
invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getVerticalAdvance:()F
f2d
56: dsub
dstore 22
start local 22 57: aload 7
invokevirtual java.lang.Float.floatValue:()F
f2d
dload 22
ddiv
d2f
fstore 12
end local 22 58: StackMap locals:
StackMap stack:
new java.awt.geom.Point2D$Float
dup
fconst_0
aload 7
invokevirtual java.lang.Float.floatValue:()F
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 20
start local 20 59: goto 71
end local 20 60: StackMap locals:
StackMap stack:
aload 8
getstatic org.apache.batik.bridge.StrokingTextPainter.ADJUST_SPACING:Ljava/lang/Integer;
if_acmpne 66
61: aload 7
invokevirtual java.lang.Float.floatValue:()F
fload 18
fsub
f2d
62: aload 21
invokevirtual java.awt.geom.Point2D.getX:()D
aload 14
invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getHorizontalAdvance:()F
f2d
dsub
63: ddiv
d2f
64: fstore 11
65: goto 70
66: StackMap locals:
StackMap stack:
aload 21
invokevirtual java.awt.geom.Point2D.getX:()D
fload 18
f2d
dadd
67: aload 14
invokevirtual org.apache.batik.gvt.font.GVTGlyphMetrics.getHorizontalAdvance:()F
f2d
68: dsub
dstore 22
start local 22 69: aload 7
invokevirtual java.lang.Float.floatValue:()F
f2d
dload 22
ddiv
d2f
fstore 11
end local 22 70: StackMap locals:
StackMap stack:
new java.awt.geom.Point2D$Float
dup
aload 7
invokevirtual java.lang.Float.floatValue:()F
fconst_0
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 20
start local 20 71: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.awt.geom.Point2D java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk int org.apache.batik.bridge.StrokingTextPainter$TextRun int java.lang.Float java.lang.Integer int int float float org.apache.batik.bridge.TextSpanLayout org.apache.batik.gvt.font.GVTGlyphMetrics org.apache.batik.gvt.font.GVTLineMetrics java.awt.geom.Rectangle2D float float float java.awt.geom.Point2D java.awt.geom.Point2D
StackMap stack:
new java.awt.geom.Point2D$Float
dup
fconst_0
fconst_0
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 22
start local 22 72: iconst_0
istore 23
start local 23 73: goto 83
74: StackMap locals: java.awt.geom.Point2D$Float int
StackMap stack:
aload 2
iload 23
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
astore 5
75: aload 5
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
astore 13
76: aload 13
fload 11
fload 12
aload 8
getstatic org.apache.batik.bridge.StrokingTextPainter.ADJUST_SPACING:Ljava/lang/Integer;
if_acmpne 77
iconst_1
goto 78
StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.awt.geom.Point2D java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk int org.apache.batik.bridge.StrokingTextPainter$TextRun int java.lang.Float java.lang.Integer int int float float org.apache.batik.bridge.TextSpanLayout org.apache.batik.gvt.font.GVTGlyphMetrics org.apache.batik.gvt.font.GVTLineMetrics java.awt.geom.Rectangle2D float float float java.awt.geom.Point2D java.awt.geom.Point2D java.awt.geom.Point2D$Float int
StackMap stack: org.apache.batik.bridge.TextSpanLayout float float
77: iconst_0
StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.awt.geom.Point2D java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk int org.apache.batik.bridge.StrokingTextPainter$TextRun int java.lang.Float java.lang.Integer int int float float org.apache.batik.bridge.TextSpanLayout org.apache.batik.gvt.font.GVTGlyphMetrics org.apache.batik.gvt.font.GVTLineMetrics java.awt.geom.Rectangle2D float float float java.awt.geom.Point2D java.awt.geom.Point2D java.awt.geom.Point2D$Float int
StackMap stack: org.apache.batik.bridge.TextSpanLayout float float int
78: invokeinterface org.apache.batik.bridge.TextSpanLayout.setScale:(FFZ)V
79: aload 13
invokeinterface org.apache.batik.bridge.TextSpanLayout.getAdvance2D:()Ljava/awt/geom/Point2D;
astore 24
start local 24 80: aload 22
dup
getfield java.awt.geom.Point2D$Float.x:F
aload 24
invokevirtual java.awt.geom.Point2D.getX:()D
d2f
fadd
putfield java.awt.geom.Point2D$Float.x:F
81: aload 22
dup
getfield java.awt.geom.Point2D$Float.y:F
aload 24
invokevirtual java.awt.geom.Point2D.getY:()D
d2f
fadd
putfield java.awt.geom.Point2D$Float.y:F
end local 24 82: iinc 23 1
StackMap locals:
StackMap stack:
83: iload 23
iload 4
if_icmplt 74
end local 23 84: aload 3
aload 22
putfield org.apache.batik.bridge.StrokingTextPainter$TextChunk.advance:Ljava/awt/geom/Point2D;
end local 22 end local 21 85: StackMap locals:
StackMap stack:
fconst_0
fstore 21
start local 21 86: fconst_0
fstore 22
start local 22 87: iload 6
tableswitch { // 1 - 2
1: 88
2: 91
default: 94
}
88: StackMap locals: float float
StackMap stack:
aload 20
invokevirtual java.awt.geom.Point2D.getX:()D
dneg
ldc 2.0
ddiv
d2f
fstore 21
89: aload 20
invokevirtual java.awt.geom.Point2D.getY:()D
dneg
ldc 2.0
ddiv
d2f
fstore 22
90: goto 94
91: StackMap locals:
StackMap stack:
aload 20
invokevirtual java.awt.geom.Point2D.getX:()D
dneg
d2f
fstore 21
92: aload 20
invokevirtual java.awt.geom.Point2D.getY:()D
dneg
d2f
fstore 22
93: goto 94
94: StackMap locals:
StackMap stack:
aload 2
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
astore 5
95: aload 5
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
astore 13
96: aload 5
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getACI:()Ljava/text/AttributedCharacterIterator;
astore 23
start local 23 97: aload 23
invokeinterface java.text.AttributedCharacterIterator.first:()C
pop
98: aload 13
invokeinterface org.apache.batik.bridge.TextSpanLayout.isVertical:()Z
istore 24
start local 24 99: aload 23
getstatic org.apache.batik.bridge.StrokingTextPainter.XPOS:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.lang.Float
astore 25
start local 25 100: aload 23
getstatic org.apache.batik.bridge.StrokingTextPainter.YPOS:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.lang.Float
astore 26
start local 26 101: aload 23
getstatic org.apache.batik.bridge.StrokingTextPainter.TEXTPATH:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast org.apache.batik.gvt.text.TextPath
astore 27
start local 27 102: aload 1
invokevirtual java.awt.geom.Point2D.getX:()D
d2f
fstore 28
start local 28 103: aload 1
invokevirtual java.awt.geom.Point2D.getY:()D
d2f
fstore 29
start local 29 104: fconst_0
fstore 30
start local 30 105: fconst_0
fstore 31
start local 31 106: aload 25
ifnull 109
aload 25
invokevirtual java.lang.Float.isNaN:()Z
ifne 109
107: aload 25
invokevirtual java.lang.Float.floatValue:()F
fstore 28
108: fload 28
fstore 30
109: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.awt.geom.Point2D java.util.List org.apache.batik.bridge.StrokingTextPainter$TextChunk int org.apache.batik.bridge.StrokingTextPainter$TextRun int java.lang.Float java.lang.Integer int int float float org.apache.batik.bridge.TextSpanLayout org.apache.batik.gvt.font.GVTGlyphMetrics org.apache.batik.gvt.font.GVTLineMetrics java.awt.geom.Rectangle2D float float float java.awt.geom.Point2D float float java.text.AttributedCharacterIterator int java.lang.Float java.lang.Float org.apache.batik.gvt.text.TextPath float float float float
StackMap stack:
aload 26
ifnull 112
aload 26
invokevirtual java.lang.Float.isNaN:()Z
ifne 112
110: aload 26
invokevirtual java.lang.Float.floatValue:()F
fstore 29
111: fload 29
fstore 31
112: StackMap locals:
StackMap stack:
iload 24
ifeq 117
113: fload 29
fload 22
fadd
fstore 29
114: fload 31
fload 22
fadd
fstore 31
115: fconst_0
fstore 30
116: goto 120
117: StackMap locals:
StackMap stack:
fload 28
fload 21
fadd
fstore 28
118: fload 30
fload 21
fadd
fstore 30
119: fconst_0
fstore 31
120: StackMap locals:
StackMap stack:
iconst_0
istore 32
start local 32 121: goto 149
122: StackMap locals: int
StackMap stack:
aload 2
iload 32
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
astore 5
123: aload 5
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
astore 13
124: aload 5
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getACI:()Ljava/text/AttributedCharacterIterator;
astore 23
125: aload 23
invokeinterface java.text.AttributedCharacterIterator.first:()C
pop
126: aload 23
getstatic org.apache.batik.bridge.StrokingTextPainter.TEXTPATH:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast org.apache.batik.gvt.text.TextPath
astore 27
127: iload 24
ifeq 132
128: aload 23
getstatic org.apache.batik.bridge.StrokingTextPainter.XPOS:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.lang.Float
astore 25
129: aload 25
ifnull 135
aload 25
invokevirtual java.lang.Float.isNaN:()Z
ifne 135
130: aload 25
invokevirtual java.lang.Float.floatValue:()F
fstore 28
131: goto 135
132: StackMap locals:
StackMap stack:
aload 23
getstatic org.apache.batik.bridge.StrokingTextPainter.YPOS:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.lang.Float
astore 26
133: aload 26
ifnull 135
aload 26
invokevirtual java.lang.Float.isNaN:()Z
ifne 135
134: aload 26
invokevirtual java.lang.Float.floatValue:()F
fstore 29
135: StackMap locals:
StackMap stack:
aload 27
ifnonnull 141
136: aload 13
new java.awt.geom.Point2D$Float
dup
fload 28
fload 29
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
invokeinterface org.apache.batik.bridge.TextSpanLayout.setOffset:(Ljava/awt/geom/Point2D;)V
137: aload 13
invokeinterface org.apache.batik.bridge.TextSpanLayout.getAdvance2D:()Ljava/awt/geom/Point2D;
astore 33
start local 33 138: fload 28
f2d
aload 33
invokevirtual java.awt.geom.Point2D.getX:()D
dadd
d2f
fstore 28
139: fload 29
f2d
aload 33
invokevirtual java.awt.geom.Point2D.getY:()D
dadd
d2f
fstore 29
end local 33 140: goto 148
141: StackMap locals:
StackMap stack:
aload 13
new java.awt.geom.Point2D$Float
dup
fload 30
fload 31
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
invokeinterface org.apache.batik.bridge.TextSpanLayout.setOffset:(Ljava/awt/geom/Point2D;)V
142: aload 13
invokeinterface org.apache.batik.bridge.TextSpanLayout.getAdvance2D:()Ljava/awt/geom/Point2D;
astore 33
start local 33 143: fload 30
aload 33
invokevirtual java.awt.geom.Point2D.getX:()D
d2f
fadd
fstore 30
144: fload 31
aload 33
invokevirtual java.awt.geom.Point2D.getY:()D
d2f
fadd
fstore 31
145: aload 13
invokeinterface org.apache.batik.bridge.TextSpanLayout.getTextPathAdvance:()Ljava/awt/geom/Point2D;
astore 33
146: aload 33
invokevirtual java.awt.geom.Point2D.getX:()D
d2f
fstore 28
147: aload 33
invokevirtual java.awt.geom.Point2D.getY:()D
d2f
fstore 29
end local 33 148: StackMap locals:
StackMap stack:
iinc 32 1
StackMap locals:
StackMap stack:
149: iload 32
iload 4
if_icmplt 122
end local 32 150: new java.awt.geom.Point2D$Float
dup
fload 28
fload 29
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
areturn
end local 31 end local 30 end local 29 end local 28 end local 27 end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 151 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
0 151 1 location Ljava/awt/geom/Point2D;
0 151 2 textRuns Ljava/util/List;
0 151 3 chunk Lorg/apache/batik/bridge/StrokingTextPainter$TextChunk;
1 151 4 numRuns I
2 151 5 r Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
3 151 6 anchorType I
4 151 7 length Ljava/lang/Float;
5 151 8 lengthAdj Ljava/lang/Integer;
6 151 9 doAdjust Z
9 151 10 numChars I
10 16 11 i I
13 14 12 aci Ljava/text/AttributedCharacterIterator;
22 151 11 xScale F
23 151 12 yScale F
25 151 13 layout Lorg/apache/batik/bridge/TextSpanLayout;
27 151 14 lastMetrics Lorg/apache/batik/gvt/font/GVTGlyphMetrics;
28 151 15 lastLineMetrics Lorg/apache/batik/gvt/font/GVTLineMetrics;
29 151 16 lastBounds Ljava/awt/geom/Rectangle2D;
36 151 17 halfLeading F
37 151 18 lastW F
40 151 19 lastH F
45 46 20 visualAdvance Ljava/awt/geom/Point2D;
59 60 20 visualAdvance Ljava/awt/geom/Point2D;
71 151 20 visualAdvance Ljava/awt/geom/Point2D;
47 85 21 advance Ljava/awt/geom/Point2D;
57 58 22 adv D
69 70 22 adv D
72 85 22 adv Ljava/awt/geom/Point2D$Float;
73 84 23 i I
80 82 24 lAdv Ljava/awt/geom/Point2D;
86 151 21 dx F
87 151 22 dy F
97 151 23 runaci Ljava/text/AttributedCharacterIterator;
99 151 24 vertical Z
100 151 25 runX Ljava/lang/Float;
101 151 26 runY Ljava/lang/Float;
102 151 27 textPath Lorg/apache/batik/gvt/text/TextPath;
103 151 28 absX F
104 151 29 absY F
105 151 30 tpShiftX F
106 151 31 tpShiftY F
121 150 32 i I
138 140 33 ladv Ljava/awt/geom/Point2D;
143 148 33 ladv Ljava/awt/geom/Point2D;
MethodParameters:
Name Flags
location
textRuns
chunk
protected void paintDecorations(java.util.List, java.awt.Graphics2D, int);
descriptor: (Ljava/util/List;Ljava/awt/Graphics2D;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=10, locals=28, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aconst_null
astore 5
start local 5 2: aconst_null
astore 6
start local 6 3: iconst_1
istore 7
start local 7 4: aconst_null
astore 8
start local 8 5: dconst_0
dstore 9
start local 9 6: dconst_0
dstore 11
start local 11 7: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 14
goto 79
StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List java.awt.Graphics2D int java.awt.Paint java.awt.Paint java.awt.Stroke int java.awt.geom.Rectangle2D double double top java.util.Iterator
StackMap stack:
8: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 13
start local 13 9: aload 13
checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
astore 15
start local 15 10: aload 15
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getACI:()Ljava/text/AttributedCharacterIterator;
astore 16
start local 16 11: aload 16
invokeinterface java.text.AttributedCharacterIterator.first:()C
pop
12: aconst_null
astore 17
start local 17 13: aconst_null
astore 18
start local 18 14: aconst_null
astore 19
start local 19 15: iconst_1
istore 20
start local 20 16: aload 16
getstatic org.apache.batik.bridge.StrokingTextPainter.PAINT_INFO:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast org.apache.batik.gvt.text.TextPaintInfo
astore 21
start local 21 17: aload 21
ifnull 35
18: aload 21
getfield org.apache.batik.gvt.text.TextPaintInfo.visible:Z
istore 20
19: aload 21
getfield org.apache.batik.gvt.text.TextPaintInfo.composite:Ljava/awt/Composite;
ifnull 21
20: aload 2
aload 21
getfield org.apache.batik.gvt.text.TextPaintInfo.composite:Ljava/awt/Composite;
invokevirtual java.awt.Graphics2D.setComposite:(Ljava/awt/Composite;)V
21: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List java.awt.Graphics2D int java.awt.Paint java.awt.Paint java.awt.Stroke int java.awt.geom.Rectangle2D double double java.lang.Object java.util.Iterator org.apache.batik.bridge.StrokingTextPainter$TextRun java.text.AttributedCharacterIterator java.awt.Paint java.awt.Stroke java.awt.Paint int org.apache.batik.gvt.text.TextPaintInfo
StackMap stack:
iload 3
tableswitch { // 1 - 4
1: 22
2: 30
3: 34
4: 26
default: 34
}
22: StackMap locals:
StackMap stack:
aload 21
getfield org.apache.batik.gvt.text.TextPaintInfo.underlinePaint:Ljava/awt/Paint;
astore 17
23: aload 21
getfield org.apache.batik.gvt.text.TextPaintInfo.underlineStroke:Ljava/awt/Stroke;
astore 18
24: aload 21
getfield org.apache.batik.gvt.text.TextPaintInfo.underlineStrokePaint:Ljava/awt/Paint;
astore 19
25: goto 35
26: StackMap locals:
StackMap stack:
aload 21
getfield org.apache.batik.gvt.text.TextPaintInfo.overlinePaint:Ljava/awt/Paint;
astore 17
27: aload 21
getfield org.apache.batik.gvt.text.TextPaintInfo.overlineStroke:Ljava/awt/Stroke;
astore 18
28: aload 21
getfield org.apache.batik.gvt.text.TextPaintInfo.overlineStrokePaint:Ljava/awt/Paint;
astore 19
29: goto 35
30: StackMap locals:
StackMap stack:
aload 21
getfield org.apache.batik.gvt.text.TextPaintInfo.strikethroughPaint:Ljava/awt/Paint;
astore 17
31: aload 21
getfield org.apache.batik.gvt.text.TextPaintInfo.strikethroughStroke:Ljava/awt/Stroke;
astore 18
32: aload 21
getfield org.apache.batik.gvt.text.TextPaintInfo.strikethroughStrokePaint:Ljava/awt/Paint;
astore 19
33: goto 35
34: StackMap locals:
StackMap stack:
return
35: StackMap locals:
StackMap stack:
aload 15
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.isFirstRunInChunk:()Z
ifeq 42
36: aload 15
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
37: iload 3
38: invokeinterface org.apache.batik.bridge.TextSpanLayout.getDecorationOutline:(I)Ljava/awt/Shape;
astore 22
start local 22 39: aload 22
invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 23
start local 23 40: aload 23
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dstore 9
41: aload 23
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
dstore 11
end local 23 end local 22 42: StackMap locals:
StackMap stack:
aload 15
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.isFirstRunInChunk:()Z
ifne 47
43: aload 17
aload 4
if_acmpne 47
44: aload 18
aload 6
if_acmpne 47
45: aload 19
aload 5
if_acmpne 47
46: iload 20
iload 7
if_icmpeq 56
47: StackMap locals:
StackMap stack:
iload 7
ifeq 55
aload 8
ifnull 55
48: aload 4
ifnull 51
49: aload 2
aload 4
invokevirtual java.awt.Graphics2D.setPaint:(Ljava/awt/Paint;)V
50: aload 2
aload 8
invokevirtual java.awt.Graphics2D.fill:(Ljava/awt/Shape;)V
51: StackMap locals:
StackMap stack:
aload 6
ifnull 55
aload 5
ifnull 55
52: aload 2
aload 5
invokevirtual java.awt.Graphics2D.setPaint:(Ljava/awt/Paint;)V
53: aload 2
aload 6
invokevirtual java.awt.Graphics2D.setStroke:(Ljava/awt/Stroke;)V
54: aload 2
aload 8
invokevirtual java.awt.Graphics2D.draw:(Ljava/awt/Shape;)V
55: StackMap locals:
StackMap stack:
aconst_null
astore 8
56: StackMap locals:
StackMap stack:
aload 17
ifnonnull 57
aload 19
ifnull 75
57: StackMap locals:
StackMap stack:
aload 15
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
invokeinterface org.apache.batik.bridge.TextSpanLayout.isVertical:()Z
ifne 75
58: aload 15
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
invokeinterface org.apache.batik.bridge.TextSpanLayout.isOnATextPath:()Z
ifne 75
59: aload 15
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
iload 3
invokeinterface org.apache.batik.bridge.TextSpanLayout.getDecorationOutline:(I)Ljava/awt/Shape;
60: astore 22
start local 22 61: aload 8
ifnonnull 67
62: aload 22
invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 23
start local 23 63: new java.awt.geom.Rectangle2D$Double
dup
64: aload 23
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dload 9
aload 23
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
dload 11
65: invokespecial java.awt.geom.Rectangle2D$Double.<init>:(DDDD)V
astore 8
end local 23 66: goto 75
67: StackMap locals: java.awt.Shape
StackMap stack:
aload 22
invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 23
start local 23 68: aload 8
invokevirtual java.awt.geom.Rectangle2D.getX:()D
69: aload 23
invokevirtual java.awt.geom.Rectangle2D.getX:()D
70: invokestatic java.lang.Math.min:(DD)D
dstore 24
start local 24 71: aload 8
invokevirtual java.awt.geom.Rectangle2D.getMaxX:()D
72: aload 23
invokevirtual java.awt.geom.Rectangle2D.getMaxX:()D
73: invokestatic java.lang.Math.max:(DD)D
dstore 26
start local 26 74: aload 8
dload 24
dload 9
dload 26
dload 24
dsub
dload 11
invokevirtual java.awt.geom.Rectangle2D.setRect:(DDDD)V
end local 26 end local 24 end local 23 end local 22 75: StackMap locals:
StackMap stack:
aload 17
astore 4
76: aload 18
astore 6
77: aload 19
astore 5
78: iload 20
istore 7
end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 13 79: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List java.awt.Graphics2D int java.awt.Paint java.awt.Paint java.awt.Stroke int java.awt.geom.Rectangle2D double double top java.util.Iterator
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
80: iload 7
ifeq 88
aload 8
ifnull 88
81: aload 4
ifnull 84
82: aload 2
aload 4
invokevirtual java.awt.Graphics2D.setPaint:(Ljava/awt/Paint;)V
83: aload 2
aload 8
invokevirtual java.awt.Graphics2D.fill:(Ljava/awt/Shape;)V
84: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List java.awt.Graphics2D int java.awt.Paint java.awt.Paint java.awt.Stroke int java.awt.geom.Rectangle2D double double
StackMap stack:
aload 6
ifnull 88
aload 5
ifnull 88
85: aload 2
aload 5
invokevirtual java.awt.Graphics2D.setPaint:(Ljava/awt/Paint;)V
86: aload 2
aload 6
invokevirtual java.awt.Graphics2D.setStroke:(Ljava/awt/Stroke;)V
87: aload 2
aload 8
invokevirtual java.awt.Graphics2D.draw:(Ljava/awt/Shape;)V
88: StackMap locals:
StackMap stack:
return
end local 11 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 89 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
0 89 1 textRuns Ljava/util/List;
0 89 2 g2d Ljava/awt/Graphics2D;
0 89 3 decorationType I
1 89 4 prevPaint Ljava/awt/Paint;
2 89 5 prevStrokePaint Ljava/awt/Paint;
3 89 6 prevStroke Ljava/awt/Stroke;
4 89 7 prevVisible Z
5 89 8 decorationRect Ljava/awt/geom/Rectangle2D;
6 89 9 yLoc D
7 89 11 height D
9 79 13 textRun1 Ljava/lang/Object;
10 79 15 textRun Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
11 79 16 runaci Ljava/text/AttributedCharacterIterator;
13 79 17 paint Ljava/awt/Paint;
14 79 18 stroke Ljava/awt/Stroke;
15 79 19 strokePaint Ljava/awt/Paint;
16 79 20 visible Z
17 79 21 tpi Lorg/apache/batik/gvt/text/TextPaintInfo;
39 42 22 s Ljava/awt/Shape;
40 42 23 r2d Ljava/awt/geom/Rectangle2D;
61 75 22 decorationShape Ljava/awt/Shape;
63 66 23 r2d Ljava/awt/geom/Rectangle2D;
68 75 23 bounds Ljava/awt/geom/Rectangle2D;
71 75 24 minX D
74 75 26 maxX D
MethodParameters:
Name Flags
textRuns
g2d
decorationType
protected void paintTextRuns(java.util.List, java.awt.Graphics2D);
descriptor: (Ljava/util/List;Ljava/awt/Graphics2D;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List java.awt.Graphics2D top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 3
start local 3 2: aload 3
checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
astore 5
start local 5 3: aload 5
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getACI:()Ljava/text/AttributedCharacterIterator;
astore 6
start local 6 4: aload 6
invokeinterface java.text.AttributedCharacterIterator.first:()C
pop
5: aload 6
getstatic org.apache.batik.bridge.StrokingTextPainter.PAINT_INFO:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast org.apache.batik.gvt.text.TextPaintInfo
astore 7
start local 7 6: aload 7
ifnull 8
aload 7
getfield org.apache.batik.gvt.text.TextPaintInfo.composite:Ljava/awt/Composite;
ifnull 8
7: aload 2
aload 7
getfield org.apache.batik.gvt.text.TextPaintInfo.composite:Ljava/awt/Composite;
invokevirtual java.awt.Graphics2D.setComposite:(Ljava/awt/Composite;)V
8: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List java.awt.Graphics2D java.lang.Object java.util.Iterator org.apache.batik.bridge.StrokingTextPainter$TextRun java.text.AttributedCharacterIterator org.apache.batik.gvt.text.TextPaintInfo
StackMap stack:
aload 5
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
aload 2
invokeinterface org.apache.batik.bridge.TextSpanLayout.draw:(Ljava/awt/Graphics2D;)V
end local 7 end local 6 end local 5 end local 3 9: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List java.awt.Graphics2D top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
0 11 1 textRuns Ljava/util/List;
0 11 2 g2d Ljava/awt/Graphics2D;
2 9 3 textRun1 Ljava/lang/Object;
3 9 5 textRun Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
4 9 6 runaci Ljava/text/AttributedCharacterIterator;
6 9 7 tpi Lorg/apache/batik/gvt/text/TextPaintInfo;
MethodParameters:
Name Flags
textRuns
g2d
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=3, locals=10, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
invokevirtual org.apache.batik.bridge.TextNode.getAttributedCharacterIterator:()Ljava/text/AttributedCharacterIterator;
astore 3
start local 3 2: aload 3
ifnonnull 4
3: aconst_null
areturn
4: StackMap locals: java.awt.geom.GeneralPath java.text.AttributedCharacterIterator
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual org.apache.batik.bridge.StrokingTextPainter.getTextRuns:(Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
astore 4
start local 4 5: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 16
StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.awt.geom.GeneralPath java.text.AttributedCharacterIterator java.util.List top java.util.Iterator
StackMap stack:
6: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 5
start local 5 7: aload 5
checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
astore 7
start local 7 8: aload 7
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
astore 8
start local 8 9: new java.awt.geom.GeneralPath
dup
aload 8
invokeinterface org.apache.batik.bridge.TextSpanLayout.getOutline:()Ljava/awt/Shape;
invokespecial java.awt.geom.GeneralPath.<init>:(Ljava/awt/Shape;)V
10: astore 9
start local 9 11: aload 2
ifnonnull 14
12: aload 9
astore 2
13: goto 16
14: StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.awt.geom.GeneralPath java.text.AttributedCharacterIterator java.util.List java.lang.Object java.util.Iterator org.apache.batik.bridge.StrokingTextPainter$TextRun org.apache.batik.bridge.TextSpanLayout java.awt.geom.GeneralPath
StackMap stack:
aload 2
iconst_1
invokevirtual java.awt.geom.GeneralPath.setWindingRule:(I)V
15: aload 2
aload 9
iconst_0
invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
end local 9 end local 8 end local 7 end local 5 16: StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.awt.geom.GeneralPath java.text.AttributedCharacterIterator java.util.List top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
17: aload 0
18: aload 4
iconst_1
19: invokevirtual org.apache.batik.bridge.StrokingTextPainter.getDecorationOutline:(Ljava/util/List;I)Ljava/awt/Shape;
astore 5
start local 5 20: aload 0
21: aload 4
iconst_2
22: invokevirtual org.apache.batik.bridge.StrokingTextPainter.getDecorationOutline:(Ljava/util/List;I)Ljava/awt/Shape;
astore 6
start local 6 23: aload 0
24: aload 4
iconst_4
25: invokevirtual org.apache.batik.bridge.StrokingTextPainter.getDecorationOutline:(Ljava/util/List;I)Ljava/awt/Shape;
astore 7
start local 7 26: aload 5
ifnull 32
27: aload 2
ifnonnull 30
28: new java.awt.geom.GeneralPath
dup
aload 5
invokespecial java.awt.geom.GeneralPath.<init>:(Ljava/awt/Shape;)V
astore 2
29: goto 32
30: StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.awt.geom.GeneralPath java.text.AttributedCharacterIterator java.util.List java.awt.Shape java.awt.Shape java.awt.Shape
StackMap stack:
aload 2
iconst_1
invokevirtual java.awt.geom.GeneralPath.setWindingRule:(I)V
31: aload 2
aload 5
iconst_0
invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
32: StackMap locals:
StackMap stack:
aload 6
ifnull 38
33: aload 2
ifnonnull 36
34: new java.awt.geom.GeneralPath
dup
aload 6
invokespecial java.awt.geom.GeneralPath.<init>:(Ljava/awt/Shape;)V
astore 2
35: goto 38
36: StackMap locals:
StackMap stack:
aload 2
iconst_1
invokevirtual java.awt.geom.GeneralPath.setWindingRule:(I)V
37: aload 2
aload 6
iconst_0
invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
38: StackMap locals:
StackMap stack:
aload 7
ifnull 44
39: aload 2
ifnonnull 42
40: new java.awt.geom.GeneralPath
dup
aload 7
invokespecial java.awt.geom.GeneralPath.<init>:(Ljava/awt/Shape;)V
astore 2
41: goto 44
42: StackMap locals:
StackMap stack:
aload 2
iconst_1
invokevirtual java.awt.geom.GeneralPath.setWindingRule:(I)V
43: aload 2
aload 7
iconst_0
invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
44: StackMap locals:
StackMap stack:
aload 2
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
0 45 1 node Lorg/apache/batik/bridge/TextNode;
1 45 2 outline Ljava/awt/geom/GeneralPath;
2 45 3 aci Ljava/text/AttributedCharacterIterator;
5 45 4 textRuns Ljava/util/List;
7 16 5 textRun1 Ljava/lang/Object;
8 16 7 textRun Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
9 16 8 textRunLayout Lorg/apache/batik/bridge/TextSpanLayout;
11 16 9 textRunOutline Ljava/awt/geom/GeneralPath;
20 45 5 underline Ljava/awt/Shape;
23 45 6 strikeThrough Ljava/awt/Shape;
26 45 7 overline Ljava/awt/Shape;
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=3, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.apache.batik.bridge.TextNode.getAttributedCharacterIterator:()Ljava/text/AttributedCharacterIterator;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.text.AttributedCharacterIterator
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.apache.batik.bridge.StrokingTextPainter.getTextRuns:(Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
astore 3
start local 3 4: aconst_null
astore 4
start local 4 5: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 14
StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.util.List java.awt.geom.Rectangle2D top java.util.Iterator
StackMap stack:
6: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 5
start local 5 7: aload 5
checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
astore 7
start local 7 8: aload 7
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
astore 8
start local 8 9: aload 8
invokeinterface org.apache.batik.bridge.TextSpanLayout.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 9
start local 9 10: aload 9
ifnull 14
11: aload 4
ifnonnull 13
12: aload 9
astore 4
goto 14
13: StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.util.List java.awt.geom.Rectangle2D java.lang.Object java.util.Iterator org.apache.batik.bridge.StrokingTextPainter$TextRun org.apache.batik.bridge.TextSpanLayout java.awt.geom.Rectangle2D
StackMap stack:
aload 4
aload 9
invokevirtual java.awt.geom.Rectangle2D.add:(Ljava/awt/geom/Rectangle2D;)V
end local 9 end local 8 end local 7 end local 5 14: StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.util.List java.awt.geom.Rectangle2D top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
15: aload 0
16: aload 3
iconst_1
17: invokevirtual org.apache.batik.bridge.StrokingTextPainter.getDecorationStrokeOutline:(Ljava/util/List;I)Ljava/awt/Shape;
astore 5
start local 5 18: aload 5
ifnull 22
19: aload 4
ifnonnull 21
20: aload 5
invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 4
goto 22
21: StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.util.List java.awt.geom.Rectangle2D java.awt.Shape
StackMap stack:
aload 4
aload 5
invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
invokevirtual java.awt.geom.Rectangle2D.add:(Ljava/awt/geom/Rectangle2D;)V
22: StackMap locals:
StackMap stack:
aload 0
23: aload 3
iconst_2
24: invokevirtual org.apache.batik.bridge.StrokingTextPainter.getDecorationStrokeOutline:(Ljava/util/List;I)Ljava/awt/Shape;
astore 6
start local 6 25: aload 6
ifnull 29
26: aload 4
ifnonnull 28
27: aload 6
invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 4
goto 29
28: StackMap locals: java.awt.Shape
StackMap stack:
aload 4
aload 6
invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
invokevirtual java.awt.geom.Rectangle2D.add:(Ljava/awt/geom/Rectangle2D;)V
29: StackMap locals:
StackMap stack:
aload 0
30: aload 3
iconst_4
31: invokevirtual org.apache.batik.bridge.StrokingTextPainter.getDecorationStrokeOutline:(Ljava/util/List;I)Ljava/awt/Shape;
astore 7
start local 7 32: aload 7
ifnull 36
33: aload 4
ifnonnull 35
34: aload 7
invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 4
goto 36
35: StackMap locals: java.awt.Shape
StackMap stack:
aload 4
aload 7
invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
invokevirtual java.awt.geom.Rectangle2D.add:(Ljava/awt/geom/Rectangle2D;)V
36: StackMap locals:
StackMap stack:
aload 4
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
0 37 1 node Lorg/apache/batik/bridge/TextNode;
1 37 2 aci Ljava/text/AttributedCharacterIterator;
4 37 3 textRuns Ljava/util/List;
5 37 4 bounds Ljava/awt/geom/Rectangle2D;
7 14 5 textRun1 Ljava/lang/Object;
8 14 7 textRun Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
9 14 8 textRunLayout Lorg/apache/batik/bridge/TextSpanLayout;
10 14 9 runBounds Ljava/awt/geom/Rectangle2D;
18 37 5 underline Ljava/awt/Shape;
25 37 6 strikeThrough Ljava/awt/Shape;
32 37 7 overline Ljava/awt/Shape;
MethodParameters:
Name Flags
node
protected java.awt.Shape getDecorationOutline(java.util.List, int);
descriptor: (Ljava/util/List;I)Ljava/awt/Shape;
flags: (0x0004) ACC_PROTECTED
Code:
stack=10, locals=26, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aconst_null
astore 5
start local 5 3: aconst_null
astore 6
start local 6 4: aconst_null
astore 7
start local 7 5: dconst_0
dstore 8
start local 8 6: dconst_0
dstore 10
start local 10 7: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 70
StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List int java.awt.geom.GeneralPath java.awt.Paint java.awt.Paint java.awt.Stroke java.awt.geom.Rectangle2D double double top java.util.Iterator
StackMap stack:
8: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 12
start local 12 9: aload 12
checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
astore 14
start local 14 10: aload 14
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getACI:()Ljava/text/AttributedCharacterIterator;
astore 15
start local 15 11: aload 15
invokeinterface java.text.AttributedCharacterIterator.first:()C
pop
12: aconst_null
astore 16
start local 16 13: aconst_null
astore 17
start local 17 14: aconst_null
astore 18
start local 18 15: aload 15
getstatic org.apache.batik.bridge.StrokingTextPainter.PAINT_INFO:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast org.apache.batik.gvt.text.TextPaintInfo
astore 19
start local 19 16: aload 19
ifnull 31
17: iload 2
tableswitch { // 1 - 4
1: 18
2: 26
3: 30
4: 22
default: 30
}
18: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List int java.awt.geom.GeneralPath java.awt.Paint java.awt.Paint java.awt.Stroke java.awt.geom.Rectangle2D double double java.lang.Object java.util.Iterator org.apache.batik.bridge.StrokingTextPainter$TextRun java.text.AttributedCharacterIterator java.awt.Paint java.awt.Stroke java.awt.Paint org.apache.batik.gvt.text.TextPaintInfo
StackMap stack:
aload 19
getfield org.apache.batik.gvt.text.TextPaintInfo.underlinePaint:Ljava/awt/Paint;
astore 16
19: aload 19
getfield org.apache.batik.gvt.text.TextPaintInfo.underlineStroke:Ljava/awt/Stroke;
astore 17
20: aload 19
getfield org.apache.batik.gvt.text.TextPaintInfo.underlineStrokePaint:Ljava/awt/Paint;
astore 18
21: goto 31
22: StackMap locals:
StackMap stack:
aload 19
getfield org.apache.batik.gvt.text.TextPaintInfo.overlinePaint:Ljava/awt/Paint;
astore 16
23: aload 19
getfield org.apache.batik.gvt.text.TextPaintInfo.overlineStroke:Ljava/awt/Stroke;
astore 17
24: aload 19
getfield org.apache.batik.gvt.text.TextPaintInfo.overlineStrokePaint:Ljava/awt/Paint;
astore 18
25: goto 31
26: StackMap locals:
StackMap stack:
aload 19
getfield org.apache.batik.gvt.text.TextPaintInfo.strikethroughPaint:Ljava/awt/Paint;
astore 16
27: aload 19
getfield org.apache.batik.gvt.text.TextPaintInfo.strikethroughStroke:Ljava/awt/Stroke;
astore 17
28: aload 19
getfield org.apache.batik.gvt.text.TextPaintInfo.strikethroughStrokePaint:Ljava/awt/Paint;
astore 18
29: goto 31
30: StackMap locals:
StackMap stack:
aconst_null
areturn
31: StackMap locals:
StackMap stack:
aload 14
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.isFirstRunInChunk:()Z
ifeq 38
32: aload 14
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
33: iload 2
34: invokeinterface org.apache.batik.bridge.TextSpanLayout.getDecorationOutline:(I)Ljava/awt/Shape;
astore 20
start local 20 35: aload 20
invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 21
start local 21 36: aload 21
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dstore 8
37: aload 21
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
dstore 10
end local 21 end local 20 38: StackMap locals:
StackMap stack:
aload 14
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.isFirstRunInChunk:()Z
ifne 42
39: aload 16
aload 4
if_acmpne 42
40: aload 17
aload 6
if_acmpne 42
41: aload 18
aload 5
if_acmpeq 48
42: StackMap locals:
StackMap stack:
aload 7
ifnull 48
43: aload 3
ifnonnull 46
44: new java.awt.geom.GeneralPath
dup
aload 7
invokespecial java.awt.geom.GeneralPath.<init>:(Ljava/awt/Shape;)V
astore 3
45: goto 47
46: StackMap locals:
StackMap stack:
aload 3
aload 7
iconst_0
invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
47: StackMap locals:
StackMap stack:
aconst_null
astore 7
48: StackMap locals:
StackMap stack:
aload 16
ifnonnull 49
aload 18
ifnull 67
49: StackMap locals:
StackMap stack:
aload 14
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
invokeinterface org.apache.batik.bridge.TextSpanLayout.isVertical:()Z
ifne 67
50: aload 14
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
invokeinterface org.apache.batik.bridge.TextSpanLayout.isOnATextPath:()Z
ifne 67
51: aload 14
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
iload 2
invokeinterface org.apache.batik.bridge.TextSpanLayout.getDecorationOutline:(I)Ljava/awt/Shape;
52: astore 20
start local 20 53: aload 7
ifnonnull 59
54: aload 20
invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 21
start local 21 55: new java.awt.geom.Rectangle2D$Double
dup
56: aload 21
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dload 8
aload 21
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
dload 10
57: invokespecial java.awt.geom.Rectangle2D$Double.<init>:(DDDD)V
astore 7
end local 21 58: goto 67
59: StackMap locals: java.awt.Shape
StackMap stack:
aload 20
invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 21
start local 21 60: aload 7
invokevirtual java.awt.geom.Rectangle2D.getX:()D
61: aload 21
invokevirtual java.awt.geom.Rectangle2D.getX:()D
62: invokestatic java.lang.Math.min:(DD)D
dstore 22
start local 22 63: aload 7
invokevirtual java.awt.geom.Rectangle2D.getMaxX:()D
64: aload 21
invokevirtual java.awt.geom.Rectangle2D.getMaxX:()D
65: invokestatic java.lang.Math.max:(DD)D
dstore 24
start local 24 66: aload 7
dload 22
dload 8
dload 24
dload 22
dsub
dload 10
invokevirtual java.awt.geom.Rectangle2D.setRect:(DDDD)V
end local 24 end local 22 end local 21 end local 20 67: StackMap locals:
StackMap stack:
aload 16
astore 4
68: aload 17
astore 6
69: aload 18
astore 5
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 12 70: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List int java.awt.geom.GeneralPath java.awt.Paint java.awt.Paint java.awt.Stroke java.awt.geom.Rectangle2D double double top java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
71: aload 7
ifnull 76
72: aload 3
ifnonnull 75
73: new java.awt.geom.GeneralPath
dup
aload 7
invokespecial java.awt.geom.GeneralPath.<init>:(Ljava/awt/Shape;)V
astore 3
74: goto 76
75: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List int java.awt.geom.GeneralPath java.awt.Paint java.awt.Paint java.awt.Stroke java.awt.geom.Rectangle2D double double
StackMap stack:
aload 3
aload 7
iconst_0
invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
76: StackMap locals:
StackMap stack:
aload 3
areturn
end local 10 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 77 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
0 77 1 textRuns Ljava/util/List;
0 77 2 decorationType I
1 77 3 outline Ljava/awt/geom/GeneralPath;
2 77 4 prevPaint Ljava/awt/Paint;
3 77 5 prevStrokePaint Ljava/awt/Paint;
4 77 6 prevStroke Ljava/awt/Stroke;
5 77 7 decorationRect Ljava/awt/geom/Rectangle2D;
6 77 8 yLoc D
7 77 10 height D
9 70 12 textRun1 Ljava/lang/Object;
10 70 14 textRun Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
11 70 15 runaci Ljava/text/AttributedCharacterIterator;
13 70 16 paint Ljava/awt/Paint;
14 70 17 stroke Ljava/awt/Stroke;
15 70 18 strokePaint Ljava/awt/Paint;
16 70 19 tpi Lorg/apache/batik/gvt/text/TextPaintInfo;
35 38 20 s Ljava/awt/Shape;
36 38 21 r2d Ljava/awt/geom/Rectangle2D;
53 67 20 decorationShape Ljava/awt/Shape;
55 58 21 r2d Ljava/awt/geom/Rectangle2D;
60 67 21 bounds Ljava/awt/geom/Rectangle2D;
63 67 22 minX D
66 67 24 maxX D
MethodParameters:
Name Flags
textRuns
decorationType
protected java.awt.Shape getDecorationStrokeOutline(java.util.List, int);
descriptor: (Ljava/util/List;I)Ljava/awt/Shape;
flags: (0x0004) ACC_PROTECTED
Code:
stack=10, locals=26, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aconst_null
astore 5
start local 5 3: aconst_null
astore 6
start local 6 4: aconst_null
astore 7
start local 7 5: dconst_0
dstore 8
start local 8 6: dconst_0
dstore 10
start local 10 7: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 76
StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List int java.awt.geom.GeneralPath java.awt.Paint java.awt.Paint java.awt.Stroke java.awt.geom.Rectangle2D double double top java.util.Iterator
StackMap stack:
8: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 12
start local 12 9: aload 12
checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
astore 14
start local 14 10: aload 14
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getACI:()Ljava/text/AttributedCharacterIterator;
astore 15
start local 15 11: aload 15
invokeinterface java.text.AttributedCharacterIterator.first:()C
pop
12: aconst_null
astore 16
start local 16 13: aconst_null
astore 17
start local 17 14: aconst_null
astore 18
start local 18 15: aload 15
getstatic org.apache.batik.bridge.StrokingTextPainter.PAINT_INFO:Ljava/text/AttributedCharacterIterator$Attribute;
invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast org.apache.batik.gvt.text.TextPaintInfo
astore 19
start local 19 16: aload 19
ifnull 31
17: iload 2
tableswitch { // 1 - 4
1: 18
2: 26
3: 30
4: 22
default: 30
}
18: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List int java.awt.geom.GeneralPath java.awt.Paint java.awt.Paint java.awt.Stroke java.awt.geom.Rectangle2D double double java.lang.Object java.util.Iterator org.apache.batik.bridge.StrokingTextPainter$TextRun java.text.AttributedCharacterIterator java.awt.Paint java.awt.Stroke java.awt.Paint org.apache.batik.gvt.text.TextPaintInfo
StackMap stack:
aload 19
getfield org.apache.batik.gvt.text.TextPaintInfo.underlinePaint:Ljava/awt/Paint;
astore 16
19: aload 19
getfield org.apache.batik.gvt.text.TextPaintInfo.underlineStroke:Ljava/awt/Stroke;
astore 17
20: aload 19
getfield org.apache.batik.gvt.text.TextPaintInfo.underlineStrokePaint:Ljava/awt/Paint;
astore 18
21: goto 31
22: StackMap locals:
StackMap stack:
aload 19
getfield org.apache.batik.gvt.text.TextPaintInfo.overlinePaint:Ljava/awt/Paint;
astore 16
23: aload 19
getfield org.apache.batik.gvt.text.TextPaintInfo.overlineStroke:Ljava/awt/Stroke;
astore 17
24: aload 19
getfield org.apache.batik.gvt.text.TextPaintInfo.overlineStrokePaint:Ljava/awt/Paint;
astore 18
25: goto 31
26: StackMap locals:
StackMap stack:
aload 19
getfield org.apache.batik.gvt.text.TextPaintInfo.strikethroughPaint:Ljava/awt/Paint;
astore 16
27: aload 19
getfield org.apache.batik.gvt.text.TextPaintInfo.strikethroughStroke:Ljava/awt/Stroke;
astore 17
28: aload 19
getfield org.apache.batik.gvt.text.TextPaintInfo.strikethroughStrokePaint:Ljava/awt/Paint;
astore 18
29: goto 31
30: StackMap locals:
StackMap stack:
aconst_null
areturn
31: StackMap locals:
StackMap stack:
aload 14
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.isFirstRunInChunk:()Z
ifeq 38
32: aload 14
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
33: iload 2
34: invokeinterface org.apache.batik.bridge.TextSpanLayout.getDecorationOutline:(I)Ljava/awt/Shape;
astore 20
start local 20 35: aload 20
invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 21
start local 21 36: aload 21
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dstore 8
37: aload 21
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
dstore 10
end local 21 end local 20 38: StackMap locals:
StackMap stack:
aload 14
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.isFirstRunInChunk:()Z
ifne 42
39: aload 16
aload 4
if_acmpne 42
40: aload 17
aload 6
if_acmpne 42
41: aload 18
aload 5
if_acmpeq 54
42: StackMap locals:
StackMap stack:
aload 7
ifnull 54
43: aconst_null
astore 20
start local 20 44: aload 6
ifnull 47
45: aload 5
ifnull 47
46: aload 6
aload 7
invokeinterface java.awt.Stroke.createStrokedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
astore 20
goto 49
47: StackMap locals: java.awt.Shape
StackMap stack:
aload 4
ifnull 49
48: aload 7
astore 20
49: StackMap locals:
StackMap stack:
aload 20
ifnull 53
50: aload 3
ifnonnull 52
51: new java.awt.geom.GeneralPath
dup
aload 20
invokespecial java.awt.geom.GeneralPath.<init>:(Ljava/awt/Shape;)V
astore 3
goto 53
52: StackMap locals:
StackMap stack:
aload 3
aload 20
iconst_0
invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
53: StackMap locals:
StackMap stack:
aconst_null
astore 7
end local 20 54: StackMap locals:
StackMap stack:
aload 16
ifnonnull 55
aload 18
ifnull 73
55: StackMap locals:
StackMap stack:
aload 14
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
invokeinterface org.apache.batik.bridge.TextSpanLayout.isVertical:()Z
ifne 73
56: aload 14
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
invokeinterface org.apache.batik.bridge.TextSpanLayout.isOnATextPath:()Z
ifne 73
57: aload 14
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
iload 2
invokeinterface org.apache.batik.bridge.TextSpanLayout.getDecorationOutline:(I)Ljava/awt/Shape;
58: astore 20
start local 20 59: aload 7
ifnonnull 65
60: aload 20
invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 21
start local 21 61: new java.awt.geom.Rectangle2D$Double
dup
62: aload 21
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dload 8
aload 21
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
dload 10
63: invokespecial java.awt.geom.Rectangle2D$Double.<init>:(DDDD)V
astore 7
end local 21 64: goto 73
65: StackMap locals: java.awt.Shape
StackMap stack:
aload 20
invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 21
start local 21 66: aload 7
invokevirtual java.awt.geom.Rectangle2D.getX:()D
67: aload 21
invokevirtual java.awt.geom.Rectangle2D.getX:()D
68: invokestatic java.lang.Math.min:(DD)D
dstore 22
start local 22 69: aload 7
invokevirtual java.awt.geom.Rectangle2D.getMaxX:()D
70: aload 21
invokevirtual java.awt.geom.Rectangle2D.getMaxX:()D
71: invokestatic java.lang.Math.max:(DD)D
dstore 24
start local 24 72: aload 7
dload 22
dload 8
dload 24
dload 22
dsub
dload 10
invokevirtual java.awt.geom.Rectangle2D.setRect:(DDDD)V
end local 24 end local 22 end local 21 end local 20 73: StackMap locals:
StackMap stack:
aload 16
astore 4
74: aload 17
astore 6
75: aload 18
astore 5
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 12 76: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List int java.awt.geom.GeneralPath java.awt.Paint java.awt.Paint java.awt.Stroke java.awt.geom.Rectangle2D double double top java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
77: aload 7
ifnull 88
78: aconst_null
astore 12
start local 12 79: aload 6
ifnull 82
80: aload 5
ifnull 82
81: aload 6
aload 7
invokeinterface java.awt.Stroke.createStrokedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
astore 12
goto 84
82: StackMap locals: org.apache.batik.bridge.StrokingTextPainter java.util.List int java.awt.geom.GeneralPath java.awt.Paint java.awt.Paint java.awt.Stroke java.awt.geom.Rectangle2D double double java.awt.Shape
StackMap stack:
aload 4
ifnull 84
83: aload 7
astore 12
84: StackMap locals:
StackMap stack:
aload 12
ifnull 88
85: aload 3
ifnonnull 87
86: new java.awt.geom.GeneralPath
dup
aload 12
invokespecial java.awt.geom.GeneralPath.<init>:(Ljava/awt/Shape;)V
astore 3
goto 88
87: StackMap locals:
StackMap stack:
aload 3
aload 12
iconst_0
invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
end local 12 88: StackMap locals:
StackMap stack:
aload 3
areturn
end local 10 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 89 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
0 89 1 textRuns Ljava/util/List;
0 89 2 decorationType I
1 89 3 outline Ljava/awt/geom/GeneralPath;
2 89 4 prevPaint Ljava/awt/Paint;
3 89 5 prevStrokePaint Ljava/awt/Paint;
4 89 6 prevStroke Ljava/awt/Stroke;
5 89 7 decorationRect Ljava/awt/geom/Rectangle2D;
6 89 8 yLoc D
7 89 10 height D
9 76 12 textRun1 Ljava/lang/Object;
10 76 14 textRun Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
11 76 15 runaci Ljava/text/AttributedCharacterIterator;
13 76 16 paint Ljava/awt/Paint;
14 76 17 stroke Ljava/awt/Stroke;
15 76 18 strokePaint Ljava/awt/Paint;
16 76 19 tpi Lorg/apache/batik/gvt/text/TextPaintInfo;
35 38 20 s Ljava/awt/Shape;
36 38 21 r2d Ljava/awt/geom/Rectangle2D;
44 54 20 s Ljava/awt/Shape;
59 73 20 decorationShape Ljava/awt/Shape;
61 64 21 r2d Ljava/awt/geom/Rectangle2D;
66 73 21 bounds Ljava/awt/geom/Rectangle2D;
69 73 22 minX D
72 73 24 maxX D
79 88 12 s Ljava/awt/Shape;
MethodParameters:
Name Flags
textRuns
decorationType
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=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.apache.batik.bridge.TextNode.getAttributedCharacterIterator:()Ljava/text/AttributedCharacterIterator;
astore 4
start local 4 1: aload 4
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.text.AttributedCharacterIterator
StackMap stack:
iload 2
aload 4
invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
if_icmplt 5
4: iload 2
aload 4
invokeinterface java.text.AttributedCharacterIterator.getEndIndex:()I
if_icmple 6
5: StackMap locals:
StackMap stack:
aconst_null
areturn
6: StackMap locals:
StackMap stack:
new org.apache.batik.bridge.TextHit
dup
iload 2
iload 3
invokespecial org.apache.batik.bridge.TextHit.<init>:(IZ)V
astore 5
start local 5 7: new org.apache.batik.bridge.BasicTextPainter$BasicMark
dup
aload 1
aload 5
invokespecial org.apache.batik.bridge.BasicTextPainter$BasicMark.<init>:(Lorg/apache/batik/bridge/TextNode;Lorg/apache/batik/bridge/TextHit;)V
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
0 8 1 node Lorg/apache/batik/bridge/TextNode;
0 8 2 index I
0 8 3 leadingEdge Z
1 8 4 aci Ljava/text/AttributedCharacterIterator;
7 8 5 textHit Lorg/apache/batik/bridge/TextHit;
MethodParameters:
Name Flags
node
index
leadingEdge
protected org.apache.batik.bridge.Mark hitTest(double, double, org.apache.batik.bridge.TextNode);
descriptor: (DDLorg/apache/batik/bridge/TextNode;)Lorg/apache/batik/bridge/Mark;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=14, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aload 5
invokevirtual org.apache.batik.bridge.TextNode.getAttributedCharacterIterator:()Ljava/text/AttributedCharacterIterator;
astore 6
start local 6 1: aload 6
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.text.AttributedCharacterIterator
StackMap stack:
aload 0
aload 5
aload 6
invokevirtual org.apache.batik.bridge.StrokingTextPainter.getTextRuns:(Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
astore 7
start local 7 4: aload 7
ifnull 15
5: aload 7
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 14
StackMap locals: org.apache.batik.bridge.StrokingTextPainter double double org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.util.List top java.util.Iterator
StackMap stack:
6: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 8
start local 8 7: aload 8
checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
astore 10
start local 10 8: aload 10
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
astore 11
start local 11 9: aload 11
dload 1
d2f
dload 3
d2f
invokeinterface org.apache.batik.bridge.TextSpanLayout.hitTestChar:(FF)Lorg/apache/batik/bridge/TextHit;
astore 12
start local 12 10: aload 11
invokeinterface org.apache.batik.bridge.TextSpanLayout.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 13
start local 13 11: aload 12
ifnull 14
12: aload 13
ifnull 14
aload 13
dload 1
dload 3
invokevirtual java.awt.geom.Rectangle2D.contains:(DD)Z
ifeq 14
13: new org.apache.batik.bridge.BasicTextPainter$BasicMark
dup
aload 5
aload 12
invokespecial org.apache.batik.bridge.BasicTextPainter$BasicMark.<init>:(Lorg/apache/batik/bridge/TextNode;Lorg/apache/batik/bridge/TextHit;)V
areturn
end local 13 end local 12 end local 11 end local 10 end local 8 14: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
15: StackMap locals: org.apache.batik.bridge.StrokingTextPainter double double org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator java.util.List
StackMap stack:
aconst_null
areturn
end local 7 end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
0 16 1 x D
0 16 3 y D
0 16 5 node Lorg/apache/batik/bridge/TextNode;
1 16 6 aci Ljava/text/AttributedCharacterIterator;
4 16 7 textRuns Ljava/util/List;
7 14 8 textRun1 Ljava/lang/Object;
8 14 10 textRun Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
9 14 11 layout Lorg/apache/batik/bridge/TextSpanLayout;
10 14 12 textHit Lorg/apache/batik/bridge/TextHit;
11 14 13 bounds Ljava/awt/geom/Rectangle2D;
MethodParameters:
Name Flags
x
y
node
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=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.apache.batik.bridge.TextNode.getAttributedCharacterIterator:()Ljava/text/AttributedCharacterIterator;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.text.AttributedCharacterIterator
StackMap stack:
new org.apache.batik.bridge.TextHit
dup
aload 2
invokeinterface java.text.AttributedCharacterIterator.getBeginIndex:()I
iconst_0
invokespecial org.apache.batik.bridge.TextHit.<init>:(IZ)V
astore 3
start local 3 4: new org.apache.batik.bridge.BasicTextPainter$BasicMark
dup
aload 1
aload 3
invokespecial org.apache.batik.bridge.BasicTextPainter$BasicMark.<init>:(Lorg/apache/batik/bridge/TextNode;Lorg/apache/batik/bridge/TextHit;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
0 5 1 node Lorg/apache/batik/bridge/TextNode;
1 5 2 aci Ljava/text/AttributedCharacterIterator;
4 5 3 textHit Lorg/apache/batik/bridge/TextHit;
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=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.apache.batik.bridge.TextNode.getAttributedCharacterIterator:()Ljava/text/AttributedCharacterIterator;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.text.AttributedCharacterIterator
StackMap stack:
new org.apache.batik.bridge.TextHit
dup
aload 2
invokeinterface java.text.AttributedCharacterIterator.getEndIndex:()I
iconst_1
isub
iconst_0
invokespecial org.apache.batik.bridge.TextHit.<init>:(IZ)V
astore 3
start local 3 4: new org.apache.batik.bridge.BasicTextPainter$BasicMark
dup
aload 1
aload 3
invokespecial org.apache.batik.bridge.BasicTextPainter$BasicMark.<init>:(Lorg/apache/batik/bridge/TextNode;Lorg/apache/batik/bridge/TextHit;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
0 5 1 node Lorg/apache/batik/bridge/TextNode;
1 5 2 aci Ljava/text/AttributedCharacterIterator;
4 5 3 textHit Lorg/apache/batik/bridge/TextHit;
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=5, locals=16, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 1
aload 2
ifnonnull 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast org.apache.batik.bridge.BasicTextPainter$BasicMark
astore 3
start local 3 3: aload 2
checkcast org.apache.batik.bridge.BasicTextPainter$BasicMark
astore 4
start local 4 4: goto 9
end local 4 end local 3 StackMap locals:
StackMap stack: java.lang.ClassCastException
5: pop
6: new java.lang.RuntimeException
dup
7: ldc "This Mark was not instantiated by this TextPainter class!"
8: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
start local 3 start local 4 9: StackMap locals: org.apache.batik.bridge.BasicTextPainter$BasicMark org.apache.batik.bridge.BasicTextPainter$BasicMark
StackMap stack:
aload 3
invokevirtual org.apache.batik.bridge.BasicTextPainter$BasicMark.getTextNode:()Lorg/apache/batik/bridge/TextNode;
astore 5
start local 5 10: aload 5
ifnonnull 12
11: aconst_null
areturn
12: StackMap locals: org.apache.batik.bridge.TextNode
StackMap stack:
aload 5
aload 4
invokevirtual org.apache.batik.bridge.BasicTextPainter$BasicMark.getTextNode:()Lorg/apache/batik/bridge/TextNode;
if_acmpeq 14
13: new java.lang.RuntimeException
dup
ldc "Markers are from different TextNodes!"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.apache.batik.bridge.TextNode.getAttributedCharacterIterator:()Ljava/text/AttributedCharacterIterator;
astore 6
start local 6 15: aload 6
ifnonnull 17
16: aconst_null
areturn
17: StackMap locals: java.text.AttributedCharacterIterator
StackMap stack:
iconst_2
newarray 10
astore 7
start local 7 18: aload 7
iconst_0
aload 3
invokevirtual org.apache.batik.bridge.BasicTextPainter$BasicMark.getHit:()Lorg/apache/batik/bridge/TextHit;
invokevirtual org.apache.batik.bridge.TextHit.getCharIndex:()I
iastore
19: aload 7
iconst_1
aload 4
invokevirtual org.apache.batik.bridge.BasicTextPainter$BasicMark.getHit:()Lorg/apache/batik/bridge/TextHit;
invokevirtual org.apache.batik.bridge.TextHit.getCharIndex:()I
iastore
20: aload 0
aload 5
aload 6
invokevirtual org.apache.batik.bridge.StrokingTextPainter.getTextRuns:(Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
astore 8
start local 8 21: aload 8
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
start local 9 22: iconst_m1
istore 10
start local 10 23: iconst_m1
istore 11
start local 11 24: aconst_null
astore 12
start local 12 25: aconst_null
astore 13
start local 13 26: goto 39
27: StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.Mark org.apache.batik.bridge.Mark org.apache.batik.bridge.BasicTextPainter$BasicMark org.apache.batik.bridge.BasicTextPainter$BasicMark org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator int[] java.util.List java.util.Iterator int int org.apache.batik.bridge.TextSpanLayout org.apache.batik.bridge.TextSpanLayout
StackMap stack:
aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
astore 14
start local 14 28: aload 14
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
astore 15
start local 15 29: iload 10
iconst_m1
if_icmpne 33
30: aload 15
aload 7
iconst_0
iaload
invokeinterface org.apache.batik.bridge.TextSpanLayout.getGlyphIndex:(I)I
istore 10
31: iload 10
iconst_m1
if_icmpeq 33
32: aload 15
astore 12
33: StackMap locals: org.apache.batik.bridge.StrokingTextPainter$TextRun org.apache.batik.bridge.TextSpanLayout
StackMap stack:
iload 11
iconst_m1
if_icmpne 37
34: aload 15
aload 7
iconst_1
iaload
invokeinterface org.apache.batik.bridge.TextSpanLayout.getGlyphIndex:(I)I
istore 11
35: iload 11
iconst_m1
if_icmpeq 37
36: aload 15
astore 13
37: StackMap locals:
StackMap stack:
iload 10
iconst_m1
if_icmpeq 39
iload 11
iconst_m1
if_icmpeq 39
38: goto 40
end local 15 end local 14 39: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 27
40: StackMap locals:
StackMap stack:
aload 12
ifnull 41
aload 13
ifnonnull 42
41: StackMap locals:
StackMap stack:
aconst_null
areturn
42: StackMap locals:
StackMap stack:
aload 12
43: iload 10
iload 10
44: invokeinterface org.apache.batik.bridge.TextSpanLayout.getCharacterCount:(II)I
istore 14
start local 14 45: aload 13
46: iload 11
iload 11
47: invokeinterface org.apache.batik.bridge.TextSpanLayout.getCharacterCount:(II)I
istore 15
start local 15 48: iload 14
iconst_1
if_icmple 54
49: aload 7
iconst_0
iaload
aload 7
iconst_1
iaload
if_icmple 52
aload 12
invokeinterface org.apache.batik.bridge.TextSpanLayout.isLeftToRight:()Z
ifeq 52
50: aload 7
iconst_0
dup2
iaload
iload 14
iconst_1
isub
iadd
iastore
51: goto 54
StackMap locals: int int
StackMap stack:
52: aload 7
iconst_1
iaload
aload 7
iconst_0
iaload
if_icmple 54
aload 12
invokeinterface org.apache.batik.bridge.TextSpanLayout.isLeftToRight:()Z
ifne 54
53: aload 7
iconst_0
dup2
iaload
iload 14
iconst_1
isub
isub
iastore
54: StackMap locals:
StackMap stack:
iload 15
iconst_1
if_icmple 60
55: aload 7
iconst_1
iaload
aload 7
iconst_0
iaload
if_icmple 58
aload 13
invokeinterface org.apache.batik.bridge.TextSpanLayout.isLeftToRight:()Z
ifeq 58
56: aload 7
iconst_1
dup2
iaload
iload 15
iconst_1
isub
iadd
iastore
57: goto 60
StackMap locals:
StackMap stack:
58: aload 7
iconst_0
iaload
aload 7
iconst_1
iaload
if_icmple 60
aload 13
invokeinterface org.apache.batik.bridge.TextSpanLayout.isLeftToRight:()Z
ifne 60
59: aload 7
iconst_1
dup2
iaload
iload 15
iconst_1
isub
isub
iastore
60: StackMap locals:
StackMap stack:
aload 7
areturn
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 61 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
0 61 1 startMark Lorg/apache/batik/bridge/Mark;
0 61 2 finishMark Lorg/apache/batik/bridge/Mark;
3 5 3 start Lorg/apache/batik/bridge/BasicTextPainter$BasicMark;
9 61 3 start Lorg/apache/batik/bridge/BasicTextPainter$BasicMark;
4 5 4 finish Lorg/apache/batik/bridge/BasicTextPainter$BasicMark;
9 61 4 finish Lorg/apache/batik/bridge/BasicTextPainter$BasicMark;
10 61 5 textNode Lorg/apache/batik/bridge/TextNode;
15 61 6 aci Ljava/text/AttributedCharacterIterator;
18 61 7 result [I
21 61 8 textRuns Ljava/util/List;
22 61 9 trI Ljava/util/Iterator;
23 61 10 startGlyphIndex I
24 61 11 endGlyphIndex I
25 61 12 startLayout Lorg/apache/batik/bridge/TextSpanLayout;
26 61 13 endLayout Lorg/apache/batik/bridge/TextSpanLayout;
28 39 14 tr Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
29 39 15 tsl Lorg/apache/batik/bridge/TextSpanLayout;
45 61 14 startCharCount I
48 61 15 endCharCount I
Exception table:
from to target type
2 4 5 Class java.lang.ClassCastException
MethodParameters:
Name Flags
startMark
finishMark
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=3, locals=16, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 1
aload 2
ifnonnull 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast org.apache.batik.bridge.BasicTextPainter$BasicMark
astore 3
start local 3 3: aload 2
checkcast org.apache.batik.bridge.BasicTextPainter$BasicMark
astore 4
start local 4 4: goto 9
end local 4 end local 3 StackMap locals:
StackMap stack: java.lang.ClassCastException
5: pop
6: new java.lang.RuntimeException
dup
7: ldc "This Mark was not instantiated by this TextPainter class!"
8: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
start local 3 start local 4 9: StackMap locals: org.apache.batik.bridge.BasicTextPainter$BasicMark org.apache.batik.bridge.BasicTextPainter$BasicMark
StackMap stack:
aload 3
invokevirtual org.apache.batik.bridge.BasicTextPainter$BasicMark.getTextNode:()Lorg/apache/batik/bridge/TextNode;
astore 5
start local 5 10: aload 5
ifnonnull 12
11: aconst_null
areturn
12: StackMap locals: org.apache.batik.bridge.TextNode
StackMap stack:
aload 5
aload 4
invokevirtual org.apache.batik.bridge.BasicTextPainter$BasicMark.getTextNode:()Lorg/apache/batik/bridge/TextNode;
if_acmpeq 14
13: new java.lang.RuntimeException
dup
ldc "Markers are from different TextNodes!"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.apache.batik.bridge.TextNode.getAttributedCharacterIterator:()Ljava/text/AttributedCharacterIterator;
astore 6
start local 6 15: aload 6
ifnonnull 17
16: aconst_null
areturn
17: StackMap locals: java.text.AttributedCharacterIterator
StackMap stack:
aload 3
invokevirtual org.apache.batik.bridge.BasicTextPainter$BasicMark.getHit:()Lorg/apache/batik/bridge/TextHit;
invokevirtual org.apache.batik.bridge.TextHit.getCharIndex:()I
istore 7
start local 7 18: aload 4
invokevirtual org.apache.batik.bridge.BasicTextPainter$BasicMark.getHit:()Lorg/apache/batik/bridge/TextHit;
invokevirtual org.apache.batik.bridge.TextHit.getCharIndex:()I
istore 8
start local 8 19: iload 7
iload 8
if_icmple 24
20: aload 3
astore 9
start local 9 21: aload 4
astore 3
aload 9
astore 4
22: iload 7
istore 10
start local 10 23: iload 8
istore 7
iload 10
istore 8
end local 10 end local 9 24: StackMap locals: int int
StackMap stack:
aload 0
aload 5
aload 6
invokevirtual org.apache.batik.bridge.StrokingTextPainter.getTextRuns:(Lorg/apache/batik/bridge/TextNode;Ljava/text/AttributedCharacterIterator;)Ljava/util/List;
astore 9
start local 9 25: new java.awt.geom.GeneralPath
dup
invokespecial java.awt.geom.GeneralPath.<init>:()V
astore 10
start local 10 26: aload 9
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 36
StackMap locals: org.apache.batik.bridge.StrokingTextPainter org.apache.batik.bridge.Mark org.apache.batik.bridge.Mark org.apache.batik.bridge.BasicTextPainter$BasicMark org.apache.batik.bridge.BasicTextPainter$BasicMark org.apache.batik.bridge.TextNode java.text.AttributedCharacterIterator int int java.util.List java.awt.geom.GeneralPath top java.util.Iterator
StackMap stack:
27: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 11
start local 11 28: aload 11
checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
astore 13
start local 13 29: aload 13
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
astore 14
start local 14 30: aload 14
31: iload 7
iload 8
32: invokeinterface org.apache.batik.bridge.TextSpanLayout.getHighlightShape:(II)Ljava/awt/Shape;
astore 15
start local 15 33: aload 15
ifnull 36
34: aload 15
invokeinterface java.awt.Shape.getBounds:()Ljava/awt/Rectangle;
invokevirtual java.awt.Rectangle.isEmpty:()Z
ifne 36
35: aload 10
aload 15
iconst_0
invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
end local 15 end local 14 end local 13 end local 11 36: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 27
37: aload 10
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lorg/apache/batik/bridge/StrokingTextPainter;
0 38 1 beginMark Lorg/apache/batik/bridge/Mark;
0 38 2 endMark Lorg/apache/batik/bridge/Mark;
3 5 3 begin Lorg/apache/batik/bridge/BasicTextPainter$BasicMark;
9 38 3 begin Lorg/apache/batik/bridge/BasicTextPainter$BasicMark;
4 5 4 end Lorg/apache/batik/bridge/BasicTextPainter$BasicMark;
9 38 4 end Lorg/apache/batik/bridge/BasicTextPainter$BasicMark;
10 38 5 textNode Lorg/apache/batik/bridge/TextNode;
15 38 6 aci Ljava/text/AttributedCharacterIterator;
18 38 7 beginIndex I
19 38 8 endIndex I
21 24 9 tmpMark Lorg/apache/batik/bridge/BasicTextPainter$BasicMark;
23 24 10 tmpIndex I
25 38 9 textRuns Ljava/util/List;
26 38 10 highlightedShape Ljava/awt/geom/GeneralPath;
28 36 11 textRun1 Ljava/lang/Object;
29 36 13 textRun Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
30 36 14 layout Lorg/apache/batik/bridge/TextSpanLayout;
33 36 15 layoutHighlightedShape Ljava/awt/Shape;
Exception table:
from to target type
2 4 5 Class java.lang.ClassCastException
MethodParameters:
Name Flags
beginMark
endMark
}
SourceFile: "StrokingTextPainter.java"
NestMembers:
org.apache.batik.bridge.StrokingTextPainter$TextChunk org.apache.batik.bridge.StrokingTextPainter$TextRun
InnerClasses:
public Float = java.awt.geom.Point2D$Float of java.awt.geom.Point2D
public Double = java.awt.geom.Rectangle2D$Double of java.awt.geom.Rectangle2D
public Attribute = java.text.AttributedCharacterIterator$Attribute of java.text.AttributedCharacterIterator
protected BasicMark = org.apache.batik.bridge.BasicTextPainter$BasicMark of org.apache.batik.bridge.BasicTextPainter
public TextChunk = org.apache.batik.bridge.StrokingTextPainter$TextChunk of org.apache.batik.bridge.StrokingTextPainter
public TextRun = org.apache.batik.bridge.StrokingTextPainter$TextRun of org.apache.batik.bridge.StrokingTextPainter
public final Anchor = org.apache.batik.bridge.TextNode$Anchor of org.apache.batik.bridge.TextNode
public TextAttribute = org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute of org.apache.batik.gvt.text.GVTAttributedCharacterIterator