public class sun.font.XRTextRenderer extends sun.java2d.pipe.GlyphListPipe
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.font.XRTextRenderer
super_class: sun.java2d.pipe.GlyphListPipe
{
sun.font.XRGlyphCache glyphCache;
descriptor: Lsun/font/XRGlyphCache;
flags: (0x0000)
sun.java2d.xr.XRCompositeManager maskBuffer;
descriptor: Lsun/java2d/xr/XRCompositeManager;
flags: (0x0000)
sun.java2d.xr.XRBackend backend;
descriptor: Lsun/java2d/xr/XRBackend;
flags: (0x0000)
sun.java2d.xr.GrowableEltArray eltList;
descriptor: Lsun/java2d/xr/GrowableEltArray;
flags: (0x0000)
public void <init>(sun.java2d.xr.XRCompositeManager);
descriptor: (Lsun/java2d/xr/XRCompositeManager;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial sun.java2d.pipe.GlyphListPipe.<init>:()V
1: aload 0
new sun.font.XRGlyphCache
dup
aload 1
invokespecial sun.font.XRGlyphCache.<init>:(Lsun/java2d/xr/XRCompositeManager;)V
putfield sun.font.XRTextRenderer.glyphCache:Lsun/font/XRGlyphCache;
2: aload 0
aload 1
putfield sun.font.XRTextRenderer.maskBuffer:Lsun/java2d/xr/XRCompositeManager;
3: aload 0
aload 1
invokevirtual sun.java2d.xr.XRCompositeManager.getBackend:()Lsun/java2d/xr/XRBackend;
putfield sun.font.XRTextRenderer.backend:Lsun/java2d/xr/XRBackend;
4: aload 0
new sun.java2d.xr.GrowableEltArray
dup
bipush 64
invokespecial sun.java2d.xr.GrowableEltArray.<init>:(I)V
putfield sun.font.XRTextRenderer.eltList:Lsun/java2d/xr/GrowableEltArray;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/font/XRTextRenderer;
0 6 1 buffer Lsun/java2d/xr/XRCompositeManager;
MethodParameters:
Name Flags
buffer
protected void drawGlyphList(sun.java2d.SunGraphics2D, sun.font.GlyphList);
descriptor: (Lsun/java2d/SunGraphics2D;Lsun/font/GlyphList;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=21, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual sun.font.GlyphList.getNumGlyphs:()I
ifne 2
1: return
2: StackMap locals:
StackMap stack:
invokestatic sun.awt.SunToolkit.awtLock:()V
3: aload 1
getfield sun.java2d.SunGraphics2D.surfaceData:Lsun/java2d/SurfaceData;
checkcast sun.java2d.xr.XRSurfaceData
astore 3
start local 3 4: aload 3
aconst_null
aload 1
invokevirtual sun.java2d.SunGraphics2D.getCompClip:()Lsun/java2d/pipe/Region;
invokevirtual sun.java2d.xr.XRSurfaceData.validateAsDestination:(Lsun/java2d/SunGraphics2D;Lsun/java2d/pipe/Region;)V
5: aload 3
getfield sun.java2d.xr.XRSurfaceData.maskBuffer:Lsun/java2d/xr/XRCompositeManager;
aload 1
getfield sun.java2d.SunGraphics2D.composite:Ljava/awt/Composite;
aload 1
getfield sun.java2d.SunGraphics2D.transform:Ljava/awt/geom/AffineTransform;
aload 1
getfield sun.java2d.SunGraphics2D.paint:Ljava/awt/Paint;
aload 1
invokevirtual sun.java2d.xr.XRCompositeManager.validateCompositeState:(Ljava/awt/Composite;Ljava/awt/geom/AffineTransform;Ljava/awt/Paint;Lsun/java2d/SunGraphics2D;)V
6: aload 2
invokevirtual sun.font.GlyphList.getX:()F
fstore 4
start local 4 7: aload 2
invokevirtual sun.font.GlyphList.getY:()F
fstore 5
start local 5 8: iconst_0
istore 6
start local 6 9: iconst_0
istore 7
start local 7 10: aload 2
invokevirtual sun.font.GlyphList.isSubPixPos:()Z
ifeq 14
11: fload 4
ldc 0.1666667
fadd
fstore 4
12: fload 5
ldc 0.1666667
fadd
fstore 5
13: goto 16
14: StackMap locals: sun.font.XRTextRenderer sun.java2d.SunGraphics2D sun.font.GlyphList sun.java2d.xr.XRSurfaceData float float int int
StackMap stack:
fload 4
ldc 0.5
fadd
fstore 4
15: fload 5
ldc 0.5
fadd
fstore 5
16: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.XRTextRenderer.glyphCache:Lsun/font/XRGlyphCache;
aload 2
invokevirtual sun.font.XRGlyphCache.cacheGlyphs:(Lsun/font/GlyphList;)[Lsun/font/XRGlyphCacheEntry;
astore 8
start local 8 17: iconst_0
istore 9
start local 9 18: aload 8
iconst_0
aaload
invokevirtual sun.font.XRGlyphCacheEntry.getGlyphSet:()I
istore 10
start local 10 19: iconst_m1
istore 11
start local 11 20: aload 2
invokevirtual sun.font.GlyphList.getBounds:()[I
pop
21: aload 2
invokevirtual sun.font.GlyphList.getPositions:()[F
astore 12
start local 12 22: iconst_0
istore 13
start local 13 23: goto 61
24: StackMap locals: sun.font.XRTextRenderer sun.java2d.SunGraphics2D sun.font.GlyphList sun.java2d.xr.XRSurfaceData float float int int sun.font.XRGlyphCacheEntry[] int int int float[] int
StackMap stack:
aload 2
iload 13
invokevirtual sun.font.GlyphList.setGlyphIndex:(I)V
25: aload 8
iload 13
aaload
astore 14
start local 14 26: aload 14
ifnonnull 28
27: goto 60
28: StackMap locals: sun.font.XRGlyphCacheEntry
StackMap stack:
aload 0
getfield sun.font.XRTextRenderer.eltList:Lsun/java2d/xr/GrowableEltArray;
invokevirtual sun.java2d.xr.GrowableEltArray.getGlyphs:()Lsun/java2d/xr/GrowableIntArray;
aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getGlyphID:()I
invokevirtual sun.java2d.xr.GrowableIntArray.addInt:(I)V
29: aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getGlyphSet:()I
istore 15
start local 15 30: iload 9
iload 15
aload 0
getfield sun.font.XRTextRenderer.glyphCache:Lsun/font/XRGlyphCache;
getfield sun.font.XRGlyphCache.lcdGlyphSet:I
if_icmpne 31
iconst_1
goto 32
StackMap locals: sun.font.XRTextRenderer sun.java2d.SunGraphics2D sun.font.GlyphList sun.java2d.xr.XRSurfaceData float float int int sun.font.XRGlyphCacheEntry[] int int int float[] int sun.font.XRGlyphCacheEntry int
StackMap stack: int
31: iconst_0
StackMap locals: sun.font.XRTextRenderer sun.java2d.SunGraphics2D sun.font.GlyphList sun.java2d.xr.XRSurfaceData float float int int sun.font.XRGlyphCacheEntry[] int int int float[] int sun.font.XRGlyphCacheEntry int
StackMap stack: int int
32: ior
istore 9
33: iconst_0
istore 16
start local 16 34: iconst_0
istore 17
start local 17 35: aload 2
invokevirtual sun.font.GlyphList.usePositions:()Z
ifne 38
36: aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getXAdvance:()F
aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getXOff:()I
i2f
fcmpl
ifne 38
aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getYAdvance:()F
aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getYOff:()I
i2f
fcmpl
ifne 38
37: iload 11
iflt 38
iload 15
iload 10
if_icmpeq 59
38: StackMap locals: int int
StackMap stack:
aload 0
getfield sun.font.XRTextRenderer.eltList:Lsun/java2d/xr/GrowableEltArray;
invokevirtual sun.java2d.xr.GrowableEltArray.getNextIndex:()I
istore 11
39: aload 0
getfield sun.font.XRTextRenderer.eltList:Lsun/java2d/xr/GrowableEltArray;
iload 11
iconst_1
invokevirtual sun.java2d.xr.GrowableEltArray.setCharCnt:(II)V
40: iload 15
istore 10
41: aload 0
getfield sun.font.XRTextRenderer.eltList:Lsun/java2d/xr/GrowableEltArray;
iload 11
iload 15
invokevirtual sun.java2d.xr.GrowableEltArray.setGlyphSet:(II)V
42: aload 2
invokevirtual sun.font.GlyphList.usePositions:()Z
ifeq 50
43: aload 12
iload 13
iconst_2
imul
faload
fload 4
fadd
fstore 18
start local 18 44: aload 12
iload 13
iconst_2
imul
iconst_1
iadd
faload
fload 5
fadd
fstore 19
start local 19 45: fload 18
f2d
invokestatic java.lang.Math.floor:(D)D
d2i
istore 16
46: fload 19
f2d
invokestatic java.lang.Math.floor:(D)D
d2i
istore 17
47: fload 4
aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getXOff:()I
i2f
fsub
fstore 4
48: fload 5
aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getYOff:()I
i2f
fsub
fstore 5
end local 19 end local 18 49: goto 54
50: StackMap locals:
StackMap stack:
fload 4
f2d
invokestatic java.lang.Math.floor:(D)D
d2i
istore 16
51: fload 5
f2d
invokestatic java.lang.Math.floor:(D)D
d2i
istore 17
52: fload 4
aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getXAdvance:()F
aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getXOff:()I
i2f
fsub
fadd
fstore 4
53: fload 5
aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getYAdvance:()F
aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getYOff:()I
i2f
fsub
fadd
fstore 5
54: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.XRTextRenderer.eltList:Lsun/java2d/xr/GrowableEltArray;
iload 11
iload 16
iload 6
isub
invokevirtual sun.java2d.xr.GrowableEltArray.setXOff:(II)V
55: aload 0
getfield sun.font.XRTextRenderer.eltList:Lsun/java2d/xr/GrowableEltArray;
iload 11
iload 17
iload 7
isub
invokevirtual sun.java2d.xr.GrowableEltArray.setYOff:(II)V
56: iload 16
istore 6
57: iload 17
istore 7
58: goto 60
59: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.XRTextRenderer.eltList:Lsun/java2d/xr/GrowableEltArray;
iload 11
aload 0
getfield sun.font.XRTextRenderer.eltList:Lsun/java2d/xr/GrowableEltArray;
iload 11
invokevirtual sun.java2d.xr.GrowableEltArray.getCharCnt:(I)I
iconst_1
iadd
invokevirtual sun.java2d.xr.GrowableEltArray.setCharCnt:(II)V
end local 17 end local 16 end local 15 end local 14 60: StackMap locals: sun.font.XRTextRenderer sun.java2d.SunGraphics2D sun.font.GlyphList sun.java2d.xr.XRSurfaceData float float int int sun.font.XRGlyphCacheEntry[] int int int float[] int
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
61: iload 13
aload 2
invokevirtual sun.font.GlyphList.getNumGlyphs:()I
if_icmplt 24
end local 13 62: iload 9
ifeq 63
iconst_0
goto 64
StackMap locals:
StackMap stack:
63: iconst_2
StackMap locals:
StackMap stack: int
64: istore 13
start local 13 65: aload 0
getfield sun.font.XRTextRenderer.maskBuffer:Lsun/java2d/xr/XRCompositeManager;
aload 3
getfield sun.java2d.xr.XRSurfaceData.picture:I
iconst_0
iload 13
aload 0
getfield sun.font.XRTextRenderer.eltList:Lsun/java2d/xr/GrowableEltArray;
invokevirtual sun.java2d.xr.XRCompositeManager.compositeText:(IIILsun/java2d/xr/GrowableEltArray;)V
66: aload 0
getfield sun.font.XRTextRenderer.eltList:Lsun/java2d/xr/GrowableEltArray;
invokevirtual sun.java2d.xr.GrowableEltArray.clear:()V
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 67: goto 71
StackMap locals: sun.font.XRTextRenderer sun.java2d.SunGraphics2D sun.font.GlyphList
StackMap stack: java.lang.Throwable
68: astore 20
69: invokestatic sun.awt.SunToolkit.awtUnlock:()V
70: aload 20
athrow
71: StackMap locals:
StackMap stack:
invokestatic sun.awt.SunToolkit.awtUnlock:()V
72: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 73 0 this Lsun/font/XRTextRenderer;
0 73 1 sg2d Lsun/java2d/SunGraphics2D;
0 73 2 gl Lsun/font/GlyphList;
4 67 3 x11sd Lsun/java2d/xr/XRSurfaceData;
7 67 4 advX F
8 67 5 advY F
9 67 6 oldPosX I
10 67 7 oldPosY I
17 67 8 cachedGlyphs [Lsun/font/XRGlyphCacheEntry;
18 67 9 containsLCDGlyphs Z
19 67 10 activeGlyphSet I
20 67 11 eltIndex I
22 67 12 positions [F
23 62 13 i I
26 60 14 cacheEntry Lsun/font/XRGlyphCacheEntry;
30 60 15 glyphSet I
34 60 16 posX I
35 60 17 posY I
44 49 18 x F
45 49 19 y F
65 67 13 maskFormat I
Exception table:
from to target type
2 68 68 any
MethodParameters:
Name Flags
sg2d
gl
}
SourceFile: "XRTextRenderer.java"