class org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter
super_class: java.lang.Object
{
private java.awt.geom.Point2D currentLocation;
descriptor: Ljava/awt/geom/Point2D;
flags: (0x0002) ACC_PRIVATE
final org.apache.fop.svg.AbstractFOPTextPainter this$0;
descriptor: Lorg/apache/fop/svg/AbstractFOPTextPainter;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(org.apache.fop.svg.AbstractFOPTextPainter);
descriptor: (Lorg/apache/fop/svg/AbstractFOPTextPainter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter.this$0:Lorg/apache/fop/svg/AbstractFOPTextPainter;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/fop/svg/AbstractFOPTextPainter$TextRunPainter;
MethodParameters:
Name Flags
this$0 final
public void paintTextRuns(java.lang.Iterable<org.apache.batik.bridge.StrokingTextPainter$TextRun>, java.awt.Graphics2D, java.awt.geom.Point2D);
descriptor: (Ljava/lang/Iterable;Ljava/awt/Graphics2D;Ljava/awt/geom/Point2D;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
new java.awt.geom.Point2D$Double
dup
aload 3
invokevirtual java.awt.geom.Point2D.getX:()D
aload 3
invokevirtual java.awt.geom.Point2D.getY:()D
invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
putfield org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter.currentLocation:Ljava/awt/geom/Point2D;
1: aload 1
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
goto 4
StackMap locals: org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter java.lang.Iterable java.awt.Graphics2D java.awt.geom.Point2D top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.batik.bridge.StrokingTextPainter$TextRun
astore 4
start local 4 3: aload 0
aload 4
aload 2
invokevirtual org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter.paintTextRun:(Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;Ljava/awt/Graphics2D;)V
end local 4 4: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/fop/svg/AbstractFOPTextPainter$TextRunPainter;
0 6 1 textRuns Ljava/lang/Iterable<Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;>;
0 6 2 g2d Ljava/awt/Graphics2D;
0 6 3 nodeLocation Ljava/awt/geom/Point2D;
3 4 4 run Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
Signature: (Ljava/lang/Iterable<Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;>;Ljava/awt/Graphics2D;Ljava/awt/geom/Point2D;)V
MethodParameters:
Name Flags
textRuns
g2d
nodeLocation
private void paintTextRun(org.apache.batik.bridge.StrokingTextPainter$TextRun, java.awt.Graphics2D);
descriptor: (Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;Ljava/awt/Graphics2D;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=26, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getACI:()Ljava/text/AttributedCharacterIterator;
astore 3
start local 3 1: aload 3
invokeinterface java.text.AttributedCharacterIterator.first:()C
pop
2: aload 0
aload 3
aload 0
getfield org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter.currentLocation:Ljava/awt/geom/Point2D;
invokevirtual org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter.updateLocationFromACI:(Ljava/text/AttributedCharacterIterator;Ljava/awt/geom/Point2D;)V
3: aload 0
getfield org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter.this$0:Lorg/apache/fop/svg/AbstractFOPTextPainter;
aload 3
invokevirtual org.apache.fop.svg.AbstractFOPTextPainter.getFont:(Ljava/text/AttributedCharacterIterator;)Lorg/apache/fop/fonts/Font;
astore 4
start local 4 4: aload 4
ifnull 6
5: aload 0
getfield org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter.this$0:Lorg/apache/fop/svg/AbstractFOPTextPainter;
getfield org.apache.fop.svg.AbstractFOPTextPainter.nativeTextHandler:Lorg/apache/fop/svg/FOPTextHandler;
aload 4
invokeinterface org.apache.fop.svg.FOPTextHandler.setOverrideFont:(Lorg/apache/fop/fonts/Font;)V
6: StackMap locals: java.text.AttributedCharacterIterator org.apache.fop.fonts.Font
StackMap stack:
aload 3
7: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.PAINT_INFO:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
8: invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast org.apache.batik.gvt.text.TextPaintInfo
astore 5
start local 5 9: aload 5
ifnonnull 11
10: return
11: StackMap locals: org.apache.batik.gvt.text.TextPaintInfo
StackMap stack:
aload 5
getfield org.apache.batik.gvt.text.TextPaintInfo.fillPaint:Ljava/awt/Paint;
astore 6
start local 6 12: aload 6
instanceof java.awt.Color
ifeq 15
13: aload 6
checkcast java.awt.Color
astore 7
start local 7 14: aload 2
aload 7
invokevirtual java.awt.Graphics2D.setColor:(Ljava/awt/Color;)V
end local 7 15: StackMap locals: java.awt.Paint
StackMap stack:
aload 2
aload 6
invokevirtual java.awt.Graphics2D.setPaint:(Ljava/awt/Paint;)V
16: aload 3
17: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.ANCHOR_TYPE:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
18: invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast org.apache.batik.bridge.TextNode$Anchor
astore 7
start local 7 19: aload 0
getfield org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter.this$0:Lorg/apache/fop/svg/AbstractFOPTextPainter;
aload 3
invokevirtual org.apache.fop.svg.AbstractFOPTextPainter.getText:(Ljava/text/AttributedCharacterIterator;)Ljava/lang/String;
astore 8
start local 8 20: aload 4
ifnonnull 21
aload 1
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
invokeinterface org.apache.batik.bridge.TextSpanLayout.getAdvance2D:()Ljava/awt/geom/Point2D;
invokevirtual java.awt.geom.Point2D.getX:()D
goto 22
StackMap locals: org.apache.batik.bridge.TextNode$Anchor java.lang.String
StackMap stack:
21: aload 0
getfield org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter.this$0:Lorg/apache/fop/svg/AbstractFOPTextPainter;
aload 8
aload 4
invokevirtual org.apache.fop.svg.AbstractFOPTextPainter.getStringWidth:(Ljava/lang/String;Lorg/apache/fop/fonts/Font;)F
f2d
StackMap locals:
StackMap stack: double
22: dstore 9
start local 9 23: dconst_0
dstore 11
start local 11 24: aload 7
ifnull 29
25: aload 7
invokevirtual org.apache.batik.bridge.TextNode$Anchor.getType:()I
tableswitch { // 1 - 2
1: 26
2: 28
default: 29
}
26: StackMap locals: double double
StackMap stack:
dload 9
dneg
ldc 2.0
ddiv
dstore 11
27: goto 29
28: StackMap locals:
StackMap stack:
dload 9
dneg
dstore 11
29: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.awt.Graphics2D.getTransform:()Ljava/awt/geom/AffineTransform;
aload 0
getfield org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter.currentLocation:Ljava/awt/geom/Point2D;
aconst_null
invokevirtual java.awt.geom.AffineTransform.transform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
astore 13
start local 13 30: aload 13
invokevirtual java.awt.geom.Point2D.getX:()D
dstore 14
start local 14 31: aload 13
invokevirtual java.awt.geom.Point2D.getY:()D
dstore 16
start local 16 32: aload 2
checkcast org.apache.fop.afp.AFPGraphics2D
astore 18
start local 18 33: iconst_0
istore 19
start local 19 34: aload 4
ifnull 36
35: aload 18
aload 4
invokevirtual org.apache.fop.fonts.Font.getFontSize:()I
i2d
invokevirtual org.apache.fop.afp.AFPGraphics2D.convertToAbsoluteLength:(D)D
invokestatic java.lang.Math.round:(D)J
l2i
istore 19
36: StackMap locals: org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter org.apache.batik.bridge.StrokingTextPainter$TextRun java.awt.Graphics2D java.text.AttributedCharacterIterator org.apache.fop.fonts.Font org.apache.batik.gvt.text.TextPaintInfo java.awt.Paint org.apache.batik.bridge.TextNode$Anchor java.lang.String double double java.awt.geom.Point2D double double org.apache.fop.afp.AFPGraphics2D int
StackMap stack:
iload 19
sipush 6000
if_icmpge 39
37: aload 0
getfield org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter.this$0:Lorg/apache/fop/svg/AbstractFOPTextPainter;
getfield org.apache.fop.svg.AbstractFOPTextPainter.nativeTextHandler:Lorg/apache/fop/svg/FOPTextHandler;
aload 2
aload 8
dload 14
dload 11
dadd
d2f
dload 16
d2f
invokeinterface org.apache.fop.svg.FOPTextHandler.drawString:(Ljava/awt/Graphics2D;Ljava/lang/String;FF)V
38: goto 54
39: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.awt.Graphics2D.getTransform:()Ljava/awt/geom/AffineTransform;
invokevirtual java.awt.geom.AffineTransform.getScaleX:()D
dstore 20
start local 20 40: iconst_0
istore 22
start local 22 41: goto 45
42: StackMap locals: double int
StackMap stack:
aload 1
invokevirtual org.apache.batik.bridge.StrokingTextPainter$TextRun.getLayout:()Lorg/apache/batik/bridge/TextSpanLayout;
invokeinterface org.apache.batik.bridge.TextSpanLayout.getGlyphAdvances:()[F
iload 22
faload
f2d
dload 20
dmul
dstore 23
start local 23 43: aload 0
getfield org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter.this$0:Lorg/apache/fop/svg/AbstractFOPTextPainter;
getfield org.apache.fop.svg.AbstractFOPTextPainter.nativeTextHandler:Lorg/apache/fop/svg/FOPTextHandler;
aload 2
new java.lang.StringBuilder
dup
aload 8
iload 22
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
dload 14
dload 11
dadd
dload 23
dadd
d2f
dload 16
d2f
invokeinterface org.apache.fop.svg.FOPTextHandler.drawString:(Ljava/awt/Graphics2D;Ljava/lang/String;FF)V
end local 23 44: iinc 22 1
StackMap locals:
StackMap stack:
45: iload 22
aload 8
invokevirtual java.lang.String.length:()I
if_icmplt 42
end local 22 end local 20 end local 19 end local 18 46: goto 54
StackMap locals: org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter org.apache.batik.bridge.StrokingTextPainter$TextRun java.awt.Graphics2D java.text.AttributedCharacterIterator org.apache.fop.fonts.Font org.apache.batik.gvt.text.TextPaintInfo java.awt.Paint org.apache.batik.bridge.TextNode$Anchor java.lang.String double double java.awt.geom.Point2D double double
StackMap stack: java.io.IOException
47: astore 18
start local 18 48: aload 2
instanceof org.apache.fop.afp.AFPGraphics2D
ifeq 54
49: aload 2
checkcast org.apache.fop.afp.AFPGraphics2D
aload 18
invokevirtual org.apache.fop.afp.AFPGraphics2D.handleIOException:(Ljava/io/IOException;)V
end local 18 50: goto 54
StackMap locals:
StackMap stack: java.lang.Throwable
51: astore 25
52: aload 0
getfield org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter.this$0:Lorg/apache/fop/svg/AbstractFOPTextPainter;
getfield org.apache.fop.svg.AbstractFOPTextPainter.nativeTextHandler:Lorg/apache/fop/svg/FOPTextHandler;
aconst_null
invokeinterface org.apache.fop.svg.FOPTextHandler.setOverrideFont:(Lorg/apache/fop/fonts/Font;)V
53: aload 25
athrow
54: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter.this$0:Lorg/apache/fop/svg/AbstractFOPTextPainter;
getfield org.apache.fop.svg.AbstractFOPTextPainter.nativeTextHandler:Lorg/apache/fop/svg/FOPTextHandler;
aconst_null
invokeinterface org.apache.fop.svg.FOPTextHandler.setOverrideFont:(Lorg/apache/fop/fonts/Font;)V
55: aload 0
getfield org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter.currentLocation:Ljava/awt/geom/Point2D;
aload 0
getfield org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter.currentLocation:Ljava/awt/geom/Point2D;
invokevirtual java.awt.geom.Point2D.getX:()D
dload 9
dadd
aload 0
getfield org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter.currentLocation:Ljava/awt/geom/Point2D;
invokevirtual java.awt.geom.Point2D.getY:()D
invokevirtual java.awt.geom.Point2D.setLocation:(DD)V
56: return
end local 16 end local 14 end local 13 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 57 0 this Lorg/apache/fop/svg/AbstractFOPTextPainter$TextRunPainter;
0 57 1 run Lorg/apache/batik/bridge/StrokingTextPainter$TextRun;
0 57 2 g2d Ljava/awt/Graphics2D;
1 57 3 aci Ljava/text/AttributedCharacterIterator;
4 57 4 font Lorg/apache/fop/fonts/Font;
9 57 5 tpi Lorg/apache/batik/gvt/text/TextPaintInfo;
12 57 6 foreground Ljava/awt/Paint;
14 15 7 col Ljava/awt/Color;
19 57 7 anchor Lorg/apache/batik/bridge/TextNode$Anchor;
20 57 8 txt Ljava/lang/String;
23 57 9 advance D
24 57 11 tx D
30 57 13 outputLocation Ljava/awt/geom/Point2D;
31 57 14 x D
32 57 16 y D
33 46 18 afpg2d Lorg/apache/fop/afp/AFPGraphics2D;
34 46 19 fontSize I
40 46 20 scaleX D
41 46 22 i I
43 44 23 ad D
48 50 18 ioe Ljava/io/IOException;
Exception table:
from to target type
32 46 47 Class java.io.IOException
32 51 51 any
MethodParameters:
Name Flags
run
g2d
private void updateLocationFromACI(java.text.AttributedCharacterIterator, java.awt.geom.Point2D);
descriptor: (Ljava/text/AttributedCharacterIterator;Ljava/awt/geom/Point2D;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
1: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.X:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
2: invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.lang.Float
astore 3
start local 3 3: aload 1
4: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.Y:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
5: invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.lang.Float
astore 4
start local 4 6: aload 1
7: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.DX:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
8: invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.lang.Float
astore 5
start local 5 9: aload 1
10: getstatic org.apache.batik.gvt.text.GVTAttributedCharacterIterator$TextAttribute.DY:Lorg/apache/batik/gvt/text/GVTAttributedCharacterIterator$TextAttribute;
11: invokeinterface java.text.AttributedCharacterIterator.getAttribute:(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;
checkcast java.lang.Float
astore 6
start local 6 12: aload 3
ifnull 14
13: aload 2
aload 3
invokevirtual java.lang.Float.doubleValue:()D
aload 2
invokevirtual java.awt.geom.Point2D.getY:()D
invokevirtual java.awt.geom.Point2D.setLocation:(DD)V
14: StackMap locals: org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter java.text.AttributedCharacterIterator java.awt.geom.Point2D java.lang.Float java.lang.Float java.lang.Float java.lang.Float
StackMap stack:
aload 4
ifnull 16
15: aload 2
aload 2
invokevirtual java.awt.geom.Point2D.getX:()D
aload 4
invokevirtual java.lang.Float.doubleValue:()D
invokevirtual java.awt.geom.Point2D.setLocation:(DD)V
16: StackMap locals:
StackMap stack:
aload 5
ifnull 18
17: aload 2
aload 2
invokevirtual java.awt.geom.Point2D.getX:()D
aload 5
invokevirtual java.lang.Float.doubleValue:()D
dadd
aload 2
invokevirtual java.awt.geom.Point2D.getY:()D
invokevirtual java.awt.geom.Point2D.setLocation:(DD)V
18: StackMap locals:
StackMap stack:
aload 6
ifnull 20
19: aload 2
aload 2
invokevirtual java.awt.geom.Point2D.getX:()D
aload 2
invokevirtual java.awt.geom.Point2D.getY:()D
aload 6
invokevirtual java.lang.Float.doubleValue:()D
dadd
invokevirtual java.awt.geom.Point2D.setLocation:(DD)V
20: StackMap locals:
StackMap stack:
return
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 21 0 this Lorg/apache/fop/svg/AbstractFOPTextPainter$TextRunPainter;
0 21 1 aci Ljava/text/AttributedCharacterIterator;
0 21 2 loc Ljava/awt/geom/Point2D;
3 21 3 xpos Ljava/lang/Float;
6 21 4 ypos Ljava/lang/Float;
9 21 5 dxpos Ljava/lang/Float;
12 21 6 dypos Ljava/lang/Float;
MethodParameters:
Name Flags
aci
loc
}
SourceFile: "AbstractFOPTextPainter.java"
NestHost: org.apache.fop.svg.AbstractFOPTextPainter
InnerClasses:
public Double = java.awt.geom.Point2D$Double of java.awt.geom.Point2D
public Attribute = java.text.AttributedCharacterIterator$Attribute of java.text.AttributedCharacterIterator
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
private TextRunPainter = org.apache.fop.svg.AbstractFOPTextPainter$TextRunPainter of org.apache.fop.svg.AbstractFOPTextPainter