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
{
static final int MAX_ELT_GLYPH_COUNT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 253
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=7, 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 62
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 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
27: aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getGlyphSet:()I
istore 15
start local 15 28: iload 9
iload 15
aload 0
getfield sun.font.XRTextRenderer.glyphCache:Lsun/font/XRGlyphCache;
getfield sun.font.XRGlyphCache.lcdGlyphSet:I
if_icmpne 29
iconst_1
goto 30
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
29: 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
30: ior
istore 9
31: iconst_0
istore 16
start local 16 32: iconst_0
istore 17
start local 17 33: aload 2
invokevirtual sun.font.GlyphList.usePositions:()Z
ifne 39
34: aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getXAdvance:()F
aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getXOff:()I
i2f
fcmpl
ifne 39
35: aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getYAdvance:()F
aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getYOff:()I
i2f
fcmpl
ifne 39
36: iload 15
iload 10
if_icmpne 39
37: iload 11
iflt 39
38: aload 0
getfield sun.font.XRTextRenderer.eltList:Lsun/java2d/xr/GrowableEltArray;
iload 11
invokevirtual sun.java2d.xr.GrowableEltArray.getCharCnt:(I)I
sipush 253
if_icmpne 60
39: 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
40: aload 0
getfield sun.font.XRTextRenderer.eltList:Lsun/java2d/xr/GrowableEltArray;
iload 11
iconst_1
invokevirtual sun.java2d.xr.GrowableEltArray.setCharCnt:(II)V
41: iload 15
istore 10
42: aload 0
getfield sun.font.XRTextRenderer.eltList:Lsun/java2d/xr/GrowableEltArray;
iload 11
iload 15
invokevirtual sun.java2d.xr.GrowableEltArray.setGlyphSet:(II)V
43: aload 2
invokevirtual sun.font.GlyphList.usePositions:()Z
ifeq 51
44: aload 12
iload 13
iconst_2
imul
faload
fload 4
fadd
fstore 18
start local 18 45: aload 12
iload 13
iconst_2
imul
iconst_1
iadd
faload
fload 5
fadd
fstore 19
start local 19 46: fload 18
f2d
invokestatic java.lang.Math.floor:(D)D
d2i
istore 16
47: fload 19
f2d
invokestatic java.lang.Math.floor:(D)D
d2i
istore 17
48: fload 4
aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getXOff:()I
i2f
fsub
fstore 4
49: fload 5
aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getYOff:()I
i2f
fsub
fstore 5
end local 19 end local 18 50: goto 55
51: StackMap locals:
StackMap stack:
fload 4
f2d
invokestatic java.lang.Math.floor:(D)D
d2i
istore 16
52: fload 5
f2d
invokestatic java.lang.Math.floor:(D)D
d2i
istore 17
53: fload 4
aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getXAdvance:()F
aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getXOff:()I
i2f
fsub
fadd
fstore 4
54: fload 5
aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getYAdvance:()F
aload 14
invokevirtual sun.font.XRGlyphCacheEntry.getYOff:()I
i2f
fsub
fadd
fstore 5
55: 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
56: 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
57: iload 16
istore 6
58: iload 17
istore 7
59: goto 61
60: 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 61: 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:
62: iload 13
aload 2
invokevirtual sun.font.GlyphList.getNumGlyphs:()I
if_icmplt 24
end local 13 63: iload 9
ifeq 64
iconst_0
goto 65
StackMap locals:
StackMap stack:
64: iconst_2
StackMap locals:
StackMap stack: int
65: istore 13
start local 13 66: aload 0
getfield sun.font.XRTextRenderer.maskBuffer:Lsun/java2d/xr/XRCompositeManager;
aload 3
aload 2
invokevirtual sun.font.GlyphList.getX:()F
f2i
aload 2
invokevirtual sun.font.GlyphList.getY:()F
f2i
iconst_0
iload 13
aload 0
getfield sun.font.XRTextRenderer.eltList:Lsun/java2d/xr/GrowableEltArray;
invokevirtual sun.java2d.xr.XRCompositeManager.compositeText:(Lsun/java2d/xr/XRSurfaceData;IIIILsun/java2d/xr/GrowableEltArray;)V
67: 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 68: goto 72
StackMap locals: sun.font.XRTextRenderer sun.java2d.SunGraphics2D sun.font.GlyphList
StackMap stack: java.lang.Throwable
69: astore 20
70: invokestatic sun.awt.SunToolkit.awtUnlock:()V
71: aload 20
athrow
72: StackMap locals:
StackMap stack:
invokestatic sun.awt.SunToolkit.awtUnlock:()V
73: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 74 0 this Lsun/font/XRTextRenderer;
0 74 1 sg2d Lsun/java2d/SunGraphics2D;
0 74 2 gl Lsun/font/GlyphList;
4 68 3 x11sd Lsun/java2d/xr/XRSurfaceData;
7 68 4 advX F
8 68 5 advY F
9 68 6 oldPosX I
10 68 7 oldPosY I
17 68 8 cachedGlyphs [Lsun/font/XRGlyphCacheEntry;
18 68 9 containsLCDGlyphs Z
19 68 10 activeGlyphSet I
20 68 11 eltIndex I
22 68 12 positions [F
23 63 13 i I
26 61 14 cacheEntry Lsun/font/XRGlyphCacheEntry;
28 61 15 glyphSet I
32 61 16 posX I
33 61 17 posY I
45 50 18 x F
46 50 19 y F
66 68 13 maskFormat I
Exception table:
from to target type
2 69 69 any
MethodParameters:
Name Flags
sg2d
gl
}
SourceFile: "XRTextRenderer.java"