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