final class sun.awt.windows.WPathGraphics extends sun.print.PathGraphics
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.awt.windows.WPathGraphics
super_class: sun.print.PathGraphics
{
private static final int DEFAULT_USER_RES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 72
private static final float MIN_DEVICE_LINEWIDTH;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1.2
private static final float MAX_THINLINE_INCHES;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.014
private static boolean useGDITextLayout;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean preferGDITextLayout;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: iconst_1
putstatic sun.awt.windows.WPathGraphics.useGDITextLayout:Z
1: iconst_0
putstatic sun.awt.windows.WPathGraphics.preferGDITextLayout:Z
2: new sun.security.action.GetPropertyAction
dup
3: ldc "sun.java2d.print.enableGDITextLayout"
4: invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
5: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
6: astore 0
start local 0 7: aload 0
ifnull 13
8: aload 0
invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
putstatic sun.awt.windows.WPathGraphics.useGDITextLayout:Z
9: getstatic sun.awt.windows.WPathGraphics.useGDITextLayout:Z
ifne 13
10: aload 0
ldc "prefer"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 13
11: iconst_1
putstatic sun.awt.windows.WPathGraphics.useGDITextLayout:Z
12: iconst_1
putstatic sun.awt.windows.WPathGraphics.preferGDITextLayout:Z
end local 0 13: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
7 13 0 textLayoutStr Ljava/lang/String;
void <init>(java.awt.Graphics2D, java.awt.print.PrinterJob, java.awt.print.Printable, java.awt.print.PageFormat, int, boolean);
descriptor: (Ljava/awt/Graphics2D;Ljava/awt/print/PrinterJob;Ljava/awt/print/Printable;Ljava/awt/print/PageFormat;IZ)V
flags: (0x0000)
Code:
stack=7, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 2
aload 3
aload 4
iload 5
iload 6
invokespecial sun.print.PathGraphics.<init>:(Ljava/awt/Graphics2D;Ljava/awt/print/PrinterJob;Ljava/awt/print/Printable;Ljava/awt/print/PageFormat;IZ)V
1: 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 2 0 this Lsun/awt/windows/WPathGraphics;
0 2 1 graphics Ljava/awt/Graphics2D;
0 2 2 printerJob Ljava/awt/print/PrinterJob;
0 2 3 painter Ljava/awt/print/Printable;
0 2 4 pageFormat Ljava/awt/print/PageFormat;
0 2 5 pageIndex I
0 2 6 canRedraw Z
MethodParameters:
Name Flags
graphics
printerJob
painter
pageFormat
pageIndex
canRedraw
public java.awt.Graphics create();
descriptor: ()Ljava/awt/Graphics;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=1, args_size=1
start local 0 0: new sun.awt.windows.WPathGraphics
dup
aload 0
invokevirtual sun.awt.windows.WPathGraphics.getDelegate:()Ljava/awt/Graphics2D;
invokevirtual java.awt.Graphics2D.create:()Ljava/awt/Graphics;
checkcast java.awt.Graphics2D
1: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
2: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPrintable:()Ljava/awt/print/Printable;
3: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPageFormat:()Ljava/awt/print/PageFormat;
4: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPageIndex:()I
5: aload 0
invokevirtual sun.awt.windows.WPathGraphics.canDoRedraws:()Z
6: invokespecial sun.awt.windows.WPathGraphics.<init>:(Ljava/awt/Graphics2D;Ljava/awt/print/PrinterJob;Ljava/awt/print/Printable;Ljava/awt/print/PageFormat;IZ)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/awt/windows/WPathGraphics;
public void draw(java.awt.Shape);
descriptor: (Ljava/awt/Shape;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=12, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getStroke:()Ljava/awt/Stroke;
astore 2
start local 2 1: aload 2
instanceof java.awt.BasicStroke
ifeq 35
2: aconst_null
astore 4
start local 4 3: aload 2
checkcast java.awt.BasicStroke
astore 3
start local 3 4: aload 3
invokevirtual java.awt.BasicStroke.getLineWidth:()F
fstore 6
start local 6 5: new java.awt.geom.Point2D$Float
dup
fload 6
fload 6
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 8
start local 8 6: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getTransform:()Ljava/awt/geom/AffineTransform;
astore 7
start local 7 7: aload 7
aload 8
aload 8
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
8: aload 8
getfield java.awt.geom.Point2D$Float.x:F
invokestatic java.lang.Math.abs:(F)F
9: aload 8
getfield java.awt.geom.Point2D$Float.y:F
invokestatic java.lang.Math.abs:(F)F
10: invokestatic java.lang.Math.min:(FF)F
fstore 5
start local 5 11: fload 5
ldc 1.2
fcmpg
ifge 31
12: new java.awt.geom.Point2D$Float
dup
13: ldc 1.2
14: ldc 1.2
15: invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 9
start local 9 16: aload 7
invokevirtual java.awt.geom.AffineTransform.createInverse:()Ljava/awt/geom/AffineTransform;
astore 10
start local 10 17: aload 10
aload 9
aload 9
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
18: aload 9
getfield java.awt.geom.Point2D$Float.x:F
invokestatic java.lang.Math.abs:(F)F
19: aload 9
getfield java.awt.geom.Point2D$Float.y:F
invokestatic java.lang.Math.abs:(F)F
20: invokestatic java.lang.Math.max:(FF)F
fstore 11
start local 11 21: new java.awt.BasicStroke
dup
fload 11
22: aload 3
invokevirtual java.awt.BasicStroke.getEndCap:()I
23: aload 3
invokevirtual java.awt.BasicStroke.getLineJoin:()I
24: aload 3
invokevirtual java.awt.BasicStroke.getMiterLimit:()F
25: aload 3
invokevirtual java.awt.BasicStroke.getDashArray:()[F
26: aload 3
invokevirtual java.awt.BasicStroke.getDashPhase:()F
27: invokespecial java.awt.BasicStroke.<init>:(FIIF[FF)V
astore 4
28: aload 0
aload 4
invokevirtual sun.awt.windows.WPathGraphics.setStroke:(Ljava/awt/Stroke;)V
end local 11 end local 10 29: goto 31
StackMap locals: sun.awt.windows.WPathGraphics java.awt.Shape java.awt.Stroke java.awt.BasicStroke java.awt.BasicStroke float float java.awt.geom.AffineTransform java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float
StackMap stack: java.awt.geom.NoninvertibleTransformException
30: pop
end local 9 31: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial sun.print.PathGraphics.draw:(Ljava/awt/Shape;)V
32: aload 4
ifnull 36
33: aload 0
aload 3
invokevirtual sun.awt.windows.WPathGraphics.setStroke:(Ljava/awt/Stroke;)V
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 34: goto 36
35: StackMap locals: sun.awt.windows.WPathGraphics java.awt.Shape java.awt.Stroke
StackMap stack:
aload 0
aload 1
invokespecial sun.print.PathGraphics.draw:(Ljava/awt/Shape;)V
36: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lsun/awt/windows/WPathGraphics;
0 37 1 s Ljava/awt/Shape;
1 37 2 stroke Ljava/awt/Stroke;
4 34 3 lineStroke Ljava/awt/BasicStroke;
3 34 4 minLineStroke Ljava/awt/BasicStroke;
11 34 5 deviceLineWidth F
5 34 6 lineWidth F
7 34 7 deviceTransform Ljava/awt/geom/AffineTransform;
6 34 8 penSize Ljava/awt/geom/Point2D$Float;
16 31 9 minPenSize Ljava/awt/geom/Point2D$Float;
17 29 10 inverse Ljava/awt/geom/AffineTransform;
21 29 11 minLineWidth F
Exception table:
from to target type
16 29 30 Class java.awt.geom.NoninvertibleTransformException
MethodParameters:
Name Flags
s
public void drawString(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
i2f
iload 3
i2f
invokevirtual sun.awt.windows.WPathGraphics.drawString:(Ljava/lang/String;FF)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/awt/windows/WPathGraphics;
0 2 1 str Ljava/lang/String;
0 2 2 x I
0 2 3 y I
MethodParameters:
Name Flags
str
x
y
public void drawString(java.lang.String, float, float);
descriptor: (Ljava/lang/String;FF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
fload 2
fload 3
aload 0
invokevirtual sun.awt.windows.WPathGraphics.getFont:()Ljava/awt/Font;
aload 0
invokevirtual sun.awt.windows.WPathGraphics.getFontRenderContext:()Ljava/awt/font/FontRenderContext;
fconst_0
invokevirtual sun.awt.windows.WPathGraphics.drawString:(Ljava/lang/String;FFLjava/awt/Font;Ljava/awt/font/FontRenderContext;F)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/awt/windows/WPathGraphics;
0 2 1 str Ljava/lang/String;
0 2 2 x F
0 2 3 y F
MethodParameters:
Name Flags
str
x
y
protected int platformFontCount(java.awt.Font, java.lang.String);
descriptor: (Ljava/awt/Font;Ljava/lang/String;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getTransform:()Ljava/awt/geom/AffineTransform;
astore 3
start local 3 1: new java.awt.geom.AffineTransform
dup
aload 3
invokespecial java.awt.geom.AffineTransform.<init>:(Ljava/awt/geom/AffineTransform;)V
astore 4
start local 4 2: aload 4
aload 0
invokevirtual sun.awt.windows.WPathGraphics.getFont:()Ljava/awt/Font;
invokevirtual java.awt.Font.getTransform:()Ljava/awt/geom/AffineTransform;
invokevirtual java.awt.geom.AffineTransform.concatenate:(Ljava/awt/geom/AffineTransform;)V
3: aload 4
invokevirtual java.awt.geom.AffineTransform.getType:()I
istore 5
start local 5 4: iload 5
5: bipush 32
6: if_icmpeq 9
7: iload 5
bipush 64
iand
ifne 9
8: iconst_1
goto 10
StackMap locals: java.awt.geom.AffineTransform java.awt.geom.AffineTransform int
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: istore 6
start local 6 11: iload 6
ifne 13
12: iconst_0
ireturn
13: StackMap locals: int
StackMap stack:
aload 1
invokestatic sun.font.FontUtilities.getFont2D:(Ljava/awt/Font;)Lsun/font/Font2D;
astore 7
start local 7 14: aload 7
instanceof sun.font.CompositeFont
ifne 16
15: aload 7
instanceof sun.font.TrueTypeFont
ifeq 17
16: StackMap locals: sun.font.Font2D
StackMap stack:
iconst_1
ireturn
17: StackMap locals:
StackMap stack:
iconst_0
ireturn
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 18 0 this Lsun/awt/windows/WPathGraphics;
0 18 1 font Ljava/awt/Font;
0 18 2 str Ljava/lang/String;
1 18 3 deviceTransform Ljava/awt/geom/AffineTransform;
2 18 4 fontTransform Ljava/awt/geom/AffineTransform;
4 18 5 transformType I
11 18 6 directToGDI Z
14 18 7 font2D Lsun/font/Font2D;
MethodParameters:
Name Flags
font
str
private static boolean isXP();
descriptor: ()Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=0
0: ldc "os.version"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 0
start local 0 1: aload 0
ifnull 5
2: aload 0
invokestatic java.lang.Float.valueOf:(Ljava/lang/String;)Ljava/lang/Float;
astore 1
start local 1 3: aload 1
invokevirtual java.lang.Float.floatValue:()F
ldc 5.1
fcmpl
iflt 4
iconst_1
ireturn
StackMap locals: java.lang.String java.lang.Float
StackMap stack:
4: iconst_0
ireturn
end local 1 5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 6 0 osVersion Ljava/lang/String;
3 5 1 version Ljava/lang/Float;
private boolean strNeedsTextLayout(java.lang.String, java.awt.Font);
descriptor: (Ljava/lang/String;Ljava/awt/Font;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.String.toCharArray:()[C
astore 3
start local 3 1: aload 3
iconst_0
aload 3
arraylength
invokestatic sun.font.FontUtilities.isComplexText:([CII)Z
istore 4
start local 4 2: iload 4
ifne 4
3: iconst_0
ireturn
4: StackMap locals: char[] int
StackMap stack:
getstatic sun.awt.windows.WPathGraphics.useGDITextLayout:Z
ifne 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
getstatic sun.awt.windows.WPathGraphics.preferGDITextLayout:Z
ifne 8
7: invokestatic sun.awt.windows.WPathGraphics.isXP:()Z
ifeq 9
aload 2
invokestatic sun.font.FontUtilities.textLayoutIsCompatible:(Ljava/awt/Font;)Z
ifeq 9
8: StackMap locals:
StackMap stack:
iconst_0
ireturn
9: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/awt/windows/WPathGraphics;
0 10 1 str Ljava/lang/String;
0 10 2 font Ljava/awt/Font;
1 10 3 chars [C
2 10 4 isComplex Z
MethodParameters:
Name Flags
str
font
private int getAngle(java.awt.geom.Point2D$Double);
descriptor: (Ljava/awt/geom/Point2D$Double;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield java.awt.geom.Point2D$Double.y:D
aload 1
getfield java.awt.geom.Point2D$Double.x:D
invokestatic java.lang.Math.atan2:(DD)D
invokestatic java.lang.Math.toDegrees:(D)D
dstore 2
start local 2 1: dload 2
dconst_0
dcmpg
ifge 3
2: dload 2
ldc 360.0
dadd
dstore 2
3: StackMap locals: double
StackMap stack:
dload 2
dconst_0
dcmpl
ifeq 5
4: ldc 360.0
dload 2
dsub
dstore 2
5: StackMap locals:
StackMap stack:
dload 2
ldc 10.0
dmul
invokestatic java.lang.Math.round:(D)J
l2i
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/awt/windows/WPathGraphics;
0 6 1 pt Ljava/awt/geom/Point2D$Double;
1 6 2 angle D
MethodParameters:
Name Flags
pt
private float getAwScale(double, double);
descriptor: (DD)F
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 3 0: dload 1
dload 3
ddiv
d2f
fstore 5
start local 5 1: fload 5
ldc 0.999
fcmpl
ifle 3
fload 5
ldc 1.001
fcmpg
ifge 3
2: fconst_1
fstore 5
3: StackMap locals: float
StackMap stack:
fload 5
freturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/awt/windows/WPathGraphics;
0 4 1 scaleFactorX D
0 4 3 scaleFactorY D
1 4 5 awScale F
MethodParameters:
Name Flags
scaleFactorX
scaleFactorY
public void drawString(java.lang.String, float, float, java.awt.Font, java.awt.font.FontRenderContext, float);
descriptor: (Ljava/lang/String;FFLjava/awt/Font;Ljava/awt/font/FontRenderContext;F)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=17, locals=56, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 1
invokevirtual java.lang.String.length:()I
ifne 2
1: return
2: StackMap locals:
StackMap stack:
getstatic sun.awt.windows.WPrinterJob.shapeTextProp:Z
ifeq 5
3: aload 0
aload 1
fload 2
fload 3
aload 4
aload 5
fload 6
invokespecial sun.print.PathGraphics.drawString:(Ljava/lang/String;FFLjava/awt/Font;Ljava/awt/font/FontRenderContext;F)V
4: return
5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
invokevirtual sun.awt.windows.WPathGraphics.strNeedsTextLayout:(Ljava/lang/String;Ljava/awt/Font;)Z
istore 7
start local 7 6: aload 4
invokevirtual java.awt.Font.hasLayoutAttributes:()Z
ifne 7
iload 7
ifeq 11
7: StackMap locals: int
StackMap stack:
aload 0
getfield sun.awt.windows.WPathGraphics.printingGlyphVector:Z
ifne 11
8: new java.awt.font.TextLayout
dup
aload 1
aload 4
aload 5
invokespecial java.awt.font.TextLayout.<init>:(Ljava/lang/String;Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)V
astore 8
start local 8 9: aload 8
aload 0
fload 2
fload 3
invokevirtual java.awt.font.TextLayout.draw:(Ljava/awt/Graphics2D;FF)V
10: return
end local 8 11: StackMap locals:
StackMap stack:
iload 7
ifeq 14
12: aload 0
aload 1
fload 2
fload 3
aload 4
aload 5
fload 6
invokespecial sun.print.PathGraphics.drawString:(Ljava/lang/String;FFLjava/awt/Font;Ljava/awt/font/FontRenderContext;F)V
13: return
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.awt.windows.WPathGraphics.getTransform:()Ljava/awt/geom/AffineTransform;
astore 8
start local 8 15: new java.awt.geom.AffineTransform
dup
aload 8
invokespecial java.awt.geom.AffineTransform.<init>:(Ljava/awt/geom/AffineTransform;)V
astore 9
start local 9 16: aload 9
aload 4
invokevirtual java.awt.Font.getTransform:()Ljava/awt/geom/AffineTransform;
invokevirtual java.awt.geom.AffineTransform.concatenate:(Ljava/awt/geom/AffineTransform;)V
17: aload 9
invokevirtual java.awt.geom.AffineTransform.getType:()I
istore 10
start local 10 18: iload 10
19: bipush 32
20: if_icmpeq 23
21: iload 10
bipush 64
iand
ifne 23
22: iconst_1
goto 24
StackMap locals: java.awt.geom.AffineTransform java.awt.geom.AffineTransform int
StackMap stack:
23: iconst_0
StackMap locals:
StackMap stack: int
24: istore 11
start local 11 25: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 12
start local 12 26: aload 12
aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPaint:()Ljava/awt/Paint;
checkcast java.awt.Color
invokevirtual sun.awt.windows.WPrinterJob.setTextColor:(Ljava/awt/Color;)V
27: goto 30
StackMap locals: sun.awt.windows.WPathGraphics java.lang.String float float java.awt.Font java.awt.font.FontRenderContext float int java.awt.geom.AffineTransform java.awt.geom.AffineTransform int int sun.awt.windows.WPrinterJob
StackMap stack: java.lang.ClassCastException
28: pop
29: iconst_0
istore 11
30: StackMap locals:
StackMap stack:
iload 11
ifne 33
31: aload 0
aload 1
fload 2
fload 3
aload 4
aload 5
fload 6
invokespecial sun.print.PathGraphics.drawString:(Ljava/lang/String;FFLjava/awt/Font;Ljava/awt/font/FontRenderContext;F)V
32: return
33: StackMap locals:
StackMap stack:
new java.awt.geom.Point2D$Float
dup
fload 2
fload 3
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 13
start local 13 34: new java.awt.geom.Point2D$Float
dup
invokespecial java.awt.geom.Point2D$Float.<init>:()V
astore 14
start local 14 35: aload 4
invokevirtual java.awt.Font.isTransformed:()Z
ifeq 42
36: aload 4
invokevirtual java.awt.Font.getTransform:()Ljava/awt/geom/AffineTransform;
astore 15
start local 15 37: aload 15
invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
d2f
fstore 16
start local 16 38: aload 15
invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
d2f
fstore 17
start local 17 39: fload 16
invokestatic java.lang.Math.abs:(F)F
f2d
ldc 1.0E-5
dcmpg
ifge 40
fconst_0
fstore 16
40: StackMap locals: sun.awt.windows.WPathGraphics java.lang.String float float java.awt.Font java.awt.font.FontRenderContext float int java.awt.geom.AffineTransform java.awt.geom.AffineTransform int int sun.awt.windows.WPrinterJob java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float java.awt.geom.AffineTransform float float
StackMap stack:
fload 17
invokestatic java.lang.Math.abs:(F)F
f2d
ldc 1.0E-5
dcmpg
ifge 41
fconst_0
fstore 17
41: StackMap locals:
StackMap stack:
aload 13
dup
getfield java.awt.geom.Point2D$Float.x:F
fload 16
fadd
putfield java.awt.geom.Point2D$Float.x:F
aload 13
dup
getfield java.awt.geom.Point2D$Float.y:F
fload 17
fadd
putfield java.awt.geom.Point2D$Float.y:F
end local 17 end local 16 end local 15 42: StackMap locals:
StackMap stack:
aload 8
aload 13
aload 14
invokevirtual java.awt.geom.AffineTransform.transform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
43: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getClip:()Ljava/awt/Shape;
ifnull 45
44: aload 0
aload 0
invokevirtual sun.awt.windows.WPathGraphics.getClip:()Ljava/awt/Shape;
aload 8
invokeinterface java.awt.Shape.getPathIterator:(Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/PathIterator;
invokevirtual sun.awt.windows.WPathGraphics.deviceClip:(Ljava/awt/geom/PathIterator;)V
45: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.awt.Font.getSize2D:()F
fstore 15
start local 15 46: aload 12
invokevirtual sun.awt.windows.WPrinterJob.getXRes:()D
dstore 16
start local 16 47: aload 12
invokevirtual sun.awt.windows.WPrinterJob.getYRes:()D
dstore 18
start local 18 48: dload 18
ldc 72.0
ddiv
dstore 20
start local 20 49: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPageFormat:()Ljava/awt/print/PageFormat;
invokevirtual java.awt.print.PageFormat.getOrientation:()I
istore 22
start local 22 50: iload 22
ifeq 52
51: iload 22
iconst_2
if_icmpne 55
52: StackMap locals: sun.awt.windows.WPathGraphics java.lang.String float float java.awt.Font java.awt.font.FontRenderContext float int java.awt.geom.AffineTransform java.awt.geom.AffineTransform int int sun.awt.windows.WPrinterJob java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float float double double double int
StackMap stack:
dload 16
dstore 23
start local 23 53: dload 18
dstore 16
54: dload 23
dstore 18
end local 23 55: StackMap locals:
StackMap stack:
dload 16
ldc 72.0
ddiv
dstore 23
start local 23 56: dload 18
ldc 72.0
ddiv
dstore 25
start local 25 57: aload 9
dconst_1
dload 23
ddiv
dconst_1
dload 25
ddiv
invokevirtual java.awt.geom.AffineTransform.scale:(DD)V
58: new java.awt.geom.Point2D$Double
dup
dconst_0
dconst_1
invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
astore 27
start local 27 59: aload 9
aload 27
aload 27
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
60: aload 27
getfield java.awt.geom.Point2D$Double.x:D
aload 27
getfield java.awt.geom.Point2D$Double.x:D
dmul
aload 27
getfield java.awt.geom.Point2D$Double.y:D
aload 27
getfield java.awt.geom.Point2D$Double.y:D
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dstore 28
start local 28 61: fload 15
f2d
dload 28
dmul
dload 20
dmul
d2f
fstore 30
start local 30 62: new java.awt.geom.Point2D$Double
dup
dconst_1
dconst_0
invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
astore 31
start local 31 63: aload 9
aload 31
aload 31
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
64: aload 31
getfield java.awt.geom.Point2D$Double.x:D
aload 31
getfield java.awt.geom.Point2D$Double.x:D
dmul
aload 31
getfield java.awt.geom.Point2D$Double.y:D
aload 31
getfield java.awt.geom.Point2D$Double.y:D
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dstore 32
start local 32 65: aload 0
dload 32
dload 28
invokevirtual sun.awt.windows.WPathGraphics.getAwScale:(DD)F
fstore 34
start local 34 66: aload 0
aload 31
invokevirtual sun.awt.windows.WPathGraphics.getAngle:(Ljava/awt/geom/Point2D$Double;)I
istore 35
start local 35 67: new java.awt.geom.Point2D$Double
dup
dconst_1
dconst_0
invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
astore 31
68: aload 8
aload 31
aload 31
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
69: aload 31
getfield java.awt.geom.Point2D$Double.x:D
aload 31
getfield java.awt.geom.Point2D$Double.x:D
dmul
aload 31
getfield java.awt.geom.Point2D$Double.y:D
aload 31
getfield java.awt.geom.Point2D$Double.y:D
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dstore 36
start local 36 70: new java.awt.geom.Point2D$Double
dup
dconst_0
dconst_1
invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
astore 27
71: aload 8
aload 27
aload 27
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
72: aload 27
getfield java.awt.geom.Point2D$Double.x:D
aload 27
getfield java.awt.geom.Point2D$Double.x:D
dmul
aload 27
getfield java.awt.geom.Point2D$Double.y:D
aload 27
getfield java.awt.geom.Point2D$Double.y:D
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dstore 38
start local 38 73: aload 4
invokestatic sun.font.FontUtilities.getFont2D:(Ljava/awt/Font;)Lsun/font/Font2D;
astore 40
start local 40 74: aload 40
instanceof sun.font.TrueTypeFont
ifeq 81
75: aload 0
aload 1
aload 4
aload 40
checkcast sun.font.TrueTypeFont
aload 5
76: fload 30
iload 35
fload 34
77: dload 36
dload 38
78: fload 2
fload 3
aload 14
getfield java.awt.geom.Point2D$Float.x:F
aload 14
getfield java.awt.geom.Point2D$Float.y:F
fload 6
79: invokevirtual sun.awt.windows.WPathGraphics.textOut:(Ljava/lang/String;Ljava/awt/Font;Lsun/font/PhysicalFont;Ljava/awt/font/FontRenderContext;FIFDDFFFFF)V
80: goto 117
StackMap locals: sun.awt.windows.WPathGraphics java.lang.String float float java.awt.Font java.awt.font.FontRenderContext float int java.awt.geom.AffineTransform java.awt.geom.AffineTransform int int sun.awt.windows.WPrinterJob java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float float double double double int double double java.awt.geom.Point2D$Double double float java.awt.geom.Point2D$Double double float int double double sun.font.Font2D
StackMap stack:
81: aload 40
instanceof sun.font.CompositeFont
ifeq 116
82: aload 40
checkcast sun.font.CompositeFont
astore 41
start local 41 83: fload 2
fstore 42
start local 42 84: fload 3
fstore 43
start local 43 85: aload 14
getfield java.awt.geom.Point2D$Float.x:F
fstore 44
start local 44 86: aload 14
getfield java.awt.geom.Point2D$Float.y:F
fstore 45
start local 45 87: aload 1
invokevirtual java.lang.String.toCharArray:()[C
astore 46
start local 46 88: aload 46
arraylength
istore 47
start local 47 89: iload 47
newarray 10
astore 48
start local 48 90: aload 41
invokevirtual sun.font.CompositeFont.getMapper:()Lsun/font/CharToGlyphMapper;
iload 47
aload 46
aload 48
invokevirtual sun.font.CharToGlyphMapper.charsToGlyphs:(I[C[I)V
91: iconst_0
istore 49
start local 49 92: iconst_0
istore 50
start local 50 93: iconst_0
istore 51
start local 51 94: goto 114
95: StackMap locals: sun.awt.windows.WPathGraphics java.lang.String float float java.awt.Font java.awt.font.FontRenderContext float int java.awt.geom.AffineTransform java.awt.geom.AffineTransform int int sun.awt.windows.WPrinterJob java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float float double double double int double double java.awt.geom.Point2D$Double double float java.awt.geom.Point2D$Double double float int double double sun.font.Font2D sun.font.CompositeFont float float float float char[] int int[] int int int
StackMap stack:
iload 50
istore 49
96: aload 48
iload 49
iaload
bipush 24
iushr
istore 51
97: goto 99
98: StackMap locals:
StackMap stack:
iinc 50 1
99: StackMap locals:
StackMap stack:
iload 50
iload 47
if_icmpge 100
aload 48
iload 50
iaload
bipush 24
iushr
iload 51
if_icmpeq 98
100: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 46
iload 49
iload 50
iload 49
isub
invokespecial java.lang.String.<init>:([CII)V
astore 52
start local 52 101: aload 41
iload 51
invokevirtual sun.font.CompositeFont.getSlotFont:(I)Lsun/font/PhysicalFont;
astore 53
start local 53 102: aload 0
aload 52
aload 4
aload 53
aload 5
103: fload 30
iload 35
fload 34
104: dload 36
dload 38
105: fload 42
fload 43
fload 44
fload 45
fconst_0
106: invokevirtual sun.awt.windows.WPathGraphics.textOut:(Ljava/lang/String;Ljava/awt/Font;Lsun/font/PhysicalFont;Ljava/awt/font/FontRenderContext;FIFDDFFFFF)V
107: aload 4
aload 52
aload 5
invokevirtual java.awt.Font.getStringBounds:(Ljava/lang/String;Ljava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;
astore 54
start local 54 108: aload 54
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
d2f
fstore 55
start local 55 109: fload 42
fload 55
fadd
fstore 42
110: aload 13
dup
getfield java.awt.geom.Point2D$Float.x:F
fload 55
fadd
putfield java.awt.geom.Point2D$Float.x:F
111: aload 8
aload 13
aload 14
invokevirtual java.awt.geom.AffineTransform.transform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
112: aload 14
getfield java.awt.geom.Point2D$Float.x:F
fstore 44
113: aload 14
getfield java.awt.geom.Point2D$Float.y:F
fstore 45
end local 55 end local 54 end local 53 end local 52 114: StackMap locals:
StackMap stack:
iload 50
iload 47
if_icmplt 95
end local 51 end local 50 end local 49 end local 48 end local 47 end local 46 end local 45 end local 44 end local 43 end local 42 end local 41 115: goto 117
116: StackMap locals: sun.awt.windows.WPathGraphics java.lang.String float float java.awt.Font java.awt.font.FontRenderContext float int java.awt.geom.AffineTransform java.awt.geom.AffineTransform int int sun.awt.windows.WPrinterJob java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float float double double double int double double java.awt.geom.Point2D$Double double float java.awt.geom.Point2D$Double double float int double double sun.font.Font2D
StackMap stack:
aload 0
aload 1
fload 2
fload 3
aload 4
aload 5
fload 6
invokespecial sun.print.PathGraphics.drawString:(Ljava/lang/String;FFLjava/awt/Font;Ljava/awt/font/FontRenderContext;F)V
117: StackMap locals:
StackMap stack:
return
end local 40 end local 38 end local 36 end local 35 end local 34 end local 32 end local 31 end local 30 end local 28 end local 27 end local 25 end local 23 end local 22 end local 20 end local 18 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 118 0 this Lsun/awt/windows/WPathGraphics;
0 118 1 str Ljava/lang/String;
0 118 2 x F
0 118 3 y F
0 118 4 font Ljava/awt/Font;
0 118 5 frc Ljava/awt/font/FontRenderContext;
0 118 6 targetW F
6 118 7 layoutNeeded Z
9 11 8 layout Ljava/awt/font/TextLayout;
15 118 8 deviceTransform Ljava/awt/geom/AffineTransform;
16 118 9 fontTransform Ljava/awt/geom/AffineTransform;
18 118 10 transformType I
25 118 11 directToGDI Z
26 118 12 wPrinterJob Lsun/awt/windows/WPrinterJob;
34 118 13 userpos Ljava/awt/geom/Point2D$Float;
35 118 14 devpos Ljava/awt/geom/Point2D$Float;
37 42 15 fontTx Ljava/awt/geom/AffineTransform;
38 42 16 translateX F
39 42 17 translateY F
46 118 15 fontSize F
47 118 16 devResX D
48 118 18 devResY D
49 118 20 fontDevScaleY D
50 118 22 orient I
53 55 23 tmp D
56 118 23 devScaleX D
57 118 25 devScaleY D
59 118 27 pty Ljava/awt/geom/Point2D$Double;
61 118 28 scaleFactorY D
62 118 30 scaledFontSizeY F
63 118 31 ptx Ljava/awt/geom/Point2D$Double;
65 118 32 scaleFactorX D
66 118 34 awScale F
67 118 35 iangle I
70 118 36 advanceScaleX D
73 118 38 advanceScaleY D
74 118 40 font2D Lsun/font/Font2D;
83 115 41 compFont Lsun/font/CompositeFont;
84 115 42 userx F
85 115 43 usery F
86 115 44 devx F
87 115 45 devy F
88 115 46 chars [C
89 115 47 len I
90 115 48 glyphs [I
92 115 49 startChar I
93 115 50 endChar I
94 115 51 slot I
101 114 52 substr Ljava/lang/String;
102 114 53 slotFont Lsun/font/PhysicalFont;
108 114 54 bds Ljava/awt/geom/Rectangle2D;
109 114 55 xAdvance F
Exception table:
from to target type
26 27 28 Class java.lang.ClassCastException
MethodParameters:
Name Flags
str
x
y
font
frc
targetW
protected boolean printGlyphVector(java.awt.font.GlyphVector, float, float);
descriptor: (Ljava/awt/font/GlyphVector;FF)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=57, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual java.awt.font.GlyphVector.getLayoutFlags:()I
iconst_1
iand
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.awt.font.GlyphVector.getNumGlyphs:()I
ifne 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.awt.windows.WPathGraphics.getTransform:()Ljava/awt/geom/AffineTransform;
astore 4
start local 4 5: new java.awt.geom.AffineTransform
dup
aload 4
invokespecial java.awt.geom.AffineTransform.<init>:(Ljava/awt/geom/AffineTransform;)V
astore 5
start local 5 6: aload 1
invokevirtual java.awt.font.GlyphVector.getFont:()Ljava/awt/Font;
astore 6
start local 6 7: aload 5
aload 6
invokevirtual java.awt.Font.getTransform:()Ljava/awt/geom/AffineTransform;
invokevirtual java.awt.geom.AffineTransform.concatenate:(Ljava/awt/geom/AffineTransform;)V
8: aload 5
invokevirtual java.awt.geom.AffineTransform.getType:()I
istore 7
start local 7 9: iload 7
bipush 32
if_icmpeq 12
10: iload 7
bipush 64
iand
ifne 12
11: iconst_1
goto 13
StackMap locals: sun.awt.windows.WPathGraphics java.awt.font.GlyphVector float float java.awt.geom.AffineTransform java.awt.geom.AffineTransform java.awt.Font int
StackMap stack:
12: iconst_0
StackMap locals:
StackMap stack: int
13: istore 8
start local 8 14: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 9
start local 9 15: aload 9
aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPaint:()Ljava/awt/Paint;
checkcast java.awt.Color
invokevirtual sun.awt.windows.WPrinterJob.setTextColor:(Ljava/awt/Color;)V
16: goto 19
StackMap locals: sun.awt.windows.WPathGraphics java.awt.font.GlyphVector float float java.awt.geom.AffineTransform java.awt.geom.AffineTransform java.awt.Font int int sun.awt.windows.WPrinterJob
StackMap stack: java.lang.ClassCastException
17: pop
18: iconst_0
istore 8
19: StackMap locals:
StackMap stack:
getstatic sun.awt.windows.WPrinterJob.shapeTextProp:Z
ifne 20
iload 8
ifne 21
20: StackMap locals:
StackMap stack:
iconst_0
ireturn
21: StackMap locals:
StackMap stack:
new java.awt.geom.Point2D$Float
dup
fload 2
fload 3
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 10
start local 10 22: aload 1
iconst_0
invokevirtual java.awt.font.GlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
astore 11
start local 11 23: aload 10
dup
getfield java.awt.geom.Point2D$Float.x:F
aload 11
invokevirtual java.awt.geom.Point2D.getX:()D
d2f
fadd
putfield java.awt.geom.Point2D$Float.x:F
24: aload 10
dup
getfield java.awt.geom.Point2D$Float.y:F
aload 11
invokevirtual java.awt.geom.Point2D.getY:()D
d2f
fadd
putfield java.awt.geom.Point2D$Float.y:F
25: new java.awt.geom.Point2D$Float
dup
invokespecial java.awt.geom.Point2D$Float.<init>:()V
astore 12
start local 12 26: aload 6
invokevirtual java.awt.Font.isTransformed:()Z
ifeq 33
27: aload 6
invokevirtual java.awt.Font.getTransform:()Ljava/awt/geom/AffineTransform;
astore 13
start local 13 28: aload 13
invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
d2f
fstore 14
start local 14 29: aload 13
invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
d2f
fstore 15
start local 15 30: fload 14
invokestatic java.lang.Math.abs:(F)F
f2d
ldc 1.0E-5
dcmpg
ifge 31
fconst_0
fstore 14
31: StackMap locals: sun.awt.windows.WPathGraphics java.awt.font.GlyphVector float float java.awt.geom.AffineTransform java.awt.geom.AffineTransform java.awt.Font int int sun.awt.windows.WPrinterJob java.awt.geom.Point2D$Float java.awt.geom.Point2D java.awt.geom.Point2D$Float java.awt.geom.AffineTransform float float
StackMap stack:
fload 15
invokestatic java.lang.Math.abs:(F)F
f2d
ldc 1.0E-5
dcmpg
ifge 32
fconst_0
fstore 15
32: StackMap locals:
StackMap stack:
aload 10
dup
getfield java.awt.geom.Point2D$Float.x:F
fload 14
fadd
putfield java.awt.geom.Point2D$Float.x:F
aload 10
dup
getfield java.awt.geom.Point2D$Float.y:F
fload 15
fadd
putfield java.awt.geom.Point2D$Float.y:F
end local 15 end local 14 end local 13 33: StackMap locals:
StackMap stack:
aload 4
aload 10
aload 12
invokevirtual java.awt.geom.AffineTransform.transform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
34: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getClip:()Ljava/awt/Shape;
ifnull 36
35: aload 0
aload 0
invokevirtual sun.awt.windows.WPathGraphics.getClip:()Ljava/awt/Shape;
aload 4
invokeinterface java.awt.Shape.getPathIterator:(Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/PathIterator;
invokevirtual sun.awt.windows.WPathGraphics.deviceClip:(Ljava/awt/geom/PathIterator;)V
36: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.awt.Font.getSize2D:()F
fstore 13
start local 13 37: aload 9
invokevirtual sun.awt.windows.WPrinterJob.getXRes:()D
dstore 14
start local 14 38: aload 9
invokevirtual sun.awt.windows.WPrinterJob.getYRes:()D
dstore 16
start local 16 39: dload 16
ldc 72.0
ddiv
dstore 18
start local 18 40: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPageFormat:()Ljava/awt/print/PageFormat;
invokevirtual java.awt.print.PageFormat.getOrientation:()I
istore 20
start local 20 41: iload 20
ifeq 43
42: iload 20
iconst_2
if_icmpne 46
43: StackMap locals: sun.awt.windows.WPathGraphics java.awt.font.GlyphVector float float java.awt.geom.AffineTransform java.awt.geom.AffineTransform java.awt.Font int int sun.awt.windows.WPrinterJob java.awt.geom.Point2D$Float java.awt.geom.Point2D java.awt.geom.Point2D$Float float double double double int
StackMap stack:
dload 14
dstore 21
start local 21 44: dload 16
dstore 14
45: dload 21
dstore 16
end local 21 46: StackMap locals:
StackMap stack:
dload 14
ldc 72.0
ddiv
dstore 21
start local 21 47: dload 16
ldc 72.0
ddiv
dstore 23
start local 23 48: aload 5
dconst_1
dload 21
ddiv
dconst_1
dload 23
ddiv
invokevirtual java.awt.geom.AffineTransform.scale:(DD)V
49: new java.awt.geom.Point2D$Double
dup
dconst_0
dconst_1
invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
astore 25
start local 25 50: aload 5
aload 25
aload 25
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
51: aload 25
getfield java.awt.geom.Point2D$Double.x:D
aload 25
getfield java.awt.geom.Point2D$Double.x:D
dmul
aload 25
getfield java.awt.geom.Point2D$Double.y:D
aload 25
getfield java.awt.geom.Point2D$Double.y:D
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dstore 26
start local 26 52: fload 13
f2d
dload 26
dmul
dload 18
dmul
d2f
fstore 28
start local 28 53: new java.awt.geom.Point2D$Double
dup
dconst_1
dconst_0
invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
astore 29
start local 29 54: aload 5
aload 29
aload 29
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
55: aload 29
getfield java.awt.geom.Point2D$Double.x:D
aload 29
getfield java.awt.geom.Point2D$Double.x:D
dmul
aload 29
getfield java.awt.geom.Point2D$Double.y:D
aload 29
getfield java.awt.geom.Point2D$Double.y:D
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dstore 30
start local 30 56: aload 0
dload 30
dload 26
invokevirtual sun.awt.windows.WPathGraphics.getAwScale:(DD)F
fstore 32
start local 32 57: aload 0
aload 29
invokevirtual sun.awt.windows.WPathGraphics.getAngle:(Ljava/awt/geom/Point2D$Double;)I
istore 33
start local 33 58: new java.awt.geom.Point2D$Double
dup
dconst_1
dconst_0
invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
astore 29
59: aload 4
aload 29
aload 29
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
60: aload 29
getfield java.awt.geom.Point2D$Double.x:D
aload 29
getfield java.awt.geom.Point2D$Double.x:D
dmul
aload 29
getfield java.awt.geom.Point2D$Double.y:D
aload 29
getfield java.awt.geom.Point2D$Double.y:D
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dstore 34
start local 34 61: new java.awt.geom.Point2D$Double
dup
dconst_0
dconst_1
invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
astore 25
62: aload 4
aload 25
aload 25
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
63: aload 25
getfield java.awt.geom.Point2D$Double.x:D
aload 25
getfield java.awt.geom.Point2D$Double.x:D
dmul
aload 25
getfield java.awt.geom.Point2D$Double.y:D
aload 25
getfield java.awt.geom.Point2D$Double.y:D
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dstore 36
start local 36 64: aload 1
invokevirtual java.awt.font.GlyphVector.getNumGlyphs:()I
istore 38
start local 38 65: aload 1
iconst_0
iload 38
aconst_null
invokevirtual java.awt.font.GlyphVector.getGlyphCodes:(II[I)[I
astore 39
start local 39 66: aload 1
iconst_0
iload 38
aconst_null
invokevirtual java.awt.font.GlyphVector.getGlyphPositions:(II[F)[F
astore 40
start local 40 67: iconst_0
istore 41
start local 41 68: iconst_0
istore 42
start local 42 69: goto 74
70: StackMap locals: sun.awt.windows.WPathGraphics java.awt.font.GlyphVector float float java.awt.geom.AffineTransform java.awt.geom.AffineTransform java.awt.Font int int sun.awt.windows.WPrinterJob java.awt.geom.Point2D$Float java.awt.geom.Point2D java.awt.geom.Point2D$Float float double double double int double double java.awt.geom.Point2D$Double double float java.awt.geom.Point2D$Double double float int double double int int[] float[] int int
StackMap stack:
aload 39
iload 42
iaload
ldc 65535
iand
71: ldc 65534
if_icmplt 73
72: iinc 41 1
73: StackMap locals:
StackMap stack:
iinc 42 1
StackMap locals:
StackMap stack:
74: iload 42
iload 38
if_icmplt 70
end local 42 75: iload 41
ifle 93
76: iload 38
iload 41
isub
istore 42
start local 42 77: iload 42
newarray 10
astore 43
start local 43 78: iload 42
iconst_2
imul
newarray 6
astore 44
start local 44 79: iconst_0
istore 45
start local 45 80: iconst_0
istore 46
start local 46 81: goto 89
82: StackMap locals: sun.awt.windows.WPathGraphics java.awt.font.GlyphVector float float java.awt.geom.AffineTransform java.awt.geom.AffineTransform java.awt.Font int int sun.awt.windows.WPrinterJob java.awt.geom.Point2D$Float java.awt.geom.Point2D java.awt.geom.Point2D$Float float double double double int double double java.awt.geom.Point2D$Double double float java.awt.geom.Point2D$Double double float int double double int int[] float[] int int int[] float[] int int
StackMap stack:
aload 39
iload 46
iaload
ldc 65535
iand
83: ldc 65534
if_icmpge 88
84: aload 43
iload 45
aload 39
iload 46
iaload
iastore
85: aload 44
iload 45
iconst_2
imul
aload 40
iload 46
iconst_2
imul
faload
fastore
86: aload 44
iload 45
iconst_2
imul
iconst_1
iadd
aload 40
iload 46
iconst_2
imul
iconst_1
iadd
faload
fastore
87: iinc 45 1
88: StackMap locals:
StackMap stack:
iinc 46 1
StackMap locals:
StackMap stack:
89: iload 46
iload 38
if_icmplt 82
end local 46 90: iload 42
istore 38
91: aload 43
astore 39
92: aload 44
astore 40
end local 45 end local 44 end local 43 end local 42 93: StackMap locals: sun.awt.windows.WPathGraphics java.awt.font.GlyphVector float float java.awt.geom.AffineTransform java.awt.geom.AffineTransform java.awt.Font int int sun.awt.windows.WPrinterJob java.awt.geom.Point2D$Float java.awt.geom.Point2D java.awt.geom.Point2D$Float float double double double int double double java.awt.geom.Point2D$Double double float java.awt.geom.Point2D$Double double float int double double int int[] float[] int
StackMap stack:
dload 34
dload 36
invokestatic java.awt.geom.AffineTransform.getScaleInstance:(DD)Ljava/awt/geom/AffineTransform;
94: astore 42
start local 42 95: aload 40
arraylength
newarray 6
astore 43
start local 43 96: aload 42
aload 40
iconst_0
97: aload 43
iconst_0
98: aload 40
arraylength
iconst_2
idiv
99: invokevirtual java.awt.geom.AffineTransform.transform:([FI[FII)V
100: aload 6
invokestatic sun.font.FontUtilities.getFont2D:(Ljava/awt/Font;)Lsun/font/Font2D;
astore 44
start local 44 101: aload 44
instanceof sun.font.TrueTypeFont
ifeq 111
102: aload 44
aconst_null
invokevirtual sun.font.Font2D.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
astore 45
start local 45 103: aload 6
invokevirtual java.awt.Font.getStyle:()I
aload 44
invokevirtual sun.font.Font2D.getStyle:()I
ior
istore 46
start local 46 104: aload 9
aload 45
fload 28
iload 46
105: iload 33
fload 32
106: invokevirtual sun.awt.windows.WPrinterJob.setFont:(Ljava/lang/String;FIIF)Z
107: ifne 109
108: iconst_0
ireturn
109: StackMap locals: sun.awt.windows.WPathGraphics java.awt.font.GlyphVector float float java.awt.geom.AffineTransform java.awt.geom.AffineTransform java.awt.Font int int sun.awt.windows.WPrinterJob java.awt.geom.Point2D$Float java.awt.geom.Point2D java.awt.geom.Point2D$Float float double double double int double double java.awt.geom.Point2D$Double double float java.awt.geom.Point2D$Double double float int double double int int[] float[] int java.awt.geom.AffineTransform float[] sun.font.Font2D java.lang.String int
StackMap stack:
aload 9
aload 39
aload 12
getfield java.awt.geom.Point2D$Float.x:F
aload 12
getfield java.awt.geom.Point2D$Float.y:F
aload 43
invokevirtual sun.awt.windows.WPrinterJob.glyphsOut:([IFF[F)V
end local 46 end local 45 110: goto 150
StackMap locals:
StackMap stack:
111: aload 44
instanceof sun.font.CompositeFont
ifeq 149
112: aload 44
checkcast sun.font.CompositeFont
astore 45
start local 45 113: aload 12
getfield java.awt.geom.Point2D$Float.x:F
fstore 46
start local 46 114: aload 12
getfield java.awt.geom.Point2D$Float.y:F
fstore 47
start local 47 115: iconst_0
istore 48
start local 48 116: iconst_0
istore 49
start local 49 117: iconst_0
istore 50
start local 50 118: goto 147
119: StackMap locals: sun.awt.windows.WPathGraphics java.awt.font.GlyphVector float float java.awt.geom.AffineTransform java.awt.geom.AffineTransform java.awt.Font int int sun.awt.windows.WPrinterJob java.awt.geom.Point2D$Float java.awt.geom.Point2D java.awt.geom.Point2D$Float float double double double int double double java.awt.geom.Point2D$Double double float java.awt.geom.Point2D$Double double float int double double int int[] float[] int java.awt.geom.AffineTransform float[] sun.font.Font2D sun.font.CompositeFont float float int int int
StackMap stack:
iload 49
istore 48
120: aload 39
iload 48
iaload
bipush 24
iushr
istore 50
121: goto 123
122: StackMap locals:
StackMap stack:
iinc 49 1
123: StackMap locals:
StackMap stack:
iload 49
iload 38
if_icmpge 124
aload 39
iload 49
iaload
bipush 24
iushr
iload 50
if_icmpeq 122
124: StackMap locals:
StackMap stack:
aload 45
iload 50
invokevirtual sun.font.CompositeFont.getSlotFont:(I)Lsun/font/PhysicalFont;
astore 51
start local 51 125: aload 51
instanceof sun.font.TrueTypeFont
ifne 127
126: iconst_0
ireturn
127: StackMap locals: sun.font.PhysicalFont
StackMap stack:
aload 51
aconst_null
invokevirtual sun.font.PhysicalFont.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
astore 52
start local 52 128: aload 6
invokevirtual java.awt.Font.getStyle:()I
aload 51
invokevirtual sun.font.PhysicalFont.getStyle:()I
ior
istore 53
start local 53 129: aload 9
aload 52
fload 28
iload 53
130: iload 33
fload 32
131: invokevirtual sun.awt.windows.WPrinterJob.setFont:(Ljava/lang/String;FIIF)Z
132: ifne 134
133: iconst_0
ireturn
134: StackMap locals: java.lang.String int
StackMap stack:
aload 39
iload 48
iload 49
invokestatic java.util.Arrays.copyOfRange:([III)[I
astore 54
start local 54 135: aload 43
136: iload 48
iconst_2
imul
iload 49
iconst_2
imul
137: invokestatic java.util.Arrays.copyOfRange:([FII)[F
astore 55
start local 55 138: iload 48
ifeq 146
139: new java.awt.geom.Point2D$Float
dup
fload 2
aload 40
iload 48
iconst_2
imul
faload
fadd
140: fload 3
aload 40
iload 48
iconst_2
imul
iconst_1
iadd
faload
fadd
141: invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
142: astore 56
start local 56 143: aload 4
aload 56
aload 56
invokevirtual java.awt.geom.AffineTransform.transform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
144: aload 56
getfield java.awt.geom.Point2D$Float.x:F
fstore 46
145: aload 56
getfield java.awt.geom.Point2D$Float.y:F
fstore 47
end local 56 146: StackMap locals: int[] float[]
StackMap stack:
aload 9
aload 54
fload 46
fload 47
aload 55
invokevirtual sun.awt.windows.WPrinterJob.glyphsOut:([IFF[F)V
end local 55 end local 54 end local 53 end local 52 end local 51 147: StackMap locals: sun.awt.windows.WPathGraphics java.awt.font.GlyphVector float float java.awt.geom.AffineTransform java.awt.geom.AffineTransform java.awt.Font int int sun.awt.windows.WPrinterJob java.awt.geom.Point2D$Float java.awt.geom.Point2D java.awt.geom.Point2D$Float float double double double int double double java.awt.geom.Point2D$Double double float java.awt.geom.Point2D$Double double float int double double int int[] float[] int java.awt.geom.AffineTransform float[] sun.font.Font2D sun.font.CompositeFont float float int int int
StackMap stack:
iload 49
iload 38
if_icmplt 119
end local 50 end local 49 end local 48 end local 47 end local 46 end local 45 148: goto 150
149: StackMap locals: sun.awt.windows.WPathGraphics java.awt.font.GlyphVector float float java.awt.geom.AffineTransform java.awt.geom.AffineTransform java.awt.Font int int sun.awt.windows.WPrinterJob java.awt.geom.Point2D$Float java.awt.geom.Point2D java.awt.geom.Point2D$Float float double double double int double double java.awt.geom.Point2D$Double double float java.awt.geom.Point2D$Double double float int double double int int[] float[] int java.awt.geom.AffineTransform float[] sun.font.Font2D
StackMap stack:
iconst_0
ireturn
150: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 44 end local 43 end local 42 end local 41 end local 40 end local 39 end local 38 end local 36 end local 34 end local 33 end local 32 end local 30 end local 29 end local 28 end local 26 end local 25 end local 23 end local 21 end local 20 end local 18 end local 16 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 Lsun/awt/windows/WPathGraphics;
0 151 1 gv Ljava/awt/font/GlyphVector;
0 151 2 x F
0 151 3 y F
5 151 4 deviceTransform Ljava/awt/geom/AffineTransform;
6 151 5 fontTransform Ljava/awt/geom/AffineTransform;
7 151 6 font Ljava/awt/Font;
9 151 7 transformType I
14 151 8 directToGDI Z
15 151 9 wPrinterJob Lsun/awt/windows/WPrinterJob;
22 151 10 userpos Ljava/awt/geom/Point2D$Float;
23 151 11 g0pos Ljava/awt/geom/Point2D;
26 151 12 devpos Ljava/awt/geom/Point2D$Float;
28 33 13 fontTx Ljava/awt/geom/AffineTransform;
29 33 14 translateX F
30 33 15 translateY F
37 151 13 fontSize F
38 151 14 devResX D
39 151 16 devResY D
40 151 18 fontDevScaleY D
41 151 20 orient I
44 46 21 tmp D
47 151 21 devScaleX D
48 151 23 devScaleY D
50 151 25 pty Ljava/awt/geom/Point2D$Double;
52 151 26 scaleFactorY D
53 151 28 scaledFontSizeY F
54 151 29 ptx Ljava/awt/geom/Point2D$Double;
56 151 30 scaleFactorX D
57 151 32 awScale F
58 151 33 iangle I
61 151 34 advanceScaleX D
64 151 36 advanceScaleY D
65 151 38 numGlyphs I
66 151 39 glyphCodes [I
67 151 40 glyphPos [F
68 151 41 invisibleGlyphCnt I
69 75 42 gc I
77 93 42 visibleGlyphCnt I
78 93 43 visibleGlyphCodes [I
79 93 44 visiblePositions [F
80 93 45 index I
81 90 46 i I
95 151 42 advanceTransform Ljava/awt/geom/AffineTransform;
96 151 43 glyphAdvPos [F
101 151 44 font2D Lsun/font/Font2D;
103 110 45 family Ljava/lang/String;
104 110 46 style I
113 148 45 compFont Lsun/font/CompositeFont;
114 148 46 devx F
115 148 47 devy F
116 148 48 start I
117 148 49 end I
118 148 50 slot I
125 147 51 slotFont Lsun/font/PhysicalFont;
128 147 52 family Ljava/lang/String;
129 147 53 style I
135 147 54 glyphs [I
138 147 55 posns [F
143 146 56 p Ljava/awt/geom/Point2D$Float;
Exception table:
from to target type
15 16 17 Class java.lang.ClassCastException
MethodParameters:
Name Flags
gv
x
y
private void textOut(java.lang.String, java.awt.Font, sun.font.PhysicalFont, java.awt.font.FontRenderContext, float, int, float, double, double, float, float, float, float, float);
descriptor: (Ljava/lang/String;Ljava/awt/Font;Lsun/font/PhysicalFont;Ljava/awt/font/FontRenderContext;FIFDDFFFFF)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=27, args_size=15
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 10 start local 12 start local 13 start local 14 start local 15 start local 16 0: aload 3
aconst_null
invokevirtual sun.font.PhysicalFont.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
astore 17
start local 17 1: aload 2
invokevirtual java.awt.Font.getStyle:()I
aload 3
invokevirtual sun.font.PhysicalFont.getStyle:()I
ior
istore 18
start local 18 2: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 19
start local 19 3: aload 19
aload 17
fload 5
iload 18
4: iload 6
fload 7
5: invokevirtual sun.awt.windows.WPrinterJob.setFont:(Ljava/lang/String;FIIF)Z
istore 20
start local 20 6: iload 20
ifne 9
7: aload 0
aload 1
fload 12
fload 13
aload 2
aload 4
fload 16
invokespecial sun.print.PathGraphics.drawString:(Ljava/lang/String;FFLjava/awt/Font;Ljava/awt/font/FontRenderContext;F)V
8: return
9: StackMap locals: sun.awt.windows.WPathGraphics java.lang.String java.awt.Font sun.font.PhysicalFont java.awt.font.FontRenderContext float int float double double float float float float float java.lang.String int sun.awt.windows.WPrinterJob int
StackMap stack:
aconst_null
astore 21
start local 21 10: aload 0
aload 1
aload 2
aload 4
dload 8
invokevirtual sun.awt.windows.WPathGraphics.okGDIMetrics:(Ljava/lang/String;Ljava/awt/Font;Ljava/awt/font/FontRenderContext;D)Z
ifne 30
11: aload 19
aload 1
invokevirtual sun.awt.windows.WPrinterJob.removeControlChars:(Ljava/lang/String;)Ljava/lang/String;
astore 1
12: aload 1
invokevirtual java.lang.String.toCharArray:()[C
astore 22
start local 22 13: aload 22
arraylength
istore 23
start local 23 14: aconst_null
astore 24
start local 24 15: aload 22
iconst_0
iload 23
invokestatic sun.font.FontUtilities.isComplexText:([CII)Z
ifne 17
16: aload 2
aload 4
aload 1
invokevirtual java.awt.Font.createGlyphVector:(Ljava/awt/font/FontRenderContext;Ljava/lang/String;)Ljava/awt/font/GlyphVector;
astore 24
17: StackMap locals: sun.awt.windows.WPathGraphics java.lang.String java.awt.Font sun.font.PhysicalFont java.awt.font.FontRenderContext float int float double double float float float float float java.lang.String int sun.awt.windows.WPrinterJob int float[] char[] int java.awt.font.GlyphVector
StackMap stack:
aload 24
ifnonnull 20
18: aload 0
aload 1
fload 12
fload 13
aload 2
aload 4
fload 16
invokespecial sun.print.PathGraphics.drawString:(Ljava/lang/String;FFLjava/awt/Font;Ljava/awt/font/FontRenderContext;F)V
19: return
20: StackMap locals:
StackMap stack:
aload 24
iconst_0
iload 23
aconst_null
invokevirtual java.awt.font.GlyphVector.getGlyphPositions:(II[F)[F
astore 21
21: aload 24
aload 24
invokevirtual java.awt.font.GlyphVector.getNumGlyphs:()I
invokevirtual java.awt.font.GlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
pop
22: dload 8
dload 10
invokestatic java.awt.geom.AffineTransform.getScaleInstance:(DD)Ljava/awt/geom/AffineTransform;
23: astore 25
start local 25 24: aload 21
arraylength
newarray 6
astore 26
start local 26 25: aload 25
aload 21
iconst_0
26: aload 26
iconst_0
27: aload 21
arraylength
iconst_2
idiv
28: invokevirtual java.awt.geom.AffineTransform.transform:([FI[FII)V
29: aload 26
astore 21
end local 26 end local 25 end local 24 end local 23 end local 22 30: StackMap locals:
StackMap stack:
aload 19
aload 1
fload 14
fload 15
aload 21
invokevirtual sun.awt.windows.WPrinterJob.textOut:(Ljava/lang/String;FF[F)V
31: return
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 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 32 0 this Lsun/awt/windows/WPathGraphics;
0 32 1 str Ljava/lang/String;
0 32 2 font Ljava/awt/Font;
0 32 3 font2D Lsun/font/PhysicalFont;
0 32 4 frc Ljava/awt/font/FontRenderContext;
0 32 5 deviceSize F
0 32 6 rotation I
0 32 7 awScale F
0 32 8 scaleFactorX D
0 32 10 scaleFactorY D
0 32 12 userx F
0 32 13 usery F
0 32 14 devx F
0 32 15 devy F
0 32 16 targetW F
1 32 17 family Ljava/lang/String;
2 32 18 style I
3 32 19 wPrinterJob Lsun/awt/windows/WPrinterJob;
6 32 20 setFont Z
10 32 21 glyphPos [F
13 30 22 chars [C
14 30 23 len I
15 30 24 gv Ljava/awt/font/GlyphVector;
24 30 25 advanceTransform Ljava/awt/geom/AffineTransform;
25 30 26 glyphAdvPos [F
MethodParameters:
Name Flags
str
font
font2D
frc
deviceSize
rotation
awScale
scaleFactorX
scaleFactorY
userx
usery
devx
devy
targetW
private boolean okGDIMetrics(java.lang.String, java.awt.Font, java.awt.font.FontRenderContext, double);
descriptor: (Ljava/lang/String;Ljava/awt/Font;Ljava/awt/font/FontRenderContext;D)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=14, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
aload 1
aload 3
invokevirtual java.awt.Font.getStringBounds:(Ljava/lang/String;Ljava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;
astore 6
start local 6 1: aload 6
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
dstore 7
start local 7 2: dload 7
dload 4
dmul
invokestatic java.lang.Math.round:(D)J
l2d
dstore 7
3: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
aload 1
invokevirtual sun.awt.windows.WPrinterJob.getGDIAdvance:(Ljava/lang/String;)I
istore 9
start local 9 4: dload 7
dconst_0
dcmpl
ifle 11
iload 9
ifle 11
5: iload 9
i2d
dload 7
dsub
invokestatic java.lang.Math.abs:(D)D
dstore 10
start local 10 6: iload 9
i2d
dload 7
ddiv
dstore 12
start local 12 7: dload 12
dconst_1
dcmpg
ifge 9
8: dconst_1
dload 12
ddiv
dstore 12
9: StackMap locals: sun.awt.windows.WPathGraphics java.lang.String java.awt.Font java.awt.font.FontRenderContext double java.awt.geom.Rectangle2D double int double double
StackMap stack:
dload 10
dconst_1
dcmpg
ifle 10
dload 12
ldc 1.01
dcmpg
iflt 10
iconst_0
ireturn
StackMap locals:
StackMap stack:
10: iconst_1
ireturn
end local 12 end local 10 11: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 9 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/awt/windows/WPathGraphics;
0 12 1 str Ljava/lang/String;
0 12 2 font Ljava/awt/Font;
0 12 3 frc Ljava/awt/font/FontRenderContext;
0 12 4 scaleX D
1 12 6 bds Ljava/awt/geom/Rectangle2D;
2 12 7 jdkAdvance D
4 12 9 gdiAdvance I
6 11 10 diff D
7 11 12 ratio D
MethodParameters:
Name Flags
str
font
frc
scaleX
protected boolean drawImageToPlatform(java.awt.Image, java.awt.geom.AffineTransform, java.awt.Color, int, int, int, int, boolean);
descriptor: (Ljava/awt/Image;Ljava/awt/geom/AffineTransform;Ljava/awt/Color;IIIIZ)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=16, locals=56, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
aload 1
invokevirtual sun.awt.windows.WPathGraphics.getBufferedImage:(Ljava/awt/Image;)Ljava/awt/image/BufferedImage;
astore 9
start local 9 1: aload 9
ifnonnull 3
2: iconst_1
ireturn
3: StackMap locals: java.awt.image.BufferedImage
StackMap stack:
aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 10
start local 10 4: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getTransform:()Ljava/awt/geom/AffineTransform;
astore 11
start local 11 5: aload 2
ifnonnull 7
6: new java.awt.geom.AffineTransform
dup
invokespecial java.awt.geom.AffineTransform.<init>:()V
astore 2
7: StackMap locals: sun.awt.windows.WPrinterJob java.awt.geom.AffineTransform
StackMap stack:
aload 11
aload 2
invokevirtual java.awt.geom.AffineTransform.concatenate:(Ljava/awt/geom/AffineTransform;)V
8: bipush 6
newarray 7
astore 12
start local 12 9: aload 11
aload 12
invokevirtual java.awt.geom.AffineTransform.getMatrix:([D)V
10: new java.awt.geom.Point2D$Float
dup
fconst_1
fconst_0
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 13
start local 13 11: new java.awt.geom.Point2D$Float
dup
fconst_0
fconst_1
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 14
start local 14 12: aload 11
aload 13
aload 13
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
13: aload 11
aload 14
aload 14
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
14: new java.awt.geom.Point2D$Float
dup
fconst_0
fconst_0
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 15
start local 15 15: aload 13
aload 15
invokevirtual java.awt.geom.Point2D$Float.distance:(Ljava/awt/geom/Point2D;)D
dstore 16
start local 16 16: aload 14
aload 15
invokevirtual java.awt.geom.Point2D$Float.distance:(Ljava/awt/geom/Point2D;)D
dstore 18
start local 18 17: aload 10
invokevirtual sun.awt.windows.WPrinterJob.getXRes:()D
dstore 20
start local 20 18: aload 10
invokevirtual sun.awt.windows.WPrinterJob.getYRes:()D
dstore 22
start local 22 19: dload 20
ldc 72.0
ddiv
dstore 24
start local 24 20: dload 22
ldc 72.0
ddiv
dstore 26
start local 26 21: aload 11
invokevirtual java.awt.geom.AffineTransform.getType:()I
istore 28
start local 28 22: iload 28
23: bipush 48
24: iand
ifeq 25
iconst_1
goto 26
StackMap locals: sun.awt.windows.WPathGraphics java.awt.Image java.awt.geom.AffineTransform java.awt.Color int int int int int java.awt.image.BufferedImage sun.awt.windows.WPrinterJob java.awt.geom.AffineTransform double[] java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float double double double double double double int
StackMap stack:
25: iconst_0
StackMap locals:
StackMap stack: int
26: istore 29
start local 29 27: iload 29
ifeq 30
28: dload 16
dload 24
dcmpl
ifle 29
dload 24
dstore 16
29: StackMap locals: int
StackMap stack:
dload 18
dload 26
dcmpl
ifle 30
dload 26
dstore 18
30: StackMap locals:
StackMap stack:
dload 16
dconst_0
dcmpl
ifeq 223
dload 18
dconst_0
dcmpl
ifeq 223
31: new java.awt.geom.AffineTransform
dup
32: aload 12
iconst_0
daload
dload 16
ddiv
33: aload 12
iconst_1
daload
dload 18
ddiv
34: aload 12
iconst_2
daload
dload 16
ddiv
35: aload 12
iconst_3
daload
dload 18
ddiv
36: aload 12
iconst_4
daload
dload 16
ddiv
37: aload 12
iconst_5
daload
dload 18
ddiv
38: invokespecial java.awt.geom.AffineTransform.<init>:(DDDDDD)V
astore 30
start local 30 39: new java.awt.geom.Rectangle2D$Float
dup
iload 4
i2f
iload 5
i2f
40: iload 6
i2f
41: iload 7
i2f
42: invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
astore 31
start local 31 43: aload 30
aload 31
invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
astore 32
start local 32 44: aload 32
invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 33
start local 33 45: aload 33
aload 33
invokevirtual java.awt.geom.Rectangle2D.getX:()D
aload 33
invokevirtual java.awt.geom.Rectangle2D.getY:()D
46: aload 33
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
ldc 0.001
dadd
47: aload 33
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
ldc 0.001
dadd
48: invokevirtual java.awt.geom.Rectangle2D.setRect:(DDDD)V
49: aload 33
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
d2i
istore 34
start local 34 50: aload 33
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
d2i
istore 35
start local 35 51: iload 34
ifle 223
iload 35
ifle 223
52: iconst_1
istore 36
start local 36 53: iload 8
ifne 70
aload 0
aload 9
invokevirtual sun.awt.windows.WPathGraphics.hasTransparentPixels:(Ljava/awt/image/BufferedImage;)Z
ifeq 70
54: iconst_0
istore 36
55: aload 0
aload 9
invokevirtual sun.awt.windows.WPathGraphics.isBitmaskTransparency:(Ljava/awt/image/BufferedImage;)Z
ifeq 67
56: aload 3
ifnonnull 63
57: aload 0
aload 9
aload 2
aload 3
58: iload 4
iload 5
59: iload 6
iload 7
60: invokevirtual sun.awt.windows.WPathGraphics.drawBitmaskImage:(Ljava/awt/image/BufferedImage;Ljava/awt/geom/AffineTransform;Ljava/awt/Color;IIII)Z
61: ifeq 67
62: iconst_1
ireturn
63: StackMap locals: sun.awt.windows.WPathGraphics java.awt.Image java.awt.geom.AffineTransform java.awt.Color int int int int int java.awt.image.BufferedImage sun.awt.windows.WPrinterJob java.awt.geom.AffineTransform double[] java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float double double double double double double int int java.awt.geom.AffineTransform java.awt.geom.Rectangle2D$Float java.awt.Shape java.awt.geom.Rectangle2D int int int
StackMap stack:
aload 3
invokevirtual java.awt.Color.getTransparency:()I
64: iconst_1
65: if_icmpne 67
66: iconst_1
istore 36
67: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.awt.windows.WPathGraphics.canDoRedraws:()Z
ifne 71
68: iconst_1
istore 36
69: goto 71
70: StackMap locals:
StackMap stack:
aconst_null
astore 3
71: StackMap locals:
StackMap stack:
iload 4
iload 6
iadd
aload 9
aconst_null
invokevirtual java.awt.image.BufferedImage.getWidth:(Ljava/awt/image/ImageObserver;)I
if_icmpgt 73
72: iload 5
iload 7
iadd
aload 9
aconst_null
invokevirtual java.awt.image.BufferedImage.getHeight:(Ljava/awt/image/ImageObserver;)I
if_icmple 75
73: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.awt.windows.WPathGraphics.canDoRedraws:()Z
ifeq 75
74: iconst_0
istore 36
75: StackMap locals:
StackMap stack:
iload 36
ifne 125
76: aload 11
aload 12
invokevirtual java.awt.geom.AffineTransform.getMatrix:([D)V
77: new java.awt.geom.AffineTransform
78: aload 12
iconst_0
daload
dload 24
ddiv
79: aload 12
iconst_1
daload
dload 26
ddiv
80: aload 12
iconst_2
daload
dload 24
ddiv
81: aload 12
iconst_3
daload
dload 26
ddiv
82: aload 12
iconst_4
daload
dload 24
ddiv
83: aload 12
iconst_5
daload
dload 26
ddiv
84: invokespecial java.awt.geom.AffineTransform.<init>:(DDDDDD)V
85: new java.awt.geom.Rectangle2D$Float
dup
iload 4
i2f
iload 5
i2f
iload 6
i2f
iload 7
i2f
invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
86: astore 37
start local 37 87: aload 11
aload 37
invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
astore 38
start local 38 88: aload 38
invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 39
start local 39 89: aload 39
aload 39
invokevirtual java.awt.geom.Rectangle2D.getX:()D
aload 39
invokevirtual java.awt.geom.Rectangle2D.getY:()D
90: aload 39
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
ldc 0.001
dadd
91: aload 39
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
ldc 0.001
dadd
92: invokevirtual java.awt.geom.Rectangle2D.setRect:(DDDD)V
93: aload 39
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
d2i
istore 40
start local 40 94: aload 39
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
d2i
istore 41
start local 41 95: iload 40
iload 41
imul
iconst_3
imul
istore 42
start local 42 96: ldc 8388608
istore 43
start local 43 97: dload 20
dload 22
dcmpg
ifge 98
dload 20
goto 99
StackMap locals: sun.awt.windows.WPathGraphics java.awt.Image java.awt.geom.AffineTransform java.awt.Color int int int int int java.awt.image.BufferedImage sun.awt.windows.WPrinterJob java.awt.geom.AffineTransform double[] java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float double double double double double double int int java.awt.geom.AffineTransform java.awt.geom.Rectangle2D$Float java.awt.Shape java.awt.geom.Rectangle2D int int int java.awt.geom.Rectangle2D$Float java.awt.Shape java.awt.geom.Rectangle2D int int int int
StackMap stack:
98: dload 22
StackMap locals:
StackMap stack: double
99: dstore 44
start local 44 100: dload 44
d2i
istore 46
start local 46 101: dconst_1
dstore 47
start local 47 102: iload 40
i2d
iload 34
i2d
ddiv
dstore 49
start local 49 103: iload 41
i2d
iload 35
i2d
ddiv
dstore 51
start local 51 104: dload 49
dload 51
dcmpl
ifle 105
dload 51
goto 106
StackMap locals: sun.awt.windows.WPathGraphics java.awt.Image java.awt.geom.AffineTransform java.awt.Color int int int int int java.awt.image.BufferedImage sun.awt.windows.WPrinterJob java.awt.geom.AffineTransform double[] java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float double double double double double double int int java.awt.geom.AffineTransform java.awt.geom.Rectangle2D$Float java.awt.Shape java.awt.geom.Rectangle2D int int int java.awt.geom.Rectangle2D$Float java.awt.Shape java.awt.geom.Rectangle2D int int int int double int double double double
StackMap stack:
105: dload 49
StackMap locals:
StackMap stack: double
106: dstore 53
start local 53 107: iload 46
i2d
dload 53
ddiv
d2i
istore 55
start local 55 108: iload 55
bipush 72
if_icmpge 113
bipush 72
istore 55
109: goto 113
110: StackMap locals: double int
StackMap stack:
dload 47
ldc 2.0
dmul
dstore 47
111: iload 46
iconst_2
idiv
istore 46
112: iload 42
iconst_4
idiv
istore 42
113: StackMap locals:
StackMap stack:
iload 42
iload 43
if_icmple 114
iload 46
iload 55
if_icmpgt 110
114: StackMap locals:
StackMap stack:
iload 46
iload 55
if_icmpge 116
115: dload 44
iload 55
i2d
ddiv
dstore 47
116: StackMap locals:
StackMap stack:
aload 39
aload 39
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dload 47
ddiv
117: aload 39
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dload 47
ddiv
118: aload 39
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
dload 47
ddiv
119: aload 39
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
dload 47
ddiv
120: invokevirtual java.awt.geom.Rectangle2D.setRect:(DDDD)V
121: aload 10
aload 0
invokevirtual sun.awt.windows.WPathGraphics.getTransform:()Ljava/awt/geom/AffineTransform;
aload 0
invokevirtual sun.awt.windows.WPathGraphics.getClip:()Ljava/awt/Shape;
122: aload 39
dload 47
dload 47
123: invokevirtual sun.awt.windows.WPrinterJob.saveState:(Ljava/awt/geom/AffineTransform;Ljava/awt/Shape;Ljava/awt/geom/Rectangle2D;DD)V
124: iconst_1
ireturn
end local 55 end local 53 end local 51 end local 49 end local 47 end local 46 end local 44 end local 43 end local 42 end local 41 end local 40 end local 39 end local 38 end local 37 125: StackMap locals: sun.awt.windows.WPathGraphics java.awt.Image java.awt.geom.AffineTransform java.awt.Color int int int int int java.awt.image.BufferedImage sun.awt.windows.WPrinterJob java.awt.geom.AffineTransform double[] java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float double double double double double double int int java.awt.geom.AffineTransform java.awt.geom.Rectangle2D$Float java.awt.Shape java.awt.geom.Rectangle2D int int int
StackMap stack:
iconst_5
istore 37
start local 37 126: aconst_null
astore 38
start local 38 127: aload 9
invokevirtual java.awt.image.BufferedImage.getColorModel:()Ljava/awt/image/ColorModel;
astore 39
start local 39 128: aload 9
invokevirtual java.awt.image.BufferedImage.getType:()I
istore 40
start local 40 129: aload 39
instanceof java.awt.image.IndexColorModel
ifeq 148
130: aload 39
invokevirtual java.awt.image.ColorModel.getPixelSize:()I
bipush 8
if_icmpgt 148
131: iload 40
bipush 12
if_icmpeq 133
132: iload 40
bipush 13
if_icmpne 148
133: StackMap locals: sun.awt.windows.WPathGraphics java.awt.Image java.awt.geom.AffineTransform java.awt.Color int int int int int java.awt.image.BufferedImage sun.awt.windows.WPrinterJob java.awt.geom.AffineTransform double[] java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float double double double double double double int int java.awt.geom.AffineTransform java.awt.geom.Rectangle2D$Float java.awt.Shape java.awt.geom.Rectangle2D int int int int java.awt.image.IndexColorModel java.awt.image.ColorModel int
StackMap stack:
aload 39
checkcast java.awt.image.IndexColorModel
astore 38
134: iload 40
istore 37
135: iload 40
bipush 12
if_icmpne 148
136: aload 39
invokevirtual java.awt.image.ColorModel.getPixelSize:()I
iconst_2
if_icmpne 148
137: bipush 16
newarray 10
astore 41
start local 41 138: aload 38
aload 41
invokevirtual java.awt.image.IndexColorModel.getRGBs:([I)V
139: aload 38
invokevirtual java.awt.image.IndexColorModel.getTransparency:()I
iconst_1
if_icmpeq 140
iconst_1
goto 141
StackMap locals: int[]
StackMap stack:
140: iconst_0
141: StackMap locals:
StackMap stack: int
istore 42
start local 42 142: aload 38
invokevirtual java.awt.image.IndexColorModel.getTransparentPixel:()I
istore 43
start local 43 143: new java.awt.image.IndexColorModel
dup
iconst_4
bipush 16
144: aload 41
iconst_0
145: iload 42
iload 43
146: iconst_0
147: invokespecial java.awt.image.IndexColorModel.<init>:(II[IIZII)V
astore 38
end local 43 end local 42 end local 41 148: StackMap locals:
StackMap stack:
aload 33
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
d2i
istore 41
start local 41 149: aload 33
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
d2i
istore 42
start local 42 150: aconst_null
astore 43
start local 43 151: iconst_1
istore 44
start local 44 152: iload 44
ifeq 179
153: aload 38
ifnonnull 156
154: new java.awt.image.BufferedImage
dup
iload 41
iload 42
iload 37
invokespecial java.awt.image.BufferedImage.<init>:(III)V
astore 43
155: goto 157
156: StackMap locals: sun.awt.windows.WPathGraphics java.awt.Image java.awt.geom.AffineTransform java.awt.Color int int int int int java.awt.image.BufferedImage sun.awt.windows.WPrinterJob java.awt.geom.AffineTransform double[] java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float double double double double double double int int java.awt.geom.AffineTransform java.awt.geom.Rectangle2D$Float java.awt.Shape java.awt.geom.Rectangle2D int int int int java.awt.image.IndexColorModel java.awt.image.ColorModel int int int java.awt.image.BufferedImage int
StackMap stack:
new java.awt.image.BufferedImage
dup
iload 41
iload 42
iload 37
aload 38
invokespecial java.awt.image.BufferedImage.<init>:(IIILjava/awt/image/IndexColorModel;)V
astore 43
157: StackMap locals:
StackMap stack:
aload 43
invokevirtual java.awt.image.BufferedImage.createGraphics:()Ljava/awt/Graphics2D;
astore 45
start local 45 158: aload 45
iconst_0
iconst_0
159: aload 43
invokevirtual java.awt.image.BufferedImage.getWidth:()I
160: aload 43
invokevirtual java.awt.image.BufferedImage.getHeight:()I
161: invokevirtual java.awt.Graphics2D.clipRect:(IIII)V
162: aload 45
aload 33
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dneg
163: aload 33
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dneg
164: invokevirtual java.awt.Graphics2D.translate:(DD)V
165: aload 45
aload 30
invokevirtual java.awt.Graphics2D.transform:(Ljava/awt/geom/AffineTransform;)V
166: aload 3
ifnonnull 168
167: getstatic java.awt.Color.white:Ljava/awt/Color;
astore 3
168: StackMap locals: java.awt.Graphics2D
StackMap stack:
aload 45
aload 9
169: iload 4
iload 5
170: iload 4
iload 6
iadd
171: iload 5
iload 7
iadd
172: iload 4
iload 5
173: iload 4
iload 6
iadd
174: iload 5
iload 7
iadd
175: aload 3
aconst_null
176: invokevirtual java.awt.Graphics2D.drawImage:(Ljava/awt/Image;IIIIIIIILjava/awt/Color;Ljava/awt/image/ImageObserver;)Z
pop
177: aload 45
invokevirtual java.awt.Graphics2D.dispose:()V
end local 45 178: goto 180
179: StackMap locals:
StackMap stack:
aload 9
astore 43
180: StackMap locals:
StackMap stack:
new java.awt.geom.Rectangle2D$Float
dup
181: aload 33
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dload 16
dmul
d2f
182: aload 33
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dload 18
dmul
d2f
183: aload 33
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
dload 16
dmul
d2f
184: aload 33
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
dload 18
dmul
d2f
185: invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
186: astore 45
start local 45 187: aload 43
invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
astore 46
start local 46 188: aload 46
instanceof sun.awt.image.ByteComponentRaster
ifeq 191
189: aload 46
checkcast sun.awt.image.ByteComponentRaster
invokevirtual sun.awt.image.ByteComponentRaster.getDataStorage:()[B
astore 47
start local 47 190: goto 195
end local 47 StackMap locals: java.awt.geom.Rectangle2D$Float java.awt.image.WritableRaster
StackMap stack:
191: aload 46
instanceof sun.awt.image.BytePackedRaster
ifeq 194
192: aload 46
checkcast sun.awt.image.BytePackedRaster
invokevirtual sun.awt.image.BytePackedRaster.getDataStorage:()[B
astore 47
start local 47 193: goto 195
end local 47 194: StackMap locals:
StackMap stack:
iconst_0
ireturn
start local 47 195: StackMap locals: byte[]
StackMap stack:
bipush 24
istore 48
start local 48 196: aload 43
invokevirtual java.awt.image.BufferedImage.getSampleModel:()Ljava/awt/image/SampleModel;
astore 49
start local 49 197: aload 49
instanceof java.awt.image.ComponentSampleModel
ifeq 201
198: aload 49
checkcast java.awt.image.ComponentSampleModel
astore 50
start local 50 199: aload 50
invokevirtual java.awt.image.ComponentSampleModel.getPixelStride:()I
bipush 8
imul
istore 48
end local 50 200: goto 211
StackMap locals: int java.awt.image.SampleModel
StackMap stack:
201: aload 49
instanceof java.awt.image.MultiPixelPackedSampleModel
ifeq 206
202: aload 49
checkcast java.awt.image.MultiPixelPackedSampleModel
203: astore 50
start local 50 204: aload 50
invokevirtual java.awt.image.MultiPixelPackedSampleModel.getPixelBitStride:()I
istore 48
end local 50 205: goto 211
206: StackMap locals:
StackMap stack:
aload 38
ifnull 211
207: aload 43
invokevirtual java.awt.image.BufferedImage.getWidth:()I
istore 50
start local 50 208: aload 43
invokevirtual java.awt.image.BufferedImage.getHeight:()I
istore 51
start local 51 209: iload 50
ifle 211
iload 51
ifle 211
210: aload 47
arraylength
bipush 8
imul
iload 50
idiv
iload 51
idiv
istore 48
end local 51 end local 50 211: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.awt.windows.WPathGraphics.getClip:()Ljava/awt/Shape;
astore 50
start local 50 212: aload 0
aload 2
aload 31
invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
invokevirtual sun.awt.windows.WPathGraphics.clip:(Ljava/awt/Shape;)V
213: aload 0
aload 0
invokevirtual sun.awt.windows.WPathGraphics.getClip:()Ljava/awt/Shape;
aload 0
invokevirtual sun.awt.windows.WPathGraphics.getTransform:()Ljava/awt/geom/AffineTransform;
invokeinterface java.awt.Shape.getPathIterator:(Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/PathIterator;
invokevirtual sun.awt.windows.WPathGraphics.deviceClip:(Ljava/awt/geom/PathIterator;)V
214: aload 10
215: aload 47
aload 45
getfield java.awt.geom.Rectangle2D$Float.x:F
aload 45
getfield java.awt.geom.Rectangle2D$Float.y:F
216: aload 45
getfield java.awt.geom.Rectangle2D$Float.width:F
f2d
ldc 0.5
dadd
invokestatic java.lang.Math.rint:(D)D
d2f
217: aload 45
getfield java.awt.geom.Rectangle2D$Float.height:F
f2d
ldc 0.5
dadd
invokestatic java.lang.Math.rint:(D)D
d2f
218: fconst_0
fconst_0
219: aload 43
invokevirtual java.awt.image.BufferedImage.getWidth:()I
i2f
aload 43
invokevirtual java.awt.image.BufferedImage.getHeight:()I
i2f
220: iload 48
aload 38
221: invokevirtual sun.awt.windows.WPrinterJob.drawDIBImage:([BFFFFFFFFILjava/awt/image/IndexColorModel;)V
222: aload 0
aload 50
invokevirtual sun.awt.windows.WPathGraphics.setClip:(Ljava/awt/Shape;)V
end local 50 end local 49 end local 48 end local 47 end local 46 end local 45 end local 44 end local 43 end local 42 end local 41 end local 40 end local 39 end local 38 end local 37 end local 36 end local 35 end local 34 end local 33 end local 32 end local 31 end local 30 223: StackMap locals: sun.awt.windows.WPathGraphics java.awt.Image java.awt.geom.AffineTransform java.awt.Color int int int int int java.awt.image.BufferedImage sun.awt.windows.WPrinterJob java.awt.geom.AffineTransform double[] java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float double double double double double double int int
StackMap stack:
iconst_1
ireturn
end local 29 end local 28 end local 26 end local 24 end local 22 end local 20 end local 18 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 224 0 this Lsun/awt/windows/WPathGraphics;
0 224 1 image Ljava/awt/Image;
0 224 2 xform Ljava/awt/geom/AffineTransform;
0 224 3 bgcolor Ljava/awt/Color;
0 224 4 srcX I
0 224 5 srcY I
0 224 6 srcWidth I
0 224 7 srcHeight I
0 224 8 handlingTransparency Z
1 224 9 img Ljava/awt/image/BufferedImage;
4 224 10 wPrinterJob Lsun/awt/windows/WPrinterJob;
5 224 11 fullTransform Ljava/awt/geom/AffineTransform;
9 224 12 fullMatrix [D
11 224 13 unitVectorX Ljava/awt/geom/Point2D$Float;
12 224 14 unitVectorY Ljava/awt/geom/Point2D$Float;
15 224 15 origin Ljava/awt/geom/Point2D$Float;
16 224 16 scaleX D
17 224 18 scaleY D
18 224 20 devResX D
19 224 22 devResY D
20 224 24 devScaleX D
21 224 26 devScaleY D
22 224 28 transformType I
27 224 29 clampScale Z
39 223 30 rotTransform Ljava/awt/geom/AffineTransform;
43 223 31 srcRect Ljava/awt/geom/Rectangle2D$Float;
44 223 32 rotShape Ljava/awt/Shape;
45 223 33 rotBounds Ljava/awt/geom/Rectangle2D;
50 223 34 boundsWidth I
51 223 35 boundsHeight I
53 223 36 drawOpaque Z
87 125 37 rect Ljava/awt/geom/Rectangle2D$Float;
88 125 38 shape Ljava/awt/Shape;
89 125 39 region Ljava/awt/geom/Rectangle2D;
94 125 40 w I
95 125 41 h I
96 125 42 nbytes I
97 125 43 maxBytes I
100 125 44 origDpi D
101 125 46 dpi I
102 125 47 scaleFactor D
103 125 49 maxSFX D
104 125 51 maxSFY D
107 125 53 maxSF D
108 125 55 minDpi I
126 223 37 dibType I
127 223 38 icm Ljava/awt/image/IndexColorModel;
128 223 39 cm Ljava/awt/image/ColorModel;
129 223 40 imgType I
138 148 41 rgbs [I
142 148 42 transparent Z
143 148 43 transpixel I
149 223 41 iw I
150 223 42 ih I
151 223 43 deepImage Ljava/awt/image/BufferedImage;
152 223 44 newImage Z
158 178 45 imageGraphics Ljava/awt/Graphics2D;
187 223 45 scaledBounds Ljava/awt/geom/Rectangle2D$Float;
188 223 46 raster Ljava/awt/image/WritableRaster;
190 191 47 data [B
193 194 47 data [B
195 223 47 data [B
196 223 48 bitsPerPixel I
197 223 49 sm Ljava/awt/image/SampleModel;
199 200 50 csm Ljava/awt/image/ComponentSampleModel;
204 205 50 mppsm Ljava/awt/image/MultiPixelPackedSampleModel;
208 211 50 diw I
209 211 51 dih I
212 223 50 holdClip Ljava/awt/Shape;
MethodParameters:
Name Flags
image
xform
bgcolor
srcX
srcY
srcWidth
srcHeight
handlingTransparency
public void redrawRegion(java.awt.geom.Rectangle2D, double, double, java.awt.Shape, java.awt.geom.AffineTransform);
descriptor: (Ljava/awt/geom/Rectangle2D;DDLjava/awt/Shape;Ljava/awt/geom/AffineTransform;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=19, args_size=6
start local 0 start local 1 start local 2 start local 4 start local 6 start local 7 0: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 8
start local 8 1: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPrintable:()Ljava/awt/print/Printable;
astore 9
start local 9 2: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPageFormat:()Ljava/awt/print/PageFormat;
astore 10
start local 10 3: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPageIndex:()I
istore 11
start local 11 4: new java.awt.image.BufferedImage
dup
5: aload 1
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
d2i
6: aload 1
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
d2i
7: iconst_5
8: invokespecial java.awt.image.BufferedImage.<init>:(III)V
astore 12
start local 12 9: aload 12
invokevirtual java.awt.image.BufferedImage.createGraphics:()Ljava/awt/Graphics2D;
astore 13
start local 13 10: new sun.print.ProxyGraphics2D
dup
aload 13
aload 8
invokespecial sun.print.ProxyGraphics2D.<init>:(Ljava/awt/Graphics2D;Ljava/awt/print/PrinterJob;)V
astore 14
start local 14 11: aload 14
getstatic java.awt.Color.white:Ljava/awt/Color;
invokevirtual sun.print.ProxyGraphics2D.setColor:(Ljava/awt/Color;)V
12: aload 14
iconst_0
iconst_0
aload 12
invokevirtual java.awt.image.BufferedImage.getWidth:()I
aload 12
invokevirtual java.awt.image.BufferedImage.getHeight:()I
invokevirtual sun.print.ProxyGraphics2D.fillRect:(IIII)V
13: aload 14
iconst_0
iconst_0
aload 12
invokevirtual java.awt.image.BufferedImage.getWidth:()I
aload 12
invokevirtual java.awt.image.BufferedImage.getHeight:()I
invokevirtual sun.print.ProxyGraphics2D.clipRect:(IIII)V
14: aload 14
aload 1
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dneg
aload 1
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dneg
invokevirtual sun.print.ProxyGraphics2D.translate:(DD)V
15: aload 8
invokevirtual sun.awt.windows.WPrinterJob.getXRes:()D
dload 2
ddiv
d2f
fstore 15
start local 15 16: aload 8
invokevirtual sun.awt.windows.WPrinterJob.getYRes:()D
dload 4
ddiv
d2f
fstore 16
start local 16 17: aload 14
fload 15
ldc 72.0
fdiv
f2d
18: fload 16
ldc 72.0
fdiv
f2d
19: invokevirtual sun.print.ProxyGraphics2D.scale:(DD)V
20: aload 14
21: aload 8
aload 10
invokevirtual java.awt.print.PageFormat.getPaper:()Ljava/awt/print/Paper;
invokevirtual sun.awt.windows.WPrinterJob.getPhysicalPrintableX:(Ljava/awt/print/Paper;)D
dneg
22: aload 8
invokevirtual sun.awt.windows.WPrinterJob.getXRes:()D
23: ddiv
24: ldc 72.0
25: dmul
26: aload 8
aload 10
invokevirtual java.awt.print.PageFormat.getPaper:()Ljava/awt/print/Paper;
invokevirtual sun.awt.windows.WPrinterJob.getPhysicalPrintableY:(Ljava/awt/print/Paper;)D
dneg
27: aload 8
invokevirtual sun.awt.windows.WPrinterJob.getYRes:()D
28: ddiv
29: ldc 72.0
30: dmul
31: invokevirtual sun.print.ProxyGraphics2D.translate:(DD)V
32: aload 14
new java.awt.geom.AffineTransform
dup
aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPageFormat:()Ljava/awt/print/PageFormat;
invokevirtual java.awt.print.PageFormat.getMatrix:()[D
invokespecial java.awt.geom.AffineTransform.<init>:([D)V
invokevirtual sun.print.ProxyGraphics2D.transform:(Ljava/awt/geom/AffineTransform;)V
33: aload 14
getstatic java.awt.Color.black:Ljava/awt/Color;
invokevirtual sun.print.ProxyGraphics2D.setPaint:(Ljava/awt/Paint;)V
34: aload 9
aload 14
aload 10
iload 11
invokeinterface java.awt.print.Printable.print:(Ljava/awt/Graphics;Ljava/awt/print/PageFormat;I)I
pop
35: aload 13
invokevirtual java.awt.Graphics2D.dispose:()V
36: aload 6
ifnull 38
37: aload 0
aload 6
aload 7
invokeinterface java.awt.Shape.getPathIterator:(Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/PathIterator;
invokevirtual sun.awt.windows.WPathGraphics.deviceClip:(Ljava/awt/geom/PathIterator;)V
38: StackMap locals: sun.awt.windows.WPathGraphics java.awt.geom.Rectangle2D double double java.awt.Shape java.awt.geom.AffineTransform sun.awt.windows.WPrinterJob java.awt.print.Printable java.awt.print.PageFormat int java.awt.image.BufferedImage java.awt.Graphics2D sun.print.ProxyGraphics2D float float
StackMap stack:
new java.awt.geom.Rectangle2D$Float
dup
39: aload 1
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dload 2
dmul
d2f
40: aload 1
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dload 4
dmul
d2f
41: aload 1
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
dload 2
dmul
d2f
42: aload 1
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
dload 4
dmul
d2f
43: invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
44: astore 17
start local 17 45: aload 12
invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
checkcast sun.awt.image.ByteComponentRaster
46: astore 18
start local 18 47: aload 8
aload 18
invokevirtual sun.awt.image.ByteComponentRaster.getDataStorage:()[B
48: aload 17
getfield java.awt.geom.Rectangle2D$Float.x:F
aload 17
getfield java.awt.geom.Rectangle2D$Float.y:F
49: aload 17
getfield java.awt.geom.Rectangle2D$Float.width:F
50: aload 17
getfield java.awt.geom.Rectangle2D$Float.height:F
51: fconst_0
fconst_0
52: aload 12
invokevirtual java.awt.image.BufferedImage.getWidth:()I
i2f
aload 12
invokevirtual java.awt.image.BufferedImage.getHeight:()I
i2f
53: invokevirtual sun.awt.windows.WPrinterJob.drawImage3ByteBGR:([BFFFFFFFF)V
54: return
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 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 55 0 this Lsun/awt/windows/WPathGraphics;
0 55 1 region Ljava/awt/geom/Rectangle2D;
0 55 2 scaleX D
0 55 4 scaleY D
0 55 6 savedClip Ljava/awt/Shape;
0 55 7 savedTransform Ljava/awt/geom/AffineTransform;
1 55 8 wPrinterJob Lsun/awt/windows/WPrinterJob;
2 55 9 painter Ljava/awt/print/Printable;
3 55 10 pageFormat Ljava/awt/print/PageFormat;
4 55 11 pageIndex I
9 55 12 deepImage Ljava/awt/image/BufferedImage;
10 55 13 g Ljava/awt/Graphics2D;
11 55 14 proxy Lsun/print/ProxyGraphics2D;
16 55 15 sourceResX F
17 55 16 sourceResY F
45 55 17 scaledBounds Ljava/awt/geom/Rectangle2D$Float;
47 55 18 tile Lsun/awt/image/ByteComponentRaster;
Exceptions:
throws java.awt.print.PrinterException
MethodParameters:
Name Flags
region
scaleX
scaleY
savedClip
savedTransform
protected void deviceFill(java.awt.geom.PathIterator, java.awt.Color);
descriptor: (Ljava/awt/geom/PathIterator;Ljava/awt/Color;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 3
start local 3 1: aload 0
aload 1
invokevirtual sun.awt.windows.WPathGraphics.convertToWPath:(Ljava/awt/geom/PathIterator;)V
2: aload 3
aload 2
invokevirtual sun.awt.windows.WPrinterJob.selectSolidBrush:(Ljava/awt/Color;)V
3: aload 3
invokevirtual sun.awt.windows.WPrinterJob.fillPath:()V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/awt/windows/WPathGraphics;
0 5 1 pathIter Ljava/awt/geom/PathIterator;
0 5 2 color Ljava/awt/Color;
1 5 3 wPrinterJob Lsun/awt/windows/WPrinterJob;
MethodParameters:
Name Flags
pathIter
color
protected void deviceClip(java.awt.geom.PathIterator);
descriptor: (Ljava/awt/geom/PathIterator;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 2
start local 2 1: aload 0
aload 1
invokevirtual sun.awt.windows.WPathGraphics.convertToWPath:(Ljava/awt/geom/PathIterator;)V
2: aload 2
invokevirtual sun.awt.windows.WPrinterJob.selectClipPath:()V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/awt/windows/WPathGraphics;
0 4 1 pathIter Ljava/awt/geom/PathIterator;
1 4 2 wPrinterJob Lsun/awt/windows/WPrinterJob;
MethodParameters:
Name Flags
pathIter
protected void deviceFrameRect(int, int, int, int, java.awt.Color);
descriptor: (IIIILjava/awt/Color;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=23, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getTransform:()Ljava/awt/geom/AffineTransform;
astore 6
start local 6 1: aload 6
invokevirtual java.awt.geom.AffineTransform.getType:()I
istore 7
start local 7 2: iload 7
3: bipush 48
4: iand
ifeq 5
iconst_1
goto 6
StackMap locals: java.awt.geom.AffineTransform int
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 8
start local 8 7: iload 8
ifeq 10
8: aload 0
new java.awt.geom.Rectangle2D$Float
dup
iload 1
i2f
iload 2
i2f
iload 3
i2f
iload 4
i2f
invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
invokevirtual sun.awt.windows.WPathGraphics.draw:(Ljava/awt/Shape;)V
9: return
10: StackMap locals: int
StackMap stack:
aload 0
invokevirtual sun.awt.windows.WPathGraphics.getStroke:()Ljava/awt/Stroke;
astore 9
start local 9 11: aload 9
instanceof java.awt.BasicStroke
ifeq 55
12: aload 9
checkcast java.awt.BasicStroke
astore 10
start local 10 13: aload 10
invokevirtual java.awt.BasicStroke.getEndCap:()I
istore 11
start local 11 14: aload 10
invokevirtual java.awt.BasicStroke.getLineJoin:()I
istore 12
start local 12 15: iload 11
iconst_2
if_icmpne 54
16: iload 12
ifne 54
17: aload 10
invokevirtual java.awt.BasicStroke.getMiterLimit:()F
ldc 10.0
fcmpl
ifne 54
18: aload 10
invokevirtual java.awt.BasicStroke.getLineWidth:()F
fstore 13
start local 13 19: new java.awt.geom.Point2D$Float
dup
fload 13
20: fload 13
21: invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 14
start local 14 22: aload 6
aload 14
aload 14
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
23: aload 14
getfield java.awt.geom.Point2D$Float.x:F
invokestatic java.lang.Math.abs:(F)F
24: aload 14
getfield java.awt.geom.Point2D$Float.y:F
invokestatic java.lang.Math.abs:(F)F
25: invokestatic java.lang.Math.min:(FF)F
fstore 15
start local 15 26: new java.awt.geom.Point2D$Float
dup
iload 1
i2f
iload 2
i2f
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 16
start local 16 27: aload 6
aload 16
aload 16
invokevirtual java.awt.geom.AffineTransform.transform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
28: new java.awt.geom.Point2D$Float
dup
iload 1
iload 3
iadd
i2f
29: iload 2
iload 4
iadd
i2f
30: invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 17
start local 17 31: aload 6
aload 17
aload 17
invokevirtual java.awt.geom.AffineTransform.transform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
32: aload 17
invokevirtual java.awt.geom.Point2D$Float.getX:()D
aload 16
invokevirtual java.awt.geom.Point2D$Float.getX:()D
dsub
d2f
fstore 18
start local 18 33: aload 17
invokevirtual java.awt.geom.Point2D$Float.getY:()D
aload 16
invokevirtual java.awt.geom.Point2D$Float.getY:()D
dsub
d2f
fstore 19
start local 19 34: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 20
start local 20 35: aload 20
iload 11
iload 12
36: fload 15
aload 5
37: invokevirtual sun.awt.windows.WPrinterJob.selectStylePen:(IIFLjava/awt/Color;)Z
38: ifeq 43
39: aload 20
aload 16
invokevirtual java.awt.geom.Point2D$Float.getX:()D
d2f
40: aload 16
invokevirtual java.awt.geom.Point2D$Float.getY:()D
d2f
fload 18
fload 19
41: invokevirtual sun.awt.windows.WPrinterJob.frameRect:(FFFF)V
42: goto 55
43: StackMap locals: sun.awt.windows.WPathGraphics int int int int java.awt.Color java.awt.geom.AffineTransform int int java.awt.Stroke java.awt.BasicStroke int int float java.awt.geom.Point2D$Float float java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float float float sun.awt.windows.WPrinterJob
StackMap stack:
aload 20
invokevirtual sun.awt.windows.WPrinterJob.getXRes:()D
44: aload 20
invokevirtual sun.awt.windows.WPrinterJob.getYRes:()D
45: invokestatic java.lang.Math.min:(DD)D
dstore 21
start local 21 46: fload 15
f2d
dload 21
ddiv
ldc 0.014000000432133675
dcmpg
ifge 52
47: aload 20
fload 15
aload 5
invokevirtual sun.awt.windows.WPrinterJob.selectPen:(FLjava/awt/Color;)V
48: aload 20
aload 16
invokevirtual java.awt.geom.Point2D$Float.getX:()D
d2f
49: aload 16
invokevirtual java.awt.geom.Point2D$Float.getY:()D
d2f
fload 18
fload 19
50: invokevirtual sun.awt.windows.WPrinterJob.frameRect:(FFFF)V
51: goto 55
52: StackMap locals: double
StackMap stack:
aload 0
new java.awt.geom.Rectangle2D$Float
dup
iload 1
i2f
iload 2
i2f
iload 3
i2f
iload 4
i2f
invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
invokevirtual sun.awt.windows.WPathGraphics.draw:(Ljava/awt/Shape;)V
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 53: goto 55
54: StackMap locals: sun.awt.windows.WPathGraphics int int int int java.awt.Color java.awt.geom.AffineTransform int int java.awt.Stroke java.awt.BasicStroke int int
StackMap stack:
aload 0
new java.awt.geom.Rectangle2D$Float
dup
iload 1
i2f
iload 2
i2f
iload 3
i2f
iload 4
i2f
invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
invokevirtual sun.awt.windows.WPathGraphics.draw:(Ljava/awt/Shape;)V
end local 12 end local 11 end local 10 55: StackMap locals:
StackMap stack:
return
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 56 0 this Lsun/awt/windows/WPathGraphics;
0 56 1 x I
0 56 2 y I
0 56 3 width I
0 56 4 height I
0 56 5 color Ljava/awt/Color;
1 56 6 deviceTransform Ljava/awt/geom/AffineTransform;
2 56 7 transformType I
7 56 8 usePath Z
11 56 9 stroke Ljava/awt/Stroke;
13 55 10 lineStroke Ljava/awt/BasicStroke;
14 55 11 endCap I
15 55 12 lineJoin I
19 53 13 lineWidth F
22 53 14 penSize Ljava/awt/geom/Point2D$Float;
26 53 15 deviceLineWidth F
27 53 16 ul_pos Ljava/awt/geom/Point2D$Float;
31 53 17 lr_pos Ljava/awt/geom/Point2D$Float;
33 53 18 w F
34 53 19 h F
35 53 20 wPrinterJob Lsun/awt/windows/WPrinterJob;
46 53 21 lowerRes D
MethodParameters:
Name Flags
x
y
width
height
color
protected void deviceFillRect(int, int, int, int, java.awt.Color);
descriptor: (IIIILjava/awt/Color;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=14, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getTransform:()Ljava/awt/geom/AffineTransform;
astore 6
start local 6 1: aload 6
invokevirtual java.awt.geom.AffineTransform.getType:()I
istore 7
start local 7 2: iload 7
3: bipush 48
4: iand
ifeq 5
iconst_1
goto 6
StackMap locals: java.awt.geom.AffineTransform int
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 8
start local 8 7: iload 8
ifeq 10
8: aload 0
new java.awt.geom.Rectangle2D$Float
dup
iload 1
i2f
iload 2
i2f
iload 3
i2f
iload 4
i2f
invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
invokevirtual sun.awt.windows.WPathGraphics.fill:(Ljava/awt/Shape;)V
9: return
10: StackMap locals: int
StackMap stack:
new java.awt.geom.Point2D$Float
dup
iload 1
i2f
iload 2
i2f
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 9
start local 9 11: aload 6
aload 9
aload 9
invokevirtual java.awt.geom.AffineTransform.transform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
12: new java.awt.geom.Point2D$Float
dup
iload 1
iload 3
iadd
i2f
iload 2
iload 4
iadd
i2f
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 10
start local 10 13: aload 6
aload 10
aload 10
invokevirtual java.awt.geom.AffineTransform.transform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
14: aload 10
invokevirtual java.awt.geom.Point2D$Float.getX:()D
aload 9
invokevirtual java.awt.geom.Point2D$Float.getX:()D
dsub
d2f
fstore 11
start local 11 15: aload 10
invokevirtual java.awt.geom.Point2D$Float.getY:()D
aload 9
invokevirtual java.awt.geom.Point2D$Float.getY:()D
dsub
d2f
fstore 12
start local 12 16: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 13
start local 13 17: aload 13
aload 9
invokevirtual java.awt.geom.Point2D$Float.getX:()D
d2f
aload 9
invokevirtual java.awt.geom.Point2D$Float.getY:()D
d2f
18: fload 11
fload 12
aload 5
19: invokevirtual sun.awt.windows.WPrinterJob.fillRect:(FFFFLjava/awt/Color;)V
20: return
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 21 0 this Lsun/awt/windows/WPathGraphics;
0 21 1 x I
0 21 2 y I
0 21 3 width I
0 21 4 height I
0 21 5 color Ljava/awt/Color;
1 21 6 deviceTransform Ljava/awt/geom/AffineTransform;
2 21 7 transformType I
7 21 8 usePath Z
11 21 9 tlc_pos Ljava/awt/geom/Point2D$Float;
13 21 10 brc_pos Ljava/awt/geom/Point2D$Float;
15 21 11 deviceWidth F
16 21 12 deviceHeight F
17 21 13 wPrinterJob Lsun/awt/windows/WPrinterJob;
MethodParameters:
Name Flags
x
y
width
height
color
protected void deviceDrawLine(int, int, int, int, java.awt.Color);
descriptor: (IIIILjava/awt/Color;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=19, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getStroke:()Ljava/awt/Stroke;
astore 6
start local 6 1: aload 6
instanceof java.awt.BasicStroke
ifeq 49
2: aload 6
checkcast java.awt.BasicStroke
astore 7
start local 7 3: aload 7
invokevirtual java.awt.BasicStroke.getDashArray:()[F
ifnull 6
4: aload 0
new java.awt.geom.Line2D$Float
dup
iload 1
i2f
iload 2
i2f
iload 3
i2f
iload 4
i2f
invokespecial java.awt.geom.Line2D$Float.<init>:(FFFF)V
invokevirtual sun.awt.windows.WPathGraphics.draw:(Ljava/awt/Shape;)V
5: return
6: StackMap locals: java.awt.Stroke java.awt.BasicStroke
StackMap stack:
aload 7
invokevirtual java.awt.BasicStroke.getLineWidth:()F
fstore 8
start local 8 7: new java.awt.geom.Point2D$Float
dup
fload 8
fload 8
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 9
start local 9 8: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getTransform:()Ljava/awt/geom/AffineTransform;
astore 10
start local 10 9: aload 10
aload 9
aload 9
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
10: aload 9
getfield java.awt.geom.Point2D$Float.x:F
invokestatic java.lang.Math.abs:(F)F
11: aload 9
getfield java.awt.geom.Point2D$Float.y:F
invokestatic java.lang.Math.abs:(F)F
12: invokestatic java.lang.Math.min:(FF)F
fstore 11
start local 11 13: new java.awt.geom.Point2D$Float
dup
iload 1
i2f
iload 2
i2f
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 12
start local 12 14: aload 10
aload 12
aload 12
invokevirtual java.awt.geom.AffineTransform.transform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
15: new java.awt.geom.Point2D$Float
dup
iload 3
i2f
iload 4
i2f
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 13
start local 13 16: aload 10
aload 13
aload 13
invokevirtual java.awt.geom.AffineTransform.transform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
17: aload 7
invokevirtual java.awt.BasicStroke.getEndCap:()I
istore 14
start local 14 18: aload 7
invokevirtual java.awt.BasicStroke.getLineJoin:()I
istore 15
start local 15 19: aload 13
invokevirtual java.awt.geom.Point2D$Float.getX:()D
aload 12
invokevirtual java.awt.geom.Point2D$Float.getX:()D
dcmpl
ifne 22
20: aload 13
invokevirtual java.awt.geom.Point2D$Float.getY:()D
aload 12
invokevirtual java.awt.geom.Point2D$Float.getY:()D
dcmpl
ifne 22
21: iconst_1
istore 14
22: StackMap locals: sun.awt.windows.WPathGraphics int int int int java.awt.Color java.awt.Stroke java.awt.BasicStroke float java.awt.geom.Point2D$Float java.awt.geom.AffineTransform float java.awt.geom.Point2D$Float java.awt.geom.Point2D$Float int int
StackMap stack:
aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 16
start local 16 23: aload 16
iload 14
iload 15
24: fload 11
aload 5
25: invokevirtual sun.awt.windows.WPrinterJob.selectStylePen:(IIFLjava/awt/Color;)Z
26: ifeq 34
27: aload 16
aload 12
invokevirtual java.awt.geom.Point2D$Float.getX:()D
d2f
28: aload 12
invokevirtual java.awt.geom.Point2D$Float.getY:()D
d2f
29: invokevirtual sun.awt.windows.WPrinterJob.moveTo:(FF)V
30: aload 16
aload 13
invokevirtual java.awt.geom.Point2D$Float.getX:()D
d2f
31: aload 13
invokevirtual java.awt.geom.Point2D$Float.getY:()D
d2f
32: invokevirtual sun.awt.windows.WPrinterJob.lineTo:(FF)V
33: goto 49
34: StackMap locals: sun.awt.windows.WPrinterJob
StackMap stack:
aload 16
invokevirtual sun.awt.windows.WPrinterJob.getXRes:()D
35: aload 16
invokevirtual sun.awt.windows.WPrinterJob.getYRes:()D
36: invokestatic java.lang.Math.min:(DD)D
dstore 17
start local 17 37: iload 14
iconst_1
if_icmpeq 40
38: iload 1
iload 3
if_icmpeq 39
iload 2
iload 4
if_icmpne 48
39: StackMap locals: double
StackMap stack:
fload 11
f2d
dload 17
ddiv
ldc 0.014000000432133675
dcmpg
ifge 48
40: StackMap locals:
StackMap stack:
aload 16
fload 11
aload 5
invokevirtual sun.awt.windows.WPrinterJob.selectPen:(FLjava/awt/Color;)V
41: aload 16
aload 12
invokevirtual java.awt.geom.Point2D$Float.getX:()D
d2f
42: aload 12
invokevirtual java.awt.geom.Point2D$Float.getY:()D
d2f
43: invokevirtual sun.awt.windows.WPrinterJob.moveTo:(FF)V
44: aload 16
aload 13
invokevirtual java.awt.geom.Point2D$Float.getX:()D
d2f
45: aload 13
invokevirtual java.awt.geom.Point2D$Float.getY:()D
d2f
46: invokevirtual sun.awt.windows.WPrinterJob.lineTo:(FF)V
47: goto 49
48: StackMap locals:
StackMap stack:
aload 0
new java.awt.geom.Line2D$Float
dup
iload 1
i2f
iload 2
i2f
iload 3
i2f
iload 4
i2f
invokespecial java.awt.geom.Line2D$Float.<init>:(FFFF)V
invokevirtual sun.awt.windows.WPathGraphics.draw:(Ljava/awt/Shape;)V
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 49: StackMap locals: sun.awt.windows.WPathGraphics int int int int java.awt.Color java.awt.Stroke
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 50 0 this Lsun/awt/windows/WPathGraphics;
0 50 1 xBegin I
0 50 2 yBegin I
0 50 3 xEnd I
0 50 4 yEnd I
0 50 5 color Ljava/awt/Color;
1 50 6 stroke Ljava/awt/Stroke;
3 49 7 lineStroke Ljava/awt/BasicStroke;
7 49 8 lineWidth F
8 49 9 penSize Ljava/awt/geom/Point2D$Float;
9 49 10 deviceTransform Ljava/awt/geom/AffineTransform;
13 49 11 deviceLineWidth F
14 49 12 begin_pos Ljava/awt/geom/Point2D$Float;
16 49 13 end_pos Ljava/awt/geom/Point2D$Float;
18 49 14 endCap I
19 49 15 lineJoin I
23 49 16 wPrinterJob Lsun/awt/windows/WPrinterJob;
37 49 17 lowerRes D
MethodParameters:
Name Flags
xBegin
yBegin
xEnd
yEnd
color
private void convertToWPath(java.awt.geom.PathIterator);
descriptor: (Ljava/awt/geom/PathIterator;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=12, args_size=2
start local 0 start local 1 0: bipush 6
newarray 6
astore 2
start local 2 1: aload 0
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 4
start local 4 2: aload 1
invokeinterface java.awt.geom.PathIterator.getWindingRule:()I
ifne 5
3: iconst_1
istore 5
start local 5 4: goto 6
end local 5 5: StackMap locals: sun.awt.windows.WPathGraphics java.awt.geom.PathIterator float[] top sun.awt.windows.WPrinterJob
StackMap stack:
iconst_2
istore 5
start local 5 6: StackMap locals: int
StackMap stack:
aload 4
iload 5
invokevirtual sun.awt.windows.WPrinterJob.setPolyFillMode:(I)V
7: aload 4
invokevirtual sun.awt.windows.WPrinterJob.beginPath:()V
8: goto 33
9: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface java.awt.geom.PathIterator.currentSegment:([F)I
istore 3
start local 3 10: iload 3
tableswitch { // 0 - 4
0: 11
1: 13
2: 15
3: 26
4: 31
default: 32
}
11: StackMap locals: sun.awt.windows.WPathGraphics java.awt.geom.PathIterator float[] int sun.awt.windows.WPrinterJob int
StackMap stack:
aload 4
aload 2
iconst_0
faload
aload 2
iconst_1
faload
invokevirtual sun.awt.windows.WPrinterJob.moveTo:(FF)V
12: goto 32
13: StackMap locals:
StackMap stack:
aload 4
aload 2
iconst_0
faload
aload 2
iconst_1
faload
invokevirtual sun.awt.windows.WPrinterJob.lineTo:(FF)V
14: goto 32
15: StackMap locals:
StackMap stack:
aload 4
invokevirtual sun.awt.windows.WPrinterJob.getPenX:()I
istore 6
start local 6 16: aload 4
invokevirtual sun.awt.windows.WPrinterJob.getPenY:()I
istore 7
start local 7 17: iload 6
i2f
aload 2
iconst_0
faload
iload 6
i2f
fsub
fconst_2
fmul
ldc 3.0
fdiv
fadd
fstore 8
start local 8 18: iload 7
i2f
aload 2
iconst_1
faload
iload 7
i2f
fsub
fconst_2
fmul
ldc 3.0
fdiv
fadd
fstore 9
start local 9 19: aload 2
iconst_2
faload
aload 2
iconst_2
faload
aload 2
iconst_0
faload
fsub
fconst_2
fmul
ldc 3.0
fdiv
fsub
fstore 10
start local 10 20: aload 2
iconst_3
faload
aload 2
iconst_3
faload
aload 2
iconst_1
faload
fsub
fconst_2
fmul
ldc 3.0
fdiv
fsub
fstore 11
start local 11 21: aload 4
fload 8
fload 9
22: fload 10
fload 11
23: aload 2
iconst_2
faload
aload 2
iconst_3
faload
24: invokevirtual sun.awt.windows.WPrinterJob.polyBezierTo:(FFFFFF)V
25: goto 32
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 26: StackMap locals:
StackMap stack:
aload 4
aload 2
iconst_0
faload
aload 2
iconst_1
faload
27: aload 2
iconst_2
faload
aload 2
iconst_3
faload
28: aload 2
iconst_4
faload
aload 2
iconst_5
faload
29: invokevirtual sun.awt.windows.WPrinterJob.polyBezierTo:(FFFFFF)V
30: goto 32
31: StackMap locals:
StackMap stack:
aload 4
invokevirtual sun.awt.windows.WPrinterJob.closeFigure:()V
32: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.awt.geom.PathIterator.next:()V
end local 3 33: StackMap locals: sun.awt.windows.WPathGraphics java.awt.geom.PathIterator float[] top sun.awt.windows.WPrinterJob int
StackMap stack:
aload 1
invokeinterface java.awt.geom.PathIterator.isDone:()Z
ifeq 9
34: aload 4
invokevirtual sun.awt.windows.WPrinterJob.endPath:()V
35: return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lsun/awt/windows/WPathGraphics;
0 36 1 pathIter Ljava/awt/geom/PathIterator;
1 36 2 segment [F
10 33 3 segmentType I
2 36 4 wPrinterJob Lsun/awt/windows/WPrinterJob;
4 5 5 polyFillRule I
6 36 5 polyFillRule I
16 26 6 lastX I
17 26 7 lastY I
18 26 8 c1x F
19 26 9 c1y F
20 26 10 c2x F
21 26 11 c2y F
MethodParameters:
Name Flags
pathIter
}
SourceFile: "WPathGraphics.java"
InnerClasses:
public Float = java.awt.geom.Line2D$Float of java.awt.geom.Line2D
public Double = java.awt.geom.Point2D$Double of java.awt.geom.Point2D
public Float = java.awt.geom.Point2D$Float of java.awt.geom.Point2D
public Float = java.awt.geom.Rectangle2D$Float of java.awt.geom.Rectangle2D