class sun.awt.windows.WPathGraphics extends sun.print.PathGraphics
minor version: 0
major version: 59
flags: flags: (0x0020) 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: .line 93
iconst_1
putstatic sun.awt.windows.WPathGraphics.useGDITextLayout:Z
1: .line 94
iconst_0
putstatic sun.awt.windows.WPathGraphics.preferGDITextLayout:Z
2: .line 98
new sun.security.action.GetPropertyAction
dup
3: .line 99
ldc "sun.java2d.print.enableGDITextLayout"
4: .line 98
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
5: .line 97
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
6: .line 96
astore 0 /* textLayoutStr */
start local 0 // java.lang.String textLayoutStr
7: .line 101
aload 0 /* textLayoutStr */
ifnull 13
8: .line 102
aload 0 /* textLayoutStr */
invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
putstatic sun.awt.windows.WPathGraphics.useGDITextLayout:Z
9: .line 103
getstatic sun.awt.windows.WPathGraphics.useGDITextLayout:Z
ifne 13
10: .line 104
aload 0 /* textLayoutStr */
ldc "prefer"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 13
11: .line 105
iconst_1
putstatic sun.awt.windows.WPathGraphics.useGDITextLayout:Z
12: .line 106
iconst_1
putstatic sun.awt.windows.WPathGraphics.preferGDITextLayout:Z
end local 0 // java.lang.String textLayoutStr
13: .line 110
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 // sun.awt.windows.WPathGraphics this
start local 1 // java.awt.Graphics2D graphics
start local 2 // java.awt.print.PrinterJob printerJob
start local 3 // java.awt.print.Printable painter
start local 4 // java.awt.print.PageFormat pageFormat
start local 5 // int pageIndex
start local 6 // boolean canRedraw
0: .line 115
aload 0 /* this */
aload 1 /* graphics */
aload 2 /* printerJob */
aload 3 /* painter */
aload 4 /* pageFormat */
iload 5 /* pageIndex */
iload 6 /* canRedraw */
invokespecial sun.print.PathGraphics.<init>:(Ljava/awt/Graphics2D;Ljava/awt/print/PrinterJob;Ljava/awt/print/Printable;Ljava/awt/print/PageFormat;IZ)V
1: .line 116
return
end local 6 // boolean canRedraw
end local 5 // int pageIndex
end local 4 // java.awt.print.PageFormat pageFormat
end local 3 // java.awt.print.Printable painter
end local 2 // java.awt.print.PrinterJob printerJob
end local 1 // java.awt.Graphics2D graphics
end local 0 // sun.awt.windows.WPathGraphics this
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 // sun.awt.windows.WPathGraphics this
0: .line 128
new sun.awt.windows.WPathGraphics
dup
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getDelegate:()Ljava/awt/Graphics2D;
invokevirtual java.awt.Graphics2D.create:()Ljava/awt/Graphics;
checkcast java.awt.Graphics2D
1: .line 129
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
2: .line 130
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPrintable:()Ljava/awt/print/Printable;
3: .line 131
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPageFormat:()Ljava/awt/print/PageFormat;
4: .line 132
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPageIndex:()I
5: .line 133
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.canDoRedraws:()Z
6: .line 128
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 // sun.awt.windows.WPathGraphics this
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 // sun.awt.windows.WPathGraphics this
start local 1 // java.awt.Shape s
0: .line 153
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getStroke:()Ljava/awt/Stroke;
astore 2 /* stroke */
start local 2 // java.awt.Stroke stroke
1: .line 160
aload 2 /* stroke */
instanceof java.awt.BasicStroke
ifeq 35
2: .line 162
aconst_null
astore 4 /* minLineStroke */
start local 4 // java.awt.BasicStroke minLineStroke
3: .line 170
aload 2 /* stroke */
checkcast java.awt.BasicStroke
astore 3 /* lineStroke */
start local 3 // java.awt.BasicStroke lineStroke
4: .line 171
aload 3 /* lineStroke */
invokevirtual java.awt.BasicStroke.getLineWidth:()F
fstore 6 /* lineWidth */
start local 6 // float lineWidth
5: .line 172
new java.awt.geom.Point2D$Float
dup
fload 6 /* lineWidth */
fload 6 /* lineWidth */
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 8 /* penSize */
start local 8 // java.awt.geom.Point2D$Float penSize
6: .line 180
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getTransform:()Ljava/awt/geom/AffineTransform;
astore 7 /* deviceTransform */
start local 7 // java.awt.geom.AffineTransform deviceTransform
7: .line 181
aload 7 /* deviceTransform */
aload 8 /* penSize */
aload 8 /* penSize */
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
8: .line 182
aload 8 /* penSize */
getfield java.awt.geom.Point2D$Float.x:F
invokestatic java.lang.Math.abs:(F)F
9: .line 183
aload 8 /* penSize */
getfield java.awt.geom.Point2D$Float.y:F
invokestatic java.lang.Math.abs:(F)F
10: .line 182
invokestatic java.lang.Math.min:(FF)F
fstore 5 /* deviceLineWidth */
start local 5 // float deviceLineWidth
11: .line 189
fload 5 /* deviceLineWidth */
ldc 1.2
fcmpg
ifge 31
12: .line 191
new java.awt.geom.Point2D$Float
dup
13: .line 192
ldc 1.2
14: .line 193
ldc 1.2
15: .line 191
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 9 /* minPenSize */
start local 9 // java.awt.geom.Point2D$Float minPenSize
16: .line 202
aload 7 /* deviceTransform */
invokevirtual java.awt.geom.AffineTransform.createInverse:()Ljava/awt/geom/AffineTransform;
astore 10 /* inverse */
start local 10 // java.awt.geom.AffineTransform inverse
17: .line 203
aload 10 /* inverse */
aload 9 /* minPenSize */
aload 9 /* minPenSize */
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
18: .line 205
aload 9 /* minPenSize */
getfield java.awt.geom.Point2D$Float.x:F
invokestatic java.lang.Math.abs:(F)F
19: .line 206
aload 9 /* minPenSize */
getfield java.awt.geom.Point2D$Float.y:F
invokestatic java.lang.Math.abs:(F)F
20: .line 205
invokestatic java.lang.Math.max:(FF)F
fstore 11 /* minLineWidth */
start local 11 // float minLineWidth
21: .line 212
new java.awt.BasicStroke
dup
fload 11 /* minLineWidth */
22: .line 213
aload 3 /* lineStroke */
invokevirtual java.awt.BasicStroke.getEndCap:()I
23: .line 214
aload 3 /* lineStroke */
invokevirtual java.awt.BasicStroke.getLineJoin:()I
24: .line 215
aload 3 /* lineStroke */
invokevirtual java.awt.BasicStroke.getMiterLimit:()F
25: .line 216
aload 3 /* lineStroke */
invokevirtual java.awt.BasicStroke.getDashArray:()[F
26: .line 217
aload 3 /* lineStroke */
invokevirtual java.awt.BasicStroke.getDashPhase:()F
27: .line 212
invokespecial java.awt.BasicStroke.<init>:(FIIF[FF)V
astore 4 /* minLineStroke */
28: .line 218
aload 0 /* this */
aload 4 /* minLineStroke */
invokevirtual sun.awt.windows.WPathGraphics.setStroke:(Ljava/awt/Stroke;)V
end local 11 // float minLineWidth
end local 10 // java.awt.geom.AffineTransform inverse
29: .line 220
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 // java.awt.geom.Point2D$Float minPenSize
31: .line 228
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* s */
invokespecial sun.print.PathGraphics.draw:(Ljava/awt/Shape;)V
32: .line 234
aload 4 /* minLineStroke */
ifnull 36
33: .line 235
aload 0 /* this */
aload 3 /* lineStroke */
invokevirtual sun.awt.windows.WPathGraphics.setStroke:(Ljava/awt/Stroke;)V
end local 8 // java.awt.geom.Point2D$Float penSize
end local 7 // java.awt.geom.AffineTransform deviceTransform
end local 6 // float lineWidth
end local 5 // float deviceLineWidth
end local 4 // java.awt.BasicStroke minLineStroke
end local 3 // java.awt.BasicStroke lineStroke
34: .line 241
goto 36
35: .line 242
StackMap locals: sun.awt.windows.WPathGraphics java.awt.Shape java.awt.Stroke
StackMap stack:
aload 0 /* this */
aload 1 /* s */
invokespecial sun.print.PathGraphics.draw:(Ljava/awt/Shape;)V
36: .line 244
StackMap locals:
StackMap stack:
return
end local 2 // java.awt.Stroke stroke
end local 1 // java.awt.Shape s
end local 0 // sun.awt.windows.WPathGraphics this
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 // sun.awt.windows.WPathGraphics this
start local 1 // java.lang.String str
start local 2 // int x
start local 3 // int y
0: .line 260
aload 0 /* this */
aload 1 /* str */
iload 2 /* x */
i2f
iload 3 /* y */
i2f
invokevirtual sun.awt.windows.WPathGraphics.drawString:(Ljava/lang/String;FF)V
1: .line 261
return
end local 3 // int y
end local 2 // int x
end local 1 // java.lang.String str
end local 0 // sun.awt.windows.WPathGraphics this
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 // sun.awt.windows.WPathGraphics this
start local 1 // java.lang.String str
start local 2 // float x
start local 3 // float y
0: .line 265
aload 0 /* this */
aload 1 /* str */
fload 2 /* x */
fload 3 /* y */
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getFont:()Ljava/awt/Font;
aload 0 /* this */
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: .line 266
return
end local 3 // float y
end local 2 // float x
end local 1 // java.lang.String str
end local 0 // sun.awt.windows.WPathGraphics this
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 // sun.awt.windows.WPathGraphics this
start local 1 // java.awt.Font font
start local 2 // java.lang.String str
0: .line 283
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getTransform:()Ljava/awt/geom/AffineTransform;
astore 3 /* deviceTransform */
start local 3 // java.awt.geom.AffineTransform deviceTransform
1: .line 284
new java.awt.geom.AffineTransform
dup
aload 3 /* deviceTransform */
invokespecial java.awt.geom.AffineTransform.<init>:(Ljava/awt/geom/AffineTransform;)V
astore 4 /* fontTransform */
start local 4 // java.awt.geom.AffineTransform fontTransform
2: .line 285
aload 4 /* fontTransform */
aload 0 /* this */
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: .line 286
aload 4 /* fontTransform */
invokevirtual java.awt.geom.AffineTransform.getType:()I
istore 5 /* transformType */
start local 5 // int transformType
4: .line 289
iload 5 /* transformType */
5: .line 290
bipush 32
6: .line 289
if_icmpeq 9
7: .line 291
iload 5 /* transformType */
bipush 64
iand
ifne 9
8: .line 289
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 /* directToGDI */
start local 6 // boolean directToGDI
11: .line 294
iload 6 /* directToGDI */
ifne 13
12: .line 295
iconst_0
ireturn
13: .line 305
StackMap locals: int
StackMap stack:
aload 1 /* font */
invokestatic sun.font.FontUtilities.getFont2D:(Ljava/awt/Font;)Lsun/font/Font2D;
astore 7 /* font2D */
start local 7 // sun.font.Font2D font2D
14: .line 306
aload 7 /* font2D */
instanceof sun.font.CompositeFont
ifne 16
15: .line 307
aload 7 /* font2D */
instanceof sun.font.TrueTypeFont
ifeq 17
16: .line 308
StackMap locals: sun.font.Font2D
StackMap stack:
iconst_1
ireturn
17: .line 310
StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 7 // sun.font.Font2D font2D
end local 6 // boolean directToGDI
end local 5 // int transformType
end local 4 // java.awt.geom.AffineTransform fontTransform
end local 3 // java.awt.geom.AffineTransform deviceTransform
end local 2 // java.lang.String str
end local 1 // java.awt.Font font
end local 0 // sun.awt.windows.WPathGraphics this
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: .line 315
ldc "os.version"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 0 /* osVersion */
start local 0 // java.lang.String osVersion
1: .line 316
aload 0 /* osVersion */
ifnull 5
2: .line 317
aload 0 /* osVersion */
invokestatic java.lang.Float.valueOf:(Ljava/lang/String;)Ljava/lang/Float;
astore 1 /* version */
start local 1 // java.lang.Float version
3: .line 318
aload 1 /* version */
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 // java.lang.Float version
5: .line 320
StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 // java.lang.String osVersion
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 // sun.awt.windows.WPathGraphics this
start local 1 // java.lang.String str
start local 2 // java.awt.Font font
0: .line 330
aload 1 /* str */
invokevirtual java.lang.String.toCharArray:()[C
astore 3 /* chars */
start local 3 // char[] chars
1: .line 331
aload 3 /* chars */
iconst_0
aload 3 /* chars */
arraylength
invokestatic sun.font.FontUtilities.isComplexText:([CII)Z
istore 4 /* isComplex */
start local 4 // boolean isComplex
2: .line 332
iload 4 /* isComplex */
ifne 4
3: .line 333
iconst_0
ireturn
4: .line 334
StackMap locals: char[] int
StackMap stack:
getstatic sun.awt.windows.WPathGraphics.useGDITextLayout:Z
ifne 6
5: .line 335
iconst_1
ireturn
6: .line 337
StackMap locals:
StackMap stack:
getstatic sun.awt.windows.WPathGraphics.preferGDITextLayout:Z
ifne 8
7: .line 338
invokestatic sun.awt.windows.WPathGraphics.isXP:()Z
ifeq 9
aload 2 /* font */
invokestatic sun.font.FontUtilities.textLayoutIsCompatible:(Ljava/awt/Font;)Z
ifeq 9
8: .line 339
StackMap locals:
StackMap stack:
iconst_0
ireturn
9: .line 341
StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 4 // boolean isComplex
end local 3 // char[] chars
end local 2 // java.awt.Font font
end local 1 // java.lang.String str
end local 0 // sun.awt.windows.WPathGraphics this
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 // sun.awt.windows.WPathGraphics this
start local 1 // java.awt.geom.Point2D$Double pt
0: .line 351
aload 1 /* pt */
getfield java.awt.geom.Point2D$Double.y:D
aload 1 /* pt */
getfield java.awt.geom.Point2D$Double.x:D
invokestatic java.lang.Math.atan2:(DD)D
invokestatic java.lang.Math.toDegrees:(D)D
dstore 2 /* angle */
start local 2 // double angle
1: .line 352
dload 2 /* angle */
dconst_0
dcmpg
ifge 3
2: .line 353
dload 2 /* angle */
ldc 360.0
dadd
dstore 2 /* angle */
3: .line 361
StackMap locals: double
StackMap stack:
dload 2 /* angle */
dconst_0
dcmpl
ifeq 5
4: .line 362
ldc 360.0
dload 2 /* angle */
dsub
dstore 2 /* angle */
5: .line 364
StackMap locals:
StackMap stack:
dload 2 /* angle */
ldc 10.0
dmul
invokestatic java.lang.Math.round:(D)J
l2i
ireturn
end local 2 // double angle
end local 1 // java.awt.geom.Point2D$Double pt
end local 0 // sun.awt.windows.WPathGraphics this
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 // sun.awt.windows.WPathGraphics this
start local 1 // double scaleFactorX
start local 3 // double scaleFactorY
0: .line 369
dload 1 /* scaleFactorX */
dload 3 /* scaleFactorY */
ddiv
d2f
fstore 5 /* awScale */
start local 5 // float awScale
1: .line 371
fload 5 /* awScale */
ldc 0.999
fcmpl
ifle 3
fload 5 /* awScale */
ldc 1.001
fcmpg
ifge 3
2: .line 372
fconst_1
fstore 5 /* awScale */
3: .line 374
StackMap locals: float
StackMap stack:
fload 5 /* awScale */
freturn
end local 5 // float awScale
end local 3 // double scaleFactorY
end local 1 // double scaleFactorX
end local 0 // sun.awt.windows.WPathGraphics this
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=16, locals=41, args_size=7
start local 0 // sun.awt.windows.WPathGraphics this
start local 1 // java.lang.String str
start local 2 // float x
start local 3 // float y
start local 4 // java.awt.Font font
start local 5 // java.awt.font.FontRenderContext frc
start local 6 // float targetW
0: .line 402
aload 1 /* str */
invokevirtual java.lang.String.length:()I
ifne 2
1: .line 403
return
2: .line 406
StackMap locals:
StackMap stack:
getstatic sun.awt.windows.WPrinterJob.shapeTextProp:Z
ifeq 5
3: .line 407
aload 0 /* this */
aload 1 /* str */
fload 2 /* x */
fload 3 /* y */
aload 4 /* font */
aload 5 /* frc */
fload 6 /* targetW */
invokespecial sun.print.PathGraphics.drawString:(Ljava/lang/String;FFLjava/awt/Font;Ljava/awt/font/FontRenderContext;F)V
4: .line 408
return
5: .line 422
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* str */
aload 4 /* font */
invokevirtual sun.awt.windows.WPathGraphics.strNeedsTextLayout:(Ljava/lang/String;Ljava/awt/Font;)Z
istore 7 /* layoutNeeded */
start local 7 // boolean layoutNeeded
6: .line 423
aload 4 /* font */
invokevirtual java.awt.Font.hasLayoutAttributes:()Z
ifne 7
iload 7 /* layoutNeeded */
ifeq 11
7: .line 424
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.awt.windows.WPathGraphics.printingGlyphVector:Z
ifne 11
8: .line 425
new java.awt.font.TextLayout
dup
aload 1 /* str */
aload 4 /* font */
aload 5 /* frc */
invokespecial java.awt.font.TextLayout.<init>:(Ljava/lang/String;Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)V
astore 8 /* layout */
start local 8 // java.awt.font.TextLayout layout
9: .line 426
aload 8 /* layout */
aload 0 /* this */
fload 2 /* x */
fload 3 /* y */
invokevirtual java.awt.font.TextLayout.draw:(Ljava/awt/Graphics2D;FF)V
10: .line 427
return
end local 8 // java.awt.font.TextLayout layout
11: .line 428
StackMap locals:
StackMap stack:
iload 7 /* layoutNeeded */
ifeq 14
12: .line 429
aload 0 /* this */
aload 1 /* str */
fload 2 /* x */
fload 3 /* y */
aload 4 /* font */
aload 5 /* frc */
fload 6 /* targetW */
invokespecial sun.print.PathGraphics.drawString:(Ljava/lang/String;FFLjava/awt/Font;Ljava/awt/font/FontRenderContext;F)V
13: .line 430
return
14: .line 433
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getTransform:()Ljava/awt/geom/AffineTransform;
astore 8 /* deviceTransform */
start local 8 // java.awt.geom.AffineTransform deviceTransform
15: .line 434
new java.awt.geom.AffineTransform
dup
aload 8 /* deviceTransform */
invokespecial java.awt.geom.AffineTransform.<init>:(Ljava/awt/geom/AffineTransform;)V
astore 9 /* fontTransform */
start local 9 // java.awt.geom.AffineTransform fontTransform
16: .line 435
aload 9 /* fontTransform */
aload 4 /* font */
invokevirtual java.awt.Font.getTransform:()Ljava/awt/geom/AffineTransform;
invokevirtual java.awt.geom.AffineTransform.concatenate:(Ljava/awt/geom/AffineTransform;)V
17: .line 436
aload 9 /* fontTransform */
invokevirtual java.awt.geom.AffineTransform.getType:()I
istore 10 /* transformType */
start local 10 // int transformType
18: .line 443
iload 10 /* transformType */
19: .line 444
bipush 32
20: .line 443
if_icmpeq 23
21: .line 445
iload 10 /* transformType */
bipush 64
iand
ifne 23
22: .line 443
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 /* directToGDI */
start local 11 // boolean directToGDI
25: .line 448
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 12 /* wPrinterJob */
start local 12 // sun.awt.windows.WPrinterJob wPrinterJob
26: .line 450
aload 12 /* wPrinterJob */
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPaint:()Ljava/awt/Paint;
checkcast java.awt.Color
invokevirtual sun.awt.windows.WPrinterJob.setTextColor:(Ljava/awt/Color;)V
27: .line 451
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: .line 452
iconst_0
istore 11 /* directToGDI */
30: .line 455
StackMap locals:
StackMap stack:
iload 11 /* directToGDI */
ifne 33
31: .line 456
aload 0 /* this */
aload 1 /* str */
fload 2 /* x */
fload 3 /* y */
aload 4 /* font */
aload 5 /* frc */
fload 6 /* targetW */
invokespecial sun.print.PathGraphics.drawString:(Ljava/lang/String;FFLjava/awt/Font;Ljava/awt/font/FontRenderContext;F)V
32: .line 457
return
33: .line 468
StackMap locals:
StackMap stack:
new java.awt.geom.Point2D$Float
dup
fload 2 /* x */
fload 3 /* y */
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 13 /* userpos */
start local 13 // java.awt.geom.Point2D$Float userpos
34: .line 469
new java.awt.geom.Point2D$Float
dup
invokespecial java.awt.geom.Point2D$Float.<init>:()V
astore 14 /* devpos */
start local 14 // java.awt.geom.Point2D$Float devpos
35: .line 474
aload 4 /* font */
invokevirtual java.awt.Font.isTransformed:()Z
ifeq 42
36: .line 475
aload 4 /* font */
invokevirtual java.awt.Font.getTransform:()Ljava/awt/geom/AffineTransform;
astore 15 /* fontTx */
start local 15 // java.awt.geom.AffineTransform fontTx
37: .line 476
aload 15 /* fontTx */
invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
d2f
fstore 16 /* translateX */
start local 16 // float translateX
38: .line 477
aload 15 /* fontTx */
invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
d2f
fstore 17 /* translateY */
start local 17 // float translateY
39: .line 478
fload 16 /* translateX */
invokestatic java.lang.Math.abs:(F)F
f2d
ldc 1.0E-5
dcmpg
ifge 40
fconst_0
fstore 16 /* translateX */
40: .line 479
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 /* translateY */
invokestatic java.lang.Math.abs:(F)F
f2d
ldc 1.0E-5
dcmpg
ifge 41
fconst_0
fstore 17 /* translateY */
41: .line 480
StackMap locals:
StackMap stack:
aload 13 /* userpos */
dup
getfield java.awt.geom.Point2D$Float.x:F
fload 16 /* translateX */
fadd
putfield java.awt.geom.Point2D$Float.x:F
aload 13 /* userpos */
dup
getfield java.awt.geom.Point2D$Float.y:F
fload 17 /* translateY */
fadd
putfield java.awt.geom.Point2D$Float.y:F
end local 17 // float translateY
end local 16 // float translateX
end local 15 // java.awt.geom.AffineTransform fontTx
42: .line 482
StackMap locals:
StackMap stack:
aload 8 /* deviceTransform */
aload 13 /* userpos */
aload 14 /* devpos */
invokevirtual java.awt.geom.AffineTransform.transform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
43: .line 484
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getClip:()Ljava/awt/Shape;
ifnull 45
44: .line 485
aload 0 /* this */
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getClip:()Ljava/awt/Shape;
aload 8 /* deviceTransform */
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: .line 495
StackMap locals:
StackMap stack:
aload 4 /* font */
invokevirtual java.awt.Font.getSize2D:()F
fstore 15 /* fontSize */
start local 15 // float fontSize
46: .line 497
new java.awt.geom.Point2D$Double
dup
dconst_0
dconst_1
invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
astore 16 /* pty */
start local 16 // java.awt.geom.Point2D$Double pty
47: .line 498
aload 9 /* fontTransform */
aload 16 /* pty */
aload 16 /* pty */
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
48: .line 499
aload 16 /* pty */
getfield java.awt.geom.Point2D$Double.x:D
aload 16 /* pty */
getfield java.awt.geom.Point2D$Double.x:D
dmul
aload 16 /* pty */
getfield java.awt.geom.Point2D$Double.y:D
aload 16 /* pty */
getfield java.awt.geom.Point2D$Double.y:D
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dstore 17 /* scaleFactorY */
start local 17 // double scaleFactorY
49: .line 500
fload 15 /* fontSize */
f2d
dload 17 /* scaleFactorY */
dmul
d2f
fstore 19 /* scaledFontSizeY */
start local 19 // float scaledFontSizeY
50: .line 502
new java.awt.geom.Point2D$Double
dup
dconst_1
dconst_0
invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
astore 20 /* ptx */
start local 20 // java.awt.geom.Point2D$Double ptx
51: .line 503
aload 9 /* fontTransform */
aload 20 /* ptx */
aload 20 /* ptx */
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
52: .line 504
aload 20 /* ptx */
getfield java.awt.geom.Point2D$Double.x:D
aload 20 /* ptx */
getfield java.awt.geom.Point2D$Double.x:D
dmul
aload 20 /* ptx */
getfield java.awt.geom.Point2D$Double.y:D
aload 20 /* ptx */
getfield java.awt.geom.Point2D$Double.y:D
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dstore 21 /* scaleFactorX */
start local 21 // double scaleFactorX
53: .line 507
aload 0 /* this */
dload 21 /* scaleFactorX */
dload 17 /* scaleFactorY */
invokevirtual sun.awt.windows.WPathGraphics.getAwScale:(DD)F
fstore 23 /* awScale */
start local 23 // float awScale
54: .line 508
aload 0 /* this */
aload 20 /* ptx */
invokevirtual sun.awt.windows.WPathGraphics.getAngle:(Ljava/awt/geom/Point2D$Double;)I
istore 24 /* iangle */
start local 24 // int iangle
55: .line 510
aload 4 /* font */
invokestatic sun.font.FontUtilities.getFont2D:(Ljava/awt/Font;)Lsun/font/Font2D;
astore 25 /* font2D */
start local 25 // sun.font.Font2D font2D
56: .line 511
aload 25 /* font2D */
instanceof sun.font.TrueTypeFont
ifeq 63
57: .line 512
aload 0 /* this */
aload 1 /* str */
aload 4 /* font */
aload 25 /* font2D */
checkcast sun.font.TrueTypeFont
aload 5 /* frc */
58: .line 513
fload 19 /* scaledFontSizeY */
iload 24 /* iangle */
fload 23 /* awScale */
59: .line 514
aload 8 /* deviceTransform */
dload 21 /* scaleFactorX */
60: .line 515
fload 2 /* x */
fload 3 /* y */
aload 14 /* devpos */
getfield java.awt.geom.Point2D$Float.x:F
aload 14 /* devpos */
getfield java.awt.geom.Point2D$Float.y:F
fload 6 /* targetW */
61: .line 512
invokevirtual sun.awt.windows.WPathGraphics.textOut:(Ljava/lang/String;Ljava/awt/Font;Lsun/font/PhysicalFont;Ljava/awt/font/FontRenderContext;FIFLjava/awt/geom/AffineTransform;DFFFFF)V
62: .line 516
goto 99
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 java.awt.geom.Point2D$Double double float java.awt.geom.Point2D$Double double float int sun.font.Font2D
StackMap stack:
63: aload 25 /* font2D */
instanceof sun.font.CompositeFont
ifeq 98
64: .line 524
aload 25 /* font2D */
checkcast sun.font.CompositeFont
astore 26 /* compFont */
start local 26 // sun.font.CompositeFont compFont
65: .line 525
fload 2 /* x */
fstore 27 /* userx */
start local 27 // float userx
66: fload 3 /* y */
fstore 28 /* usery */
start local 28 // float usery
67: .line 526
aload 14 /* devpos */
getfield java.awt.geom.Point2D$Float.x:F
fstore 29 /* devx */
start local 29 // float devx
68: aload 14 /* devpos */
getfield java.awt.geom.Point2D$Float.y:F
fstore 30 /* devy */
start local 30 // float devy
69: .line 527
aload 1 /* str */
invokevirtual java.lang.String.toCharArray:()[C
astore 31 /* chars */
start local 31 // char[] chars
70: .line 528
aload 31 /* chars */
arraylength
istore 32 /* len */
start local 32 // int len
71: .line 529
iload 32 /* len */
newarray 10
astore 33 /* glyphs */
start local 33 // int[] glyphs
72: .line 530
aload 26 /* compFont */
invokevirtual sun.font.CompositeFont.getMapper:()Lsun/font/CharToGlyphMapper;
iload 32 /* len */
aload 31 /* chars */
aload 33 /* glyphs */
invokevirtual sun.font.CharToGlyphMapper.charsToGlyphs:(I[C[I)V
73: .line 532
iconst_0
istore 34 /* startChar */
start local 34 // int startChar
74: iconst_0
istore 35 /* endChar */
start local 35 // int endChar
75: iconst_0
istore 36 /* slot */
start local 36 // int slot
76: .line 533
goto 96
77: .line 535
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 java.awt.geom.Point2D$Double double float java.awt.geom.Point2D$Double double float int sun.font.Font2D sun.font.CompositeFont float float float float char[] int int[] int int int
StackMap stack:
iload 35 /* endChar */
istore 34 /* startChar */
78: .line 536
aload 33 /* glyphs */
iload 34 /* startChar */
iaload
bipush 24
iushr
istore 36 /* slot */
79: .line 538
goto 81
80: .line 539
StackMap locals:
StackMap stack:
iinc 35 /* endChar */ 1
81: .line 538
StackMap locals:
StackMap stack:
iload 35 /* endChar */
iload 32 /* len */
if_icmpge 82
aload 33 /* glyphs */
iload 35 /* endChar */
iaload
bipush 24
iushr
iload 36 /* slot */
if_icmpeq 80
82: .line 541
StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 31 /* chars */
iload 34 /* startChar */
iload 35 /* endChar */
iload 34 /* startChar */
isub
invokespecial java.lang.String.<init>:([CII)V
astore 37 /* substr */
start local 37 // java.lang.String substr
83: .line 542
aload 26 /* compFont */
iload 36 /* slot */
invokevirtual sun.font.CompositeFont.getSlotFont:(I)Lsun/font/PhysicalFont;
astore 38 /* slotFont */
start local 38 // sun.font.PhysicalFont slotFont
84: .line 543
aload 0 /* this */
aload 37 /* substr */
aload 4 /* font */
aload 38 /* slotFont */
aload 5 /* frc */
85: .line 544
fload 19 /* scaledFontSizeY */
iload 24 /* iangle */
fload 23 /* awScale */
86: .line 545
aload 8 /* deviceTransform */
dload 21 /* scaleFactorX */
87: .line 546
fload 27 /* userx */
fload 28 /* usery */
fload 29 /* devx */
fload 30 /* devy */
fconst_0
88: .line 543
invokevirtual sun.awt.windows.WPathGraphics.textOut:(Ljava/lang/String;Ljava/awt/Font;Lsun/font/PhysicalFont;Ljava/awt/font/FontRenderContext;FIFLjava/awt/geom/AffineTransform;DFFFFF)V
89: .line 547
aload 4 /* font */
aload 37 /* substr */
aload 5 /* frc */
invokevirtual java.awt.Font.getStringBounds:(Ljava/lang/String;Ljava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;
astore 39 /* bds */
start local 39 // java.awt.geom.Rectangle2D bds
90: .line 548
aload 39 /* bds */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
d2f
fstore 40 /* xAdvance */
start local 40 // float xAdvance
91: .line 549
fload 27 /* userx */
fload 40 /* xAdvance */
fadd
fstore 27 /* userx */
92: .line 550
aload 13 /* userpos */
dup
getfield java.awt.geom.Point2D$Float.x:F
fload 40 /* xAdvance */
fadd
putfield java.awt.geom.Point2D$Float.x:F
93: .line 551
aload 8 /* deviceTransform */
aload 13 /* userpos */
aload 14 /* devpos */
invokevirtual java.awt.geom.AffineTransform.transform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
94: .line 552
aload 14 /* devpos */
getfield java.awt.geom.Point2D$Float.x:F
fstore 29 /* devx */
95: .line 553
aload 14 /* devpos */
getfield java.awt.geom.Point2D$Float.y:F
fstore 30 /* devy */
end local 40 // float xAdvance
end local 39 // java.awt.geom.Rectangle2D bds
end local 38 // sun.font.PhysicalFont slotFont
end local 37 // java.lang.String substr
96: .line 533
StackMap locals:
StackMap stack:
iload 35 /* endChar */
iload 32 /* len */
if_icmplt 77
end local 36 // int slot
end local 35 // int endChar
end local 34 // int startChar
end local 33 // int[] glyphs
end local 32 // int len
end local 31 // char[] chars
end local 30 // float devy
end local 29 // float devx
end local 28 // float usery
end local 27 // float userx
end local 26 // sun.font.CompositeFont compFont
97: .line 555
goto 99
98: .line 556
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 java.awt.geom.Point2D$Double double float java.awt.geom.Point2D$Double double float int sun.font.Font2D
StackMap stack:
aload 0 /* this */
aload 1 /* str */
fload 2 /* x */
fload 3 /* y */
aload 4 /* font */
aload 5 /* frc */
fload 6 /* targetW */
invokespecial sun.print.PathGraphics.drawString:(Ljava/lang/String;FFLjava/awt/Font;Ljava/awt/font/FontRenderContext;F)V
99: .line 558
StackMap locals:
StackMap stack:
return
end local 25 // sun.font.Font2D font2D
end local 24 // int iangle
end local 23 // float awScale
end local 21 // double scaleFactorX
end local 20 // java.awt.geom.Point2D$Double ptx
end local 19 // float scaledFontSizeY
end local 17 // double scaleFactorY
end local 16 // java.awt.geom.Point2D$Double pty
end local 15 // float fontSize
end local 14 // java.awt.geom.Point2D$Float devpos
end local 13 // java.awt.geom.Point2D$Float userpos
end local 12 // sun.awt.windows.WPrinterJob wPrinterJob
end local 11 // boolean directToGDI
end local 10 // int transformType
end local 9 // java.awt.geom.AffineTransform fontTransform
end local 8 // java.awt.geom.AffineTransform deviceTransform
end local 7 // boolean layoutNeeded
end local 6 // float targetW
end local 5 // java.awt.font.FontRenderContext frc
end local 4 // java.awt.Font font
end local 3 // float y
end local 2 // float x
end local 1 // java.lang.String str
end local 0 // sun.awt.windows.WPathGraphics this
LocalVariableTable:
Start End Slot Name Signature
0 100 0 this Lsun/awt/windows/WPathGraphics;
0 100 1 str Ljava/lang/String;
0 100 2 x F
0 100 3 y F
0 100 4 font Ljava/awt/Font;
0 100 5 frc Ljava/awt/font/FontRenderContext;
0 100 6 targetW F
6 100 7 layoutNeeded Z
9 11 8 layout Ljava/awt/font/TextLayout;
15 100 8 deviceTransform Ljava/awt/geom/AffineTransform;
16 100 9 fontTransform Ljava/awt/geom/AffineTransform;
18 100 10 transformType I
25 100 11 directToGDI Z
26 100 12 wPrinterJob Lsun/awt/windows/WPrinterJob;
34 100 13 userpos Ljava/awt/geom/Point2D$Float;
35 100 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 100 15 fontSize F
47 100 16 pty Ljava/awt/geom/Point2D$Double;
49 100 17 scaleFactorY D
50 100 19 scaledFontSizeY F
51 100 20 ptx Ljava/awt/geom/Point2D$Double;
53 100 21 scaleFactorX D
54 100 23 awScale F
55 100 24 iangle I
56 100 25 font2D Lsun/font/Font2D;
65 97 26 compFont Lsun/font/CompositeFont;
66 97 27 userx F
67 97 28 usery F
68 97 29 devx F
69 97 30 devy F
70 97 31 chars [C
71 97 32 len I
72 97 33 glyphs [I
74 97 34 startChar I
75 97 35 endChar I
76 97 36 slot I
83 96 37 substr Ljava/lang/String;
84 96 38 slotFont Lsun/font/PhysicalFont;
90 96 39 bds Ljava/awt/geom/Rectangle2D;
91 96 40 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=41, args_size=4
start local 0 // sun.awt.windows.WPathGraphics this
start local 1 // java.awt.font.GlyphVector gv
start local 2 // float x
start local 3 // float y
0: .line 569
aload 1 /* gv */
invokevirtual java.awt.font.GlyphVector.getLayoutFlags:()I
iconst_1
iand
ifeq 2
1: .line 570
iconst_0
ireturn
2: .line 573
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getTransform:()Ljava/awt/geom/AffineTransform;
astore 4 /* deviceTransform */
start local 4 // java.awt.geom.AffineTransform deviceTransform
3: .line 574
new java.awt.geom.AffineTransform
dup
aload 4 /* deviceTransform */
invokespecial java.awt.geom.AffineTransform.<init>:(Ljava/awt/geom/AffineTransform;)V
astore 5 /* fontTransform */
start local 5 // java.awt.geom.AffineTransform fontTransform
4: .line 575
aload 1 /* gv */
invokevirtual java.awt.font.GlyphVector.getFont:()Ljava/awt/Font;
astore 6 /* font */
start local 6 // java.awt.Font font
5: .line 576
aload 5 /* fontTransform */
aload 6 /* font */
invokevirtual java.awt.Font.getTransform:()Ljava/awt/geom/AffineTransform;
invokevirtual java.awt.geom.AffineTransform.concatenate:(Ljava/awt/geom/AffineTransform;)V
6: .line 577
aload 5 /* fontTransform */
invokevirtual java.awt.geom.AffineTransform.getType:()I
istore 7 /* transformType */
start local 7 // int transformType
7: .line 585
iload 7 /* transformType */
bipush 32
if_icmpeq 10
8: .line 586
iload 7 /* transformType */
bipush 64
iand
ifne 10
9: .line 584
iconst_1
goto 11
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:
10: iconst_0
StackMap locals:
StackMap stack: int
11: istore 8 /* directToGDI */
start local 8 // boolean directToGDI
12: .line 588
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 9 /* wPrinterJob */
start local 9 // sun.awt.windows.WPrinterJob wPrinterJob
13: .line 590
aload 9 /* wPrinterJob */
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPaint:()Ljava/awt/Paint;
checkcast java.awt.Color
invokevirtual sun.awt.windows.WPrinterJob.setTextColor:(Ljava/awt/Color;)V
14: .line 591
goto 17
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
15: pop
16: .line 592
iconst_0
istore 8 /* directToGDI */
17: .line 595
StackMap locals:
StackMap stack:
getstatic sun.awt.windows.WPrinterJob.shapeTextProp:Z
ifne 18
iload 8 /* directToGDI */
ifne 19
18: .line 596
StackMap locals:
StackMap stack:
iconst_0
ireturn
19: .line 601
StackMap locals:
StackMap stack:
new java.awt.geom.Point2D$Float
dup
fload 2 /* x */
fload 3 /* y */
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 10 /* userpos */
start local 10 // java.awt.geom.Point2D$Float userpos
20: .line 602
new java.awt.geom.Point2D$Float
dup
invokespecial java.awt.geom.Point2D$Float.<init>:()V
astore 11 /* devpos */
start local 11 // java.awt.geom.Point2D$Float devpos
21: .line 607
aload 6 /* font */
invokevirtual java.awt.Font.isTransformed:()Z
ifeq 28
22: .line 608
aload 6 /* font */
invokevirtual java.awt.Font.getTransform:()Ljava/awt/geom/AffineTransform;
astore 12 /* fontTx */
start local 12 // java.awt.geom.AffineTransform fontTx
23: .line 609
aload 12 /* fontTx */
invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
d2f
fstore 13 /* translateX */
start local 13 // float translateX
24: .line 610
aload 12 /* fontTx */
invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
d2f
fstore 14 /* translateY */
start local 14 // float translateY
25: .line 611
fload 13 /* translateX */
invokestatic java.lang.Math.abs:(F)F
f2d
ldc 1.0E-5
dcmpg
ifge 26
fconst_0
fstore 13 /* translateX */
26: .line 612
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$Float java.awt.geom.AffineTransform float float
StackMap stack:
fload 14 /* translateY */
invokestatic java.lang.Math.abs:(F)F
f2d
ldc 1.0E-5
dcmpg
ifge 27
fconst_0
fstore 14 /* translateY */
27: .line 613
StackMap locals:
StackMap stack:
aload 10 /* userpos */
dup
getfield java.awt.geom.Point2D$Float.x:F
fload 13 /* translateX */
fadd
putfield java.awt.geom.Point2D$Float.x:F
aload 10 /* userpos */
dup
getfield java.awt.geom.Point2D$Float.y:F
fload 14 /* translateY */
fadd
putfield java.awt.geom.Point2D$Float.y:F
end local 14 // float translateY
end local 13 // float translateX
end local 12 // java.awt.geom.AffineTransform fontTx
28: .line 615
StackMap locals:
StackMap stack:
aload 4 /* deviceTransform */
aload 10 /* userpos */
aload 11 /* devpos */
invokevirtual java.awt.geom.AffineTransform.transform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
29: .line 617
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getClip:()Ljava/awt/Shape;
ifnull 31
30: .line 618
aload 0 /* this */
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getClip:()Ljava/awt/Shape;
aload 4 /* deviceTransform */
invokeinterface java.awt.Shape.getPathIterator:(Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/PathIterator;
invokevirtual sun.awt.windows.WPathGraphics.deviceClip:(Ljava/awt/geom/PathIterator;)V
31: .line 628
StackMap locals:
StackMap stack:
aload 6 /* font */
invokevirtual java.awt.Font.getSize2D:()F
fstore 12 /* fontSize */
start local 12 // float fontSize
32: .line 630
new java.awt.geom.Point2D$Double
dup
dconst_0
dconst_1
invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
astore 13 /* pty */
start local 13 // java.awt.geom.Point2D$Double pty
33: .line 631
aload 5 /* fontTransform */
aload 13 /* pty */
aload 13 /* pty */
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
34: .line 632
aload 13 /* pty */
getfield java.awt.geom.Point2D$Double.x:D
aload 13 /* pty */
getfield java.awt.geom.Point2D$Double.x:D
dmul
aload 13 /* pty */
getfield java.awt.geom.Point2D$Double.y:D
aload 13 /* pty */
getfield java.awt.geom.Point2D$Double.y:D
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dstore 14 /* scaleFactorY */
start local 14 // double scaleFactorY
35: .line 633
fload 12 /* fontSize */
f2d
dload 14 /* scaleFactorY */
dmul
d2f
fstore 16 /* scaledFontSizeY */
start local 16 // float scaledFontSizeY
36: .line 635
new java.awt.geom.Point2D$Double
dup
dconst_1
dconst_0
invokespecial java.awt.geom.Point2D$Double.<init>:(DD)V
astore 17 /* pt */
start local 17 // java.awt.geom.Point2D$Double pt
37: .line 636
aload 5 /* fontTransform */
aload 17 /* pt */
aload 17 /* pt */
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
38: .line 637
aload 17 /* pt */
getfield java.awt.geom.Point2D$Double.x:D
aload 17 /* pt */
getfield java.awt.geom.Point2D$Double.x:D
dmul
aload 17 /* pt */
getfield java.awt.geom.Point2D$Double.y:D
aload 17 /* pt */
getfield java.awt.geom.Point2D$Double.y:D
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dstore 18 /* scaleFactorX */
start local 18 // double scaleFactorX
39: .line 640
aload 0 /* this */
dload 18 /* scaleFactorX */
dload 14 /* scaleFactorY */
invokevirtual sun.awt.windows.WPathGraphics.getAwScale:(DD)F
fstore 20 /* awScale */
start local 20 // float awScale
40: .line 641
aload 0 /* this */
aload 17 /* pt */
invokevirtual sun.awt.windows.WPathGraphics.getAngle:(Ljava/awt/geom/Point2D$Double;)I
istore 21 /* iangle */
start local 21 // int iangle
41: .line 643
aload 1 /* gv */
invokevirtual java.awt.font.GlyphVector.getNumGlyphs:()I
istore 22 /* numGlyphs */
start local 22 // int numGlyphs
42: .line 644
aload 1 /* gv */
iconst_0
iload 22 /* numGlyphs */
aconst_null
invokevirtual java.awt.font.GlyphVector.getGlyphCodes:(II[I)[I
astore 23 /* glyphCodes */
start local 23 // int[] glyphCodes
43: .line 645
aload 1 /* gv */
iconst_0
iload 22 /* numGlyphs */
aconst_null
invokevirtual java.awt.font.GlyphVector.getGlyphPositions:(II[F)[F
astore 24 /* glyphPos */
start local 24 // float[] glyphPos
44: .line 658
iconst_0
istore 25 /* invisibleGlyphCnt */
start local 25 // int invisibleGlyphCnt
45: .line 659
iconst_0
istore 26 /* gc */
start local 26 // int gc
46: goto 51
47: .line 660
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$Float float java.awt.geom.Point2D$Double double float java.awt.geom.Point2D$Double double float int int int[] float[] int int
StackMap stack:
aload 23 /* glyphCodes */
iload 26 /* gc */
iaload
ldc 65535
iand
48: .line 661
ldc 65534
if_icmplt 50
49: .line 662
iinc 25 /* invisibleGlyphCnt */ 1
50: .line 659
StackMap locals:
StackMap stack:
iinc 26 /* gc */ 1
StackMap locals:
StackMap stack:
51: iload 26 /* gc */
iload 22 /* numGlyphs */
if_icmplt 47
end local 26 // int gc
52: .line 665
iload 25 /* invisibleGlyphCnt */
ifle 70
53: .line 666
iload 22 /* numGlyphs */
iload 25 /* invisibleGlyphCnt */
isub
istore 26 /* visibleGlyphCnt */
start local 26 // int visibleGlyphCnt
54: .line 667
iload 26 /* visibleGlyphCnt */
newarray 10
astore 27 /* visibleGlyphCodes */
start local 27 // int[] visibleGlyphCodes
55: .line 668
iload 26 /* visibleGlyphCnt */
iconst_2
imul
newarray 6
astore 28 /* visiblePositions */
start local 28 // float[] visiblePositions
56: .line 669
iconst_0
istore 29 /* index */
start local 29 // int index
57: .line 670
iconst_0
istore 30 /* i */
start local 30 // int i
58: goto 66
59: .line 671
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$Float float java.awt.geom.Point2D$Double double float java.awt.geom.Point2D$Double double float int int int[] float[] int int int[] float[] int int
StackMap stack:
aload 23 /* glyphCodes */
iload 30 /* i */
iaload
ldc 65535
iand
60: .line 672
ldc 65534
if_icmpge 65
61: .line 673
aload 27 /* visibleGlyphCodes */
iload 29 /* index */
aload 23 /* glyphCodes */
iload 30 /* i */
iaload
iastore
62: .line 674
aload 28 /* visiblePositions */
iload 29 /* index */
iconst_2
imul
aload 24 /* glyphPos */
iload 30 /* i */
iconst_2
imul
faload
fastore
63: .line 675
aload 28 /* visiblePositions */
iload 29 /* index */
iconst_2
imul
iconst_1
iadd
aload 24 /* glyphPos */
iload 30 /* i */
iconst_2
imul
iconst_1
iadd
faload
fastore
64: .line 676
iinc 29 /* index */ 1
65: .line 670
StackMap locals:
StackMap stack:
iinc 30 /* i */ 1
StackMap locals:
StackMap stack:
66: iload 30 /* i */
iload 22 /* numGlyphs */
if_icmplt 59
end local 30 // int i
67: .line 679
iload 26 /* visibleGlyphCnt */
istore 22 /* numGlyphs */
68: .line 680
aload 27 /* visibleGlyphCodes */
astore 23 /* glyphCodes */
69: .line 681
aload 28 /* visiblePositions */
astore 24 /* glyphPos */
end local 29 // int index
end local 28 // float[] visiblePositions
end local 27 // int[] visibleGlyphCodes
end local 26 // int visibleGlyphCnt
70: .line 700
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$Float float java.awt.geom.Point2D$Double double float java.awt.geom.Point2D$Double double float int int int[] float[] int
StackMap stack:
new java.awt.geom.AffineTransform
dup
aload 4 /* deviceTransform */
invokespecial java.awt.geom.AffineTransform.<init>:(Ljava/awt/geom/AffineTransform;)V
71: .line 699
astore 26 /* advanceTransform */
start local 26 // java.awt.geom.AffineTransform advanceTransform
72: .line 701
aload 26 /* advanceTransform */
iload 21 /* iangle */
i2d
ldc 3.141592653589793
dmul
ldc 1800.0
ddiv
invokevirtual java.awt.geom.AffineTransform.rotate:(D)V
73: .line 702
aload 24 /* glyphPos */
arraylength
newarray 6
astore 27 /* glyphAdvPos */
start local 27 // float[] glyphAdvPos
74: .line 704
aload 26 /* advanceTransform */
aload 24 /* glyphPos */
iconst_0
75: .line 705
aload 27 /* glyphAdvPos */
iconst_0
76: .line 706
aload 24 /* glyphPos */
arraylength
iconst_2
idiv
77: .line 704
invokevirtual java.awt.geom.AffineTransform.transform:([FI[FII)V
78: .line 708
aload 6 /* font */
invokestatic sun.font.FontUtilities.getFont2D:(Ljava/awt/Font;)Lsun/font/Font2D;
astore 28 /* font2D */
start local 28 // sun.font.Font2D font2D
79: .line 709
aload 28 /* font2D */
instanceof sun.font.TrueTypeFont
ifeq 89
80: .line 710
aload 28 /* font2D */
aconst_null
invokevirtual sun.font.Font2D.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
astore 29 /* family */
start local 29 // java.lang.String family
81: .line 711
aload 6 /* font */
invokevirtual java.awt.Font.getStyle:()I
aload 28 /* font2D */
invokevirtual sun.font.Font2D.getStyle:()I
ior
istore 30 /* style */
start local 30 // int style
82: .line 712
aload 9 /* wPrinterJob */
aload 29 /* family */
fload 16 /* scaledFontSizeY */
iload 30 /* style */
83: .line 713
iload 21 /* iangle */
fload 20 /* awScale */
84: .line 712
invokevirtual sun.awt.windows.WPrinterJob.setFont:(Ljava/lang/String;FIIF)Z
85: .line 713
ifne 87
86: .line 714
iconst_0
ireturn
87: .line 716
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$Float float java.awt.geom.Point2D$Double double float java.awt.geom.Point2D$Double double float int int int[] float[] int java.awt.geom.AffineTransform float[] sun.font.Font2D java.lang.String int
StackMap stack:
aload 9 /* wPrinterJob */
aload 23 /* glyphCodes */
aload 11 /* devpos */
getfield java.awt.geom.Point2D$Float.x:F
aload 11 /* devpos */
getfield java.awt.geom.Point2D$Float.y:F
aload 27 /* glyphAdvPos */
invokevirtual sun.awt.windows.WPrinterJob.glyphsOut:([IFF[F)V
end local 30 // int style
end local 29 // java.lang.String family
88: .line 718
goto 128
StackMap locals:
StackMap stack:
89: aload 28 /* font2D */
instanceof sun.font.CompositeFont
ifeq 127
90: .line 726
aload 28 /* font2D */
checkcast sun.font.CompositeFont
astore 29 /* compFont */
start local 29 // sun.font.CompositeFont compFont
91: .line 728
aload 11 /* devpos */
getfield java.awt.geom.Point2D$Float.x:F
fstore 30 /* devx */
start local 30 // float devx
92: aload 11 /* devpos */
getfield java.awt.geom.Point2D$Float.y:F
fstore 31 /* devy */
start local 31 // float devy
93: .line 730
iconst_0
istore 32 /* start */
start local 32 // int start
94: iconst_0
istore 33 /* end */
start local 33 // int end
95: iconst_0
istore 34 /* slot */
start local 34 // int slot
96: .line 731
goto 125
97: .line 733
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$Float float java.awt.geom.Point2D$Double double float java.awt.geom.Point2D$Double double float int int int[] float[] int java.awt.geom.AffineTransform float[] sun.font.Font2D sun.font.CompositeFont float float int int int
StackMap stack:
iload 33 /* end */
istore 32 /* start */
98: .line 734
aload 23 /* glyphCodes */
iload 32 /* start */
iaload
bipush 24
iushr
istore 34 /* slot */
99: .line 736
goto 101
100: .line 737
StackMap locals:
StackMap stack:
iinc 33 /* end */ 1
101: .line 736
StackMap locals:
StackMap stack:
iload 33 /* end */
iload 22 /* numGlyphs */
if_icmpge 102
aload 23 /* glyphCodes */
iload 33 /* end */
iaload
bipush 24
iushr
iload 34 /* slot */
if_icmpeq 100
102: .line 745
StackMap locals:
StackMap stack:
aload 29 /* compFont */
iload 34 /* slot */
invokevirtual sun.font.CompositeFont.getSlotFont:(I)Lsun/font/PhysicalFont;
astore 35 /* slotFont */
start local 35 // sun.font.PhysicalFont slotFont
103: .line 746
aload 35 /* slotFont */
instanceof sun.font.TrueTypeFont
ifne 105
104: .line 747
iconst_0
ireturn
105: .line 749
StackMap locals: sun.font.PhysicalFont
StackMap stack:
aload 35 /* slotFont */
aconst_null
invokevirtual sun.font.PhysicalFont.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
astore 36 /* family */
start local 36 // java.lang.String family
106: .line 750
aload 6 /* font */
invokevirtual java.awt.Font.getStyle:()I
aload 35 /* slotFont */
invokevirtual sun.font.PhysicalFont.getStyle:()I
ior
istore 37 /* style */
start local 37 // int style
107: .line 751
aload 9 /* wPrinterJob */
aload 36 /* family */
fload 16 /* scaledFontSizeY */
iload 37 /* style */
108: .line 752
iload 21 /* iangle */
fload 20 /* awScale */
109: .line 751
invokevirtual sun.awt.windows.WPrinterJob.setFont:(Ljava/lang/String;FIIF)Z
110: .line 752
ifne 112
111: .line 753
iconst_0
ireturn
112: .line 756
StackMap locals: java.lang.String int
StackMap stack:
aload 23 /* glyphCodes */
iload 32 /* start */
iload 33 /* end */
invokestatic java.util.Arrays.copyOfRange:([III)[I
astore 38 /* glyphs */
start local 38 // int[] glyphs
113: .line 757
aload 27 /* glyphAdvPos */
114: .line 758
iload 32 /* start */
iconst_2
imul
iload 33 /* end */
iconst_2
imul
115: .line 757
invokestatic java.util.Arrays.copyOfRange:([FII)[F
astore 39 /* posns */
start local 39 // float[] posns
116: .line 759
iload 32 /* start */
ifeq 124
117: .line 761
new java.awt.geom.Point2D$Float
dup
fload 2 /* x */
aload 24 /* glyphPos */
iload 32 /* start */
iconst_2
imul
faload
fadd
118: .line 762
fload 3 /* y */
aload 24 /* glyphPos */
iload 32 /* start */
iconst_2
imul
iconst_1
iadd
faload
fadd
119: .line 761
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
120: .line 760
astore 40 /* p */
start local 40 // java.awt.geom.Point2D$Float p
121: .line 763
aload 4 /* deviceTransform */
aload 40 /* p */
aload 40 /* p */
invokevirtual java.awt.geom.AffineTransform.transform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
122: .line 764
aload 40 /* p */
getfield java.awt.geom.Point2D$Float.x:F
fstore 30 /* devx */
123: .line 765
aload 40 /* p */
getfield java.awt.geom.Point2D$Float.y:F
fstore 31 /* devy */
end local 40 // java.awt.geom.Point2D$Float p
124: .line 767
StackMap locals: int[] float[]
StackMap stack:
aload 9 /* wPrinterJob */
aload 38 /* glyphs */
fload 30 /* devx */
fload 31 /* devy */
aload 39 /* posns */
invokevirtual sun.awt.windows.WPrinterJob.glyphsOut:([IFF[F)V
end local 39 // float[] posns
end local 38 // int[] glyphs
end local 37 // int style
end local 36 // java.lang.String family
end local 35 // sun.font.PhysicalFont slotFont
125: .line 731
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$Float float java.awt.geom.Point2D$Double double float java.awt.geom.Point2D$Double double float int int int[] float[] int java.awt.geom.AffineTransform float[] sun.font.Font2D sun.font.CompositeFont float float int int int
StackMap stack:
iload 33 /* end */
iload 22 /* numGlyphs */
if_icmplt 97
end local 34 // int slot
end local 33 // int end
end local 32 // int start
end local 31 // float devy
end local 30 // float devx
end local 29 // sun.font.CompositeFont compFont
126: .line 769
goto 128
127: .line 770
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$Float float java.awt.geom.Point2D$Double double float java.awt.geom.Point2D$Double double float int int int[] float[] int java.awt.geom.AffineTransform float[] sun.font.Font2D
StackMap stack:
iconst_0
ireturn
128: .line 772
StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 28 // sun.font.Font2D font2D
end local 27 // float[] glyphAdvPos
end local 26 // java.awt.geom.AffineTransform advanceTransform
end local 25 // int invisibleGlyphCnt
end local 24 // float[] glyphPos
end local 23 // int[] glyphCodes
end local 22 // int numGlyphs
end local 21 // int iangle
end local 20 // float awScale
end local 18 // double scaleFactorX
end local 17 // java.awt.geom.Point2D$Double pt
end local 16 // float scaledFontSizeY
end local 14 // double scaleFactorY
end local 13 // java.awt.geom.Point2D$Double pty
end local 12 // float fontSize
end local 11 // java.awt.geom.Point2D$Float devpos
end local 10 // java.awt.geom.Point2D$Float userpos
end local 9 // sun.awt.windows.WPrinterJob wPrinterJob
end local 8 // boolean directToGDI
end local 7 // int transformType
end local 6 // java.awt.Font font
end local 5 // java.awt.geom.AffineTransform fontTransform
end local 4 // java.awt.geom.AffineTransform deviceTransform
end local 3 // float y
end local 2 // float x
end local 1 // java.awt.font.GlyphVector gv
end local 0 // sun.awt.windows.WPathGraphics this
LocalVariableTable:
Start End Slot Name Signature
0 129 0 this Lsun/awt/windows/WPathGraphics;
0 129 1 gv Ljava/awt/font/GlyphVector;
0 129 2 x F
0 129 3 y F
3 129 4 deviceTransform Ljava/awt/geom/AffineTransform;
4 129 5 fontTransform Ljava/awt/geom/AffineTransform;
5 129 6 font Ljava/awt/Font;
7 129 7 transformType I
12 129 8 directToGDI Z
13 129 9 wPrinterJob Lsun/awt/windows/WPrinterJob;
20 129 10 userpos Ljava/awt/geom/Point2D$Float;
21 129 11 devpos Ljava/awt/geom/Point2D$Float;
23 28 12 fontTx Ljava/awt/geom/AffineTransform;
24 28 13 translateX F
25 28 14 translateY F
32 129 12 fontSize F
33 129 13 pty Ljava/awt/geom/Point2D$Double;
35 129 14 scaleFactorY D
36 129 16 scaledFontSizeY F
37 129 17 pt Ljava/awt/geom/Point2D$Double;
39 129 18 scaleFactorX D
40 129 20 awScale F
41 129 21 iangle I
42 129 22 numGlyphs I
43 129 23 glyphCodes [I
44 129 24 glyphPos [F
45 129 25 invisibleGlyphCnt I
46 52 26 gc I
54 70 26 visibleGlyphCnt I
55 70 27 visibleGlyphCodes [I
56 70 28 visiblePositions [F
57 70 29 index I
58 67 30 i I
72 129 26 advanceTransform Ljava/awt/geom/AffineTransform;
74 129 27 glyphAdvPos [F
79 129 28 font2D Lsun/font/Font2D;
81 88 29 family Ljava/lang/String;
82 88 30 style I
91 126 29 compFont Lsun/font/CompositeFont;
92 126 30 devx F
93 126 31 devy F
94 126 32 start I
95 126 33 end I
96 126 34 slot I
103 125 35 slotFont Lsun/font/PhysicalFont;
106 125 36 family Ljava/lang/String;
107 125 37 style I
113 125 38 glyphs [I
116 125 39 posns [F
121 124 40 p Ljava/awt/geom/Point2D$Float;
Exception table:
from to target type
13 14 15 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, java.awt.geom.AffineTransform, double, float, float, float, float, float);
descriptor: (Ljava/lang/String;Ljava/awt/Font;Lsun/font/PhysicalFont;Ljava/awt/font/FontRenderContext;FIFLjava/awt/geom/AffineTransform;DFFFFF)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=26, args_size=15
start local 0 // sun.awt.windows.WPathGraphics this
start local 1 // java.lang.String str
start local 2 // java.awt.Font font
start local 3 // sun.font.PhysicalFont font2D
start local 4 // java.awt.font.FontRenderContext frc
start local 5 // float deviceSize
start local 6 // int rotation
start local 7 // float awScale
start local 8 // java.awt.geom.AffineTransform deviceTransform
start local 9 // double scaleFactorX
start local 11 // float userx
start local 12 // float usery
start local 13 // float devx
start local 14 // float devy
start local 15 // float targetW
0: .line 784
aload 3 /* font2D */
aconst_null
invokevirtual sun.font.PhysicalFont.getFamilyName:(Ljava/util/Locale;)Ljava/lang/String;
astore 16 /* family */
start local 16 // java.lang.String family
1: .line 785
aload 2 /* font */
invokevirtual java.awt.Font.getStyle:()I
aload 3 /* font2D */
invokevirtual sun.font.PhysicalFont.getStyle:()I
ior
istore 17 /* style */
start local 17 // int style
2: .line 786
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 18 /* wPrinterJob */
start local 18 // sun.awt.windows.WPrinterJob wPrinterJob
3: .line 787
aload 18 /* wPrinterJob */
aload 16 /* family */
fload 5 /* deviceSize */
iload 17 /* style */
4: .line 788
iload 6 /* rotation */
fload 7 /* awScale */
5: .line 787
invokevirtual sun.awt.windows.WPrinterJob.setFont:(Ljava/lang/String;FIIF)Z
istore 19 /* setFont */
start local 19 // boolean setFont
6: .line 789
iload 19 /* setFont */
ifne 9
7: .line 790
aload 0 /* this */
aload 1 /* str */
fload 11 /* userx */
fload 12 /* usery */
aload 2 /* font */
aload 4 /* frc */
fload 15 /* targetW */
invokespecial sun.print.PathGraphics.drawString:(Ljava/lang/String;FFLjava/awt/Font;Ljava/awt/font/FontRenderContext;F)V
8: .line 791
return
9: .line 794
StackMap locals: sun.awt.windows.WPathGraphics java.lang.String java.awt.Font sun.font.PhysicalFont java.awt.font.FontRenderContext float int float java.awt.geom.AffineTransform double float float float float float java.lang.String int sun.awt.windows.WPrinterJob int
StackMap stack:
aconst_null
astore 20 /* glyphPos */
start local 20 // float[] glyphPos
10: .line 795
aload 0 /* this */
aload 1 /* str */
aload 2 /* font */
aload 4 /* frc */
dload 9 /* scaleFactorX */
invokevirtual sun.awt.windows.WPathGraphics.okGDIMetrics:(Ljava/lang/String;Ljava/awt/Font;Ljava/awt/font/FontRenderContext;D)Z
ifne 31
11: .line 803
aload 18 /* wPrinterJob */
aload 1 /* str */
invokevirtual sun.awt.windows.WPrinterJob.removeControlChars:(Ljava/lang/String;)Ljava/lang/String;
astore 1 /* str */
12: .line 804
aload 1 /* str */
invokevirtual java.lang.String.toCharArray:()[C
astore 21 /* chars */
start local 21 // char[] chars
13: .line 805
aload 21 /* chars */
arraylength
istore 22 /* len */
start local 22 // int len
14: .line 806
aconst_null
astore 23 /* gv */
start local 23 // java.awt.font.GlyphVector gv
15: .line 807
aload 21 /* chars */
iconst_0
iload 22 /* len */
invokestatic sun.font.FontUtilities.isComplexText:([CII)Z
ifne 17
16: .line 808
aload 2 /* font */
aload 4 /* frc */
aload 1 /* str */
invokevirtual java.awt.Font.createGlyphVector:(Ljava/awt/font/FontRenderContext;Ljava/lang/String;)Ljava/awt/font/GlyphVector;
astore 23 /* gv */
17: .line 810
StackMap locals: sun.awt.windows.WPathGraphics java.lang.String java.awt.Font sun.font.PhysicalFont java.awt.font.FontRenderContext float int float java.awt.geom.AffineTransform 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 23 /* gv */
ifnonnull 20
18: .line 811
aload 0 /* this */
aload 1 /* str */
fload 11 /* userx */
fload 12 /* usery */
aload 2 /* font */
aload 4 /* frc */
fload 15 /* targetW */
invokespecial sun.print.PathGraphics.drawString:(Ljava/lang/String;FFLjava/awt/Font;Ljava/awt/font/FontRenderContext;F)V
19: .line 812
return
20: .line 814
StackMap locals:
StackMap stack:
aload 23 /* gv */
iconst_0
iload 22 /* len */
aconst_null
invokevirtual java.awt.font.GlyphVector.getGlyphPositions:(II[F)[F
astore 20 /* glyphPos */
21: .line 815
aload 23 /* gv */
aload 23 /* gv */
invokevirtual java.awt.font.GlyphVector.getNumGlyphs:()I
invokevirtual java.awt.font.GlyphVector.getGlyphPosition:(I)Ljava/awt/geom/Point2D;
pop
22: .line 821
new java.awt.geom.AffineTransform
dup
aload 8 /* deviceTransform */
invokespecial java.awt.geom.AffineTransform.<init>:(Ljava/awt/geom/AffineTransform;)V
23: .line 820
astore 24 /* advanceTransform */
start local 24 // java.awt.geom.AffineTransform advanceTransform
24: .line 822
aload 24 /* advanceTransform */
iload 6 /* rotation */
i2d
ldc 3.141592653589793
dmul
ldc 1800.0
ddiv
invokevirtual java.awt.geom.AffineTransform.rotate:(D)V
25: .line 823
aload 20 /* glyphPos */
arraylength
newarray 6
astore 25 /* glyphAdvPos */
start local 25 // float[] glyphAdvPos
26: .line 825
aload 24 /* advanceTransform */
aload 20 /* glyphPos */
iconst_0
27: .line 826
aload 25 /* glyphAdvPos */
iconst_0
28: .line 827
aload 20 /* glyphPos */
arraylength
iconst_2
idiv
29: .line 825
invokevirtual java.awt.geom.AffineTransform.transform:([FI[FII)V
30: .line 828
aload 25 /* glyphAdvPos */
astore 20 /* glyphPos */
end local 25 // float[] glyphAdvPos
end local 24 // java.awt.geom.AffineTransform advanceTransform
end local 23 // java.awt.font.GlyphVector gv
end local 22 // int len
end local 21 // char[] chars
31: .line 830
StackMap locals:
StackMap stack:
aload 18 /* wPrinterJob */
aload 1 /* str */
fload 13 /* devx */
fload 14 /* devy */
aload 20 /* glyphPos */
invokevirtual sun.awt.windows.WPrinterJob.textOut:(Ljava/lang/String;FF[F)V
32: .line 831
return
end local 20 // float[] glyphPos
end local 19 // boolean setFont
end local 18 // sun.awt.windows.WPrinterJob wPrinterJob
end local 17 // int style
end local 16 // java.lang.String family
end local 15 // float targetW
end local 14 // float devy
end local 13 // float devx
end local 12 // float usery
end local 11 // float userx
end local 9 // double scaleFactorX
end local 8 // java.awt.geom.AffineTransform deviceTransform
end local 7 // float awScale
end local 6 // int rotation
end local 5 // float deviceSize
end local 4 // java.awt.font.FontRenderContext frc
end local 3 // sun.font.PhysicalFont font2D
end local 2 // java.awt.Font font
end local 1 // java.lang.String str
end local 0 // sun.awt.windows.WPathGraphics this
LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lsun/awt/windows/WPathGraphics;
0 33 1 str Ljava/lang/String;
0 33 2 font Ljava/awt/Font;
0 33 3 font2D Lsun/font/PhysicalFont;
0 33 4 frc Ljava/awt/font/FontRenderContext;
0 33 5 deviceSize F
0 33 6 rotation I
0 33 7 awScale F
0 33 8 deviceTransform Ljava/awt/geom/AffineTransform;
0 33 9 scaleFactorX D
0 33 11 userx F
0 33 12 usery F
0 33 13 devx F
0 33 14 devy F
0 33 15 targetW F
1 33 16 family Ljava/lang/String;
2 33 17 style I
3 33 18 wPrinterJob Lsun/awt/windows/WPrinterJob;
6 33 19 setFont Z
10 33 20 glyphPos [F
13 31 21 chars [C
14 31 22 len I
15 31 23 gv Ljava/awt/font/GlyphVector;
24 31 24 advanceTransform Ljava/awt/geom/AffineTransform;
26 31 25 glyphAdvPos [F
MethodParameters:
Name Flags
str
font
font2D
frc
deviceSize
rotation
awScale
deviceTransform
scaleFactorX
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 // sun.awt.windows.WPathGraphics this
start local 1 // java.lang.String str
start local 2 // java.awt.Font font
start local 3 // java.awt.font.FontRenderContext frc
start local 4 // double scaleX
0: .line 848
aload 2 /* font */
aload 1 /* str */
aload 3 /* frc */
invokevirtual java.awt.Font.getStringBounds:(Ljava/lang/String;Ljava/awt/font/FontRenderContext;)Ljava/awt/geom/Rectangle2D;
astore 6 /* bds */
start local 6 // java.awt.geom.Rectangle2D bds
1: .line 849
aload 6 /* bds */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
dstore 7 /* jdkAdvance */
start local 7 // double jdkAdvance
2: .line 850
dload 7 /* jdkAdvance */
dload 4 /* scaleX */
dmul
invokestatic java.lang.Math.round:(D)J
l2d
dstore 7 /* jdkAdvance */
3: .line 851
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
aload 1 /* str */
invokevirtual sun.awt.windows.WPrinterJob.getGDIAdvance:(Ljava/lang/String;)I
istore 9 /* gdiAdvance */
start local 9 // int gdiAdvance
4: .line 852
dload 7 /* jdkAdvance */
dconst_0
dcmpl
ifle 11
iload 9 /* gdiAdvance */
ifle 11
5: .line 853
iload 9 /* gdiAdvance */
i2d
dload 7 /* jdkAdvance */
dsub
invokestatic java.lang.Math.abs:(D)D
dstore 10 /* diff */
start local 10 // double diff
6: .line 854
iload 9 /* gdiAdvance */
i2d
dload 7 /* jdkAdvance */
ddiv
dstore 12 /* ratio */
start local 12 // double ratio
7: .line 855
dload 12 /* ratio */
dconst_1
dcmpg
ifge 9
8: .line 856
dconst_1
dload 12 /* ratio */
ddiv
dstore 12 /* ratio */
9: .line 858
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 /* diff */
dconst_1
dcmpg
ifle 10
dload 12 /* ratio */
ldc 1.002
dcmpg
iflt 10
iconst_0
ireturn
StackMap locals:
StackMap stack:
10: iconst_1
ireturn
end local 12 // double ratio
end local 10 // double diff
11: .line 860
StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 9 // int gdiAdvance
end local 7 // double jdkAdvance
end local 6 // java.awt.geom.Rectangle2D bds
end local 4 // double scaleX
end local 3 // java.awt.font.FontRenderContext frc
end local 2 // java.awt.Font font
end local 1 // java.lang.String str
end local 0 // sun.awt.windows.WPathGraphics this
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 // sun.awt.windows.WPathGraphics this
start local 1 // java.awt.Image image
start local 2 // java.awt.geom.AffineTransform xform
start local 3 // java.awt.Color bgcolor
start local 4 // int srcX
start local 5 // int srcY
start local 6 // int srcWidth
start local 7 // int srcHeight
start local 8 // boolean handlingTransparency
0: .line 897
aload 0 /* this */
aload 1 /* image */
invokevirtual sun.awt.windows.WPathGraphics.getBufferedImage:(Ljava/awt/Image;)Ljava/awt/image/BufferedImage;
astore 9 /* img */
start local 9 // java.awt.image.BufferedImage img
1: .line 898
aload 9 /* img */
ifnonnull 3
2: .line 899
iconst_1
ireturn
3: .line 902
StackMap locals: java.awt.image.BufferedImage
StackMap stack:
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 10 /* wPrinterJob */
start local 10 // sun.awt.windows.WPrinterJob wPrinterJob
4: .line 910
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getTransform:()Ljava/awt/geom/AffineTransform;
astore 11 /* fullTransform */
start local 11 // java.awt.geom.AffineTransform fullTransform
5: .line 911
aload 2 /* xform */
ifnonnull 7
6: .line 912
new java.awt.geom.AffineTransform
dup
invokespecial java.awt.geom.AffineTransform.<init>:()V
astore 2 /* xform */
7: .line 914
StackMap locals: sun.awt.windows.WPrinterJob java.awt.geom.AffineTransform
StackMap stack:
aload 11 /* fullTransform */
aload 2 /* xform */
invokevirtual java.awt.geom.AffineTransform.concatenate:(Ljava/awt/geom/AffineTransform;)V
8: .line 934
bipush 6
newarray 7
astore 12 /* fullMatrix */
start local 12 // double[] fullMatrix
9: .line 935
aload 11 /* fullTransform */
aload 12 /* fullMatrix */
invokevirtual java.awt.geom.AffineTransform.getMatrix:([D)V
10: .line 945
new java.awt.geom.Point2D$Float
dup
fconst_1
fconst_0
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 13 /* unitVectorX */
start local 13 // java.awt.geom.Point2D$Float unitVectorX
11: .line 946
new java.awt.geom.Point2D$Float
dup
fconst_0
fconst_1
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 14 /* unitVectorY */
start local 14 // java.awt.geom.Point2D$Float unitVectorY
12: .line 947
aload 11 /* fullTransform */
aload 13 /* unitVectorX */
aload 13 /* unitVectorX */
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
13: .line 948
aload 11 /* fullTransform */
aload 14 /* unitVectorY */
aload 14 /* unitVectorY */
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
14: .line 950
new java.awt.geom.Point2D$Float
dup
fconst_0
fconst_0
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 15 /* origin */
start local 15 // java.awt.geom.Point2D$Float origin
15: .line 951
aload 13 /* unitVectorX */
aload 15 /* origin */
invokevirtual java.awt.geom.Point2D$Float.distance:(Ljava/awt/geom/Point2D;)D
dstore 16 /* scaleX */
start local 16 // double scaleX
16: .line 952
aload 14 /* unitVectorY */
aload 15 /* origin */
invokevirtual java.awt.geom.Point2D$Float.distance:(Ljava/awt/geom/Point2D;)D
dstore 18 /* scaleY */
start local 18 // double scaleY
17: .line 954
aload 10 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.getXRes:()D
dstore 20 /* devResX */
start local 20 // double devResX
18: .line 955
aload 10 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.getYRes:()D
dstore 22 /* devResY */
start local 22 // double devResY
19: .line 956
dload 20 /* devResX */
ldc 72.0
ddiv
dstore 24 /* devScaleX */
start local 24 // double devScaleX
20: .line 957
dload 22 /* devResY */
ldc 72.0
ddiv
dstore 26 /* devScaleY */
start local 26 // double devScaleY
21: .line 960
aload 11 /* fullTransform */
invokevirtual java.awt.geom.AffineTransform.getType:()I
istore 28 /* transformType */
start local 28 // int transformType
22: .line 961
iload 28 /* transformType */
23: .line 962
bipush 48
24: .line 961
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 /* clampScale */
start local 29 // boolean clampScale
27: .line 964
iload 29 /* clampScale */
ifeq 30
28: .line 965
dload 16 /* scaleX */
dload 24 /* devScaleX */
dcmpl
ifle 29
dload 24 /* devScaleX */
dstore 16 /* scaleX */
29: .line 966
StackMap locals: int
StackMap stack:
dload 18 /* scaleY */
dload 26 /* devScaleY */
dcmpl
ifle 30
dload 26 /* devScaleY */
dstore 18 /* scaleY */
30: .line 972
StackMap locals:
StackMap stack:
dload 16 /* scaleX */
dconst_0
dcmpl
ifeq 223
dload 18 /* scaleY */
dconst_0
dcmpl
ifeq 223
31: .line 976
new java.awt.geom.AffineTransform
dup
32: .line 977
aload 12 /* fullMatrix */
iconst_0
daload
dload 16 /* scaleX */
ddiv
33: .line 978
aload 12 /* fullMatrix */
iconst_1
daload
dload 18 /* scaleY */
ddiv
34: .line 979
aload 12 /* fullMatrix */
iconst_2
daload
dload 16 /* scaleX */
ddiv
35: .line 980
aload 12 /* fullMatrix */
iconst_3
daload
dload 18 /* scaleY */
ddiv
36: .line 981
aload 12 /* fullMatrix */
iconst_4
daload
dload 16 /* scaleX */
ddiv
37: .line 982
aload 12 /* fullMatrix */
iconst_5
daload
dload 18 /* scaleY */
ddiv
38: .line 976
invokespecial java.awt.geom.AffineTransform.<init>:(DDDDDD)V
astore 30 /* rotTransform */
start local 30 // java.awt.geom.AffineTransform rotTransform
39: .line 1004
new java.awt.geom.Rectangle2D$Float
dup
iload 4 /* srcX */
i2f
iload 5 /* srcY */
i2f
40: .line 1005
iload 6 /* srcWidth */
i2f
41: .line 1006
iload 7 /* srcHeight */
i2f
42: .line 1004
invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
astore 31 /* srcRect */
start local 31 // java.awt.geom.Rectangle2D$Float srcRect
43: .line 1008
aload 30 /* rotTransform */
aload 31 /* srcRect */
invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
astore 32 /* rotShape */
start local 32 // java.awt.Shape rotShape
44: .line 1009
aload 32 /* rotShape */
invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 33 /* rotBounds */
start local 33 // java.awt.geom.Rectangle2D rotBounds
45: .line 1015
aload 33 /* rotBounds */
aload 33 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getX:()D
aload 33 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getY:()D
46: .line 1016
aload 33 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
ldc 0.001
dadd
47: .line 1017
aload 33 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
ldc 0.001
dadd
48: .line 1015
invokevirtual java.awt.geom.Rectangle2D.setRect:(DDDD)V
49: .line 1019
aload 33 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
d2i
istore 34 /* boundsWidth */
start local 34 // int boundsWidth
50: .line 1020
aload 33 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
d2i
istore 35 /* boundsHeight */
start local 35 // int boundsHeight
51: .line 1022
iload 34 /* boundsWidth */
ifle 223
iload 35 /* boundsHeight */
ifle 223
52: .line 1040
iconst_1
istore 36 /* drawOpaque */
start local 36 // boolean drawOpaque
53: .line 1041
iload 8 /* handlingTransparency */
ifne 70
aload 0 /* this */
aload 9 /* img */
invokevirtual sun.awt.windows.WPathGraphics.hasTransparentPixels:(Ljava/awt/image/BufferedImage;)Z
ifeq 70
54: .line 1042
iconst_0
istore 36 /* drawOpaque */
55: .line 1043
aload 0 /* this */
aload 9 /* img */
invokevirtual sun.awt.windows.WPathGraphics.isBitmaskTransparency:(Ljava/awt/image/BufferedImage;)Z
ifeq 67
56: .line 1044
aload 3 /* bgcolor */
ifnonnull 63
57: .line 1045
aload 0 /* this */
aload 9 /* img */
aload 2 /* xform */
aload 3 /* bgcolor */
58: .line 1046
iload 4 /* srcX */
iload 5 /* srcY */
59: .line 1047
iload 6 /* srcWidth */
iload 7 /* srcHeight */
60: .line 1045
invokevirtual sun.awt.windows.WPathGraphics.drawBitmaskImage:(Ljava/awt/image/BufferedImage;Ljava/awt/geom/AffineTransform;Ljava/awt/Color;IIII)Z
61: .line 1047
ifeq 67
62: .line 1049
iconst_1
ireturn
63: .line 1051
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 /* bgcolor */
invokevirtual java.awt.Color.getTransparency:()I
64: .line 1052
iconst_1
65: .line 1051
if_icmpne 67
66: .line 1053
iconst_1
istore 36 /* drawOpaque */
67: .line 1056
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.canDoRedraws:()Z
ifne 71
68: .line 1057
iconst_1
istore 36 /* drawOpaque */
69: .line 1059
goto 71
70: .line 1063
StackMap locals:
StackMap stack:
aconst_null
astore 3 /* bgcolor */
71: .line 1067
StackMap locals:
StackMap stack:
iload 4 /* srcX */
iload 6 /* srcWidth */
iadd
aload 9 /* img */
aconst_null
invokevirtual java.awt.image.BufferedImage.getWidth:(Ljava/awt/image/ImageObserver;)I
if_icmpgt 73
72: .line 1068
iload 5 /* srcY */
iload 7 /* srcHeight */
iadd
aload 9 /* img */
aconst_null
invokevirtual java.awt.image.BufferedImage.getHeight:(Ljava/awt/image/ImageObserver;)I
if_icmple 75
73: .line 1069
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.canDoRedraws:()Z
ifeq 75
74: .line 1070
iconst_0
istore 36 /* drawOpaque */
75: .line 1072
StackMap locals:
StackMap stack:
iload 36 /* drawOpaque */
ifne 125
76: .line 1074
aload 11 /* fullTransform */
aload 12 /* fullMatrix */
invokevirtual java.awt.geom.AffineTransform.getMatrix:([D)V
77: .line 1076
new java.awt.geom.AffineTransform
78: .line 1077
aload 12 /* fullMatrix */
iconst_0
daload
dload 24 /* devScaleX */
ddiv
79: .line 1078
aload 12 /* fullMatrix */
iconst_1
daload
dload 26 /* devScaleY */
ddiv
80: .line 1079
aload 12 /* fullMatrix */
iconst_2
daload
dload 24 /* devScaleX */
ddiv
81: .line 1080
aload 12 /* fullMatrix */
iconst_3
daload
dload 26 /* devScaleY */
ddiv
82: .line 1081
aload 12 /* fullMatrix */
iconst_4
daload
dload 24 /* devScaleX */
ddiv
83: .line 1082
aload 12 /* fullMatrix */
iconst_5
daload
dload 26 /* devScaleY */
ddiv
84: .line 1076
invokespecial java.awt.geom.AffineTransform.<init>:(DDDDDD)V
85: .line 1085
new java.awt.geom.Rectangle2D$Float
dup
iload 4 /* srcX */
i2f
iload 5 /* srcY */
i2f
iload 6 /* srcWidth */
i2f
iload 7 /* srcHeight */
i2f
invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
86: .line 1084
astore 37 /* rect */
start local 37 // java.awt.geom.Rectangle2D$Float rect
87: .line 1087
aload 11 /* fullTransform */
aload 37 /* rect */
invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
astore 38 /* shape */
start local 38 // java.awt.Shape shape
88: .line 1090
aload 38 /* shape */
invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 39 /* region */
start local 39 // java.awt.geom.Rectangle2D region
89: .line 1092
aload 39 /* region */
aload 39 /* region */
invokevirtual java.awt.geom.Rectangle2D.getX:()D
aload 39 /* region */
invokevirtual java.awt.geom.Rectangle2D.getY:()D
90: .line 1093
aload 39 /* region */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
ldc 0.001
dadd
91: .line 1094
aload 39 /* region */
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
ldc 0.001
dadd
92: .line 1092
invokevirtual java.awt.geom.Rectangle2D.setRect:(DDDD)V
93: .line 1101
aload 39 /* region */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
d2i
istore 40 /* w */
start local 40 // int w
94: .line 1102
aload 39 /* region */
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
d2i
istore 41 /* h */
start local 41 // int h
95: .line 1103
iload 40 /* w */
iload 41 /* h */
imul
iconst_3
imul
istore 42 /* nbytes */
start local 42 // int nbytes
96: .line 1104
ldc 8388608
istore 43 /* maxBytes */
start local 43 // int maxBytes
97: .line 1105
dload 20 /* devResX */
dload 22 /* devResY */
dcmpg
ifge 98
dload 20 /* devResX */
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 /* devResY */
StackMap locals:
StackMap stack: double
99: dstore 44 /* origDpi */
start local 44 // double origDpi
100: .line 1106
dload 44 /* origDpi */
d2i
istore 46 /* dpi */
start local 46 // int dpi
101: .line 1107
dconst_1
dstore 47 /* scaleFactor */
start local 47 // double scaleFactor
102: .line 1109
iload 40 /* w */
i2d
iload 34 /* boundsWidth */
i2d
ddiv
dstore 49 /* maxSFX */
start local 49 // double maxSFX
103: .line 1110
iload 41 /* h */
i2d
iload 35 /* boundsHeight */
i2d
ddiv
dstore 51 /* maxSFY */
start local 51 // double maxSFY
104: .line 1111
dload 49 /* maxSFX */
dload 51 /* maxSFY */
dcmpl
ifle 105
dload 51 /* maxSFY */
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 /* maxSFX */
StackMap locals:
StackMap stack: double
106: dstore 53 /* maxSF */
start local 53 // double maxSF
107: .line 1112
iload 46 /* dpi */
i2d
dload 53 /* maxSF */
ddiv
d2i
istore 55 /* minDpi */
start local 55 // int minDpi
108: .line 1113
iload 55 /* minDpi */
bipush 72
if_icmpge 113
bipush 72
istore 55 /* minDpi */
109: .line 1115
goto 113
110: .line 1116
StackMap locals: double int
StackMap stack:
dload 47 /* scaleFactor */
ldc 2.0
dmul
dstore 47 /* scaleFactor */
111: .line 1117
iload 46 /* dpi */
iconst_2
idiv
istore 46 /* dpi */
112: .line 1118
iload 42 /* nbytes */
iconst_4
idiv
istore 42 /* nbytes */
113: .line 1115
StackMap locals:
StackMap stack:
iload 42 /* nbytes */
iload 43 /* maxBytes */
if_icmple 114
iload 46 /* dpi */
iload 55 /* minDpi */
if_icmpgt 110
114: .line 1120
StackMap locals:
StackMap stack:
iload 46 /* dpi */
iload 55 /* minDpi */
if_icmpge 116
115: .line 1121
dload 44 /* origDpi */
iload 55 /* minDpi */
i2d
ddiv
dstore 47 /* scaleFactor */
116: .line 1124
StackMap locals:
StackMap stack:
aload 39 /* region */
aload 39 /* region */
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dload 47 /* scaleFactor */
ddiv
117: .line 1125
aload 39 /* region */
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dload 47 /* scaleFactor */
ddiv
118: .line 1126
aload 39 /* region */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
dload 47 /* scaleFactor */
ddiv
119: .line 1127
aload 39 /* region */
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
dload 47 /* scaleFactor */
ddiv
120: .line 1124
invokevirtual java.awt.geom.Rectangle2D.setRect:(DDDD)V
121: .line 1138
aload 10 /* wPrinterJob */
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getTransform:()Ljava/awt/geom/AffineTransform;
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getClip:()Ljava/awt/Shape;
122: .line 1139
aload 39 /* region */
dload 47 /* scaleFactor */
dload 47 /* scaleFactor */
123: .line 1138
invokevirtual sun.awt.windows.WPrinterJob.saveState:(Ljava/awt/geom/AffineTransform;Ljava/awt/Shape;Ljava/awt/geom/Rectangle2D;DD)V
124: .line 1140
iconst_1
ireturn
end local 55 // int minDpi
end local 53 // double maxSF
end local 51 // double maxSFY
end local 49 // double maxSFX
end local 47 // double scaleFactor
end local 46 // int dpi
end local 44 // double origDpi
end local 43 // int maxBytes
end local 42 // int nbytes
end local 41 // int h
end local 40 // int w
end local 39 // java.awt.geom.Rectangle2D region
end local 38 // java.awt.Shape shape
end local 37 // java.awt.geom.Rectangle2D$Float rect
125: .line 1153
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 /* dibType */
start local 37 // int dibType
126: .line 1154
aconst_null
astore 38 /* icm */
start local 38 // java.awt.image.IndexColorModel icm
127: .line 1156
aload 9 /* img */
invokevirtual java.awt.image.BufferedImage.getColorModel:()Ljava/awt/image/ColorModel;
astore 39 /* cm */
start local 39 // java.awt.image.ColorModel cm
128: .line 1157
aload 9 /* img */
invokevirtual java.awt.image.BufferedImage.getType:()I
istore 40 /* imgType */
start local 40 // int imgType
129: .line 1158
aload 39 /* cm */
instanceof java.awt.image.IndexColorModel
ifeq 148
130: .line 1159
aload 39 /* cm */
invokevirtual java.awt.image.ColorModel.getPixelSize:()I
bipush 8
if_icmpgt 148
131: .line 1160
iload 40 /* imgType */
bipush 12
if_icmpeq 133
132: .line 1161
iload 40 /* imgType */
bipush 13
if_icmpne 148
133: .line 1162
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 /* cm */
checkcast java.awt.image.IndexColorModel
astore 38 /* icm */
134: .line 1163
iload 40 /* imgType */
istore 37 /* dibType */
135: .line 1167
iload 40 /* imgType */
bipush 12
if_icmpne 148
136: .line 1168
aload 39 /* cm */
invokevirtual java.awt.image.ColorModel.getPixelSize:()I
iconst_2
if_icmpne 148
137: .line 1170
bipush 16
newarray 10
astore 41 /* rgbs */
start local 41 // int[] rgbs
138: .line 1171
aload 38 /* icm */
aload 41 /* rgbs */
invokevirtual java.awt.image.IndexColorModel.getRGBs:([I)V
139: .line 1173
aload 38 /* icm */
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: .line 1172
StackMap locals:
StackMap stack: int
istore 42 /* transparent */
start local 42 // boolean transparent
142: .line 1174
aload 38 /* icm */
invokevirtual java.awt.image.IndexColorModel.getTransparentPixel:()I
istore 43 /* transpixel */
start local 43 // int transpixel
143: .line 1176
new java.awt.image.IndexColorModel
dup
iconst_4
bipush 16
144: .line 1177
aload 41 /* rgbs */
iconst_0
145: .line 1178
iload 42 /* transparent */
iload 43 /* transpixel */
146: .line 1179
iconst_0
147: .line 1176
invokespecial java.awt.image.IndexColorModel.<init>:(II[IIZII)V
astore 38 /* icm */
end local 43 // int transpixel
end local 42 // boolean transparent
end local 41 // int[] rgbs
148: .line 1183
StackMap locals:
StackMap stack:
aload 33 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
d2i
istore 41 /* iw */
start local 41 // int iw
149: .line 1184
aload 33 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
d2i
istore 42 /* ih */
start local 42 // int ih
150: .line 1185
aconst_null
astore 43 /* deepImage */
start local 43 // java.awt.image.BufferedImage deepImage
151: .line 1212
iconst_1
istore 44 /* newImage */
start local 44 // boolean newImage
152: .line 1213
iload 44 /* newImage */
ifeq 179
153: .line 1214
aload 38 /* icm */
ifnonnull 156
154: .line 1215
new java.awt.image.BufferedImage
dup
iload 41 /* iw */
iload 42 /* ih */
iload 37 /* dibType */
invokespecial java.awt.image.BufferedImage.<init>:(III)V
astore 43 /* deepImage */
155: .line 1216
goto 157
156: .line 1217
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 /* iw */
iload 42 /* ih */
iload 37 /* dibType */
aload 38 /* icm */
invokespecial java.awt.image.BufferedImage.<init>:(IIILjava/awt/image/IndexColorModel;)V
astore 43 /* deepImage */
157: .line 1224
StackMap locals:
StackMap stack:
aload 43 /* deepImage */
invokevirtual java.awt.image.BufferedImage.createGraphics:()Ljava/awt/Graphics2D;
astore 45 /* imageGraphics */
start local 45 // java.awt.Graphics2D imageGraphics
158: .line 1225
aload 45 /* imageGraphics */
iconst_0
iconst_0
159: .line 1226
aload 43 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getWidth:()I
160: .line 1227
aload 43 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getHeight:()I
161: .line 1225
invokevirtual java.awt.Graphics2D.clipRect:(IIII)V
162: .line 1229
aload 45 /* imageGraphics */
aload 33 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dneg
163: .line 1230
aload 33 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dneg
164: .line 1229
invokevirtual java.awt.Graphics2D.translate:(DD)V
165: .line 1231
aload 45 /* imageGraphics */
aload 30 /* rotTransform */
invokevirtual java.awt.Graphics2D.transform:(Ljava/awt/geom/AffineTransform;)V
166: .line 1236
aload 3 /* bgcolor */
ifnonnull 168
167: .line 1237
getstatic java.awt.Color.white:Ljava/awt/Color;
astore 3 /* bgcolor */
168: .line 1240
StackMap locals: java.awt.Graphics2D
StackMap stack:
aload 45 /* imageGraphics */
aload 9 /* img */
169: .line 1241
iload 4 /* srcX */
iload 5 /* srcY */
170: .line 1242
iload 4 /* srcX */
iload 6 /* srcWidth */
iadd
171: .line 1243
iload 5 /* srcY */
iload 7 /* srcHeight */
iadd
172: .line 1244
iload 4 /* srcX */
iload 5 /* srcY */
173: .line 1245
iload 4 /* srcX */
iload 6 /* srcWidth */
iadd
174: .line 1246
iload 5 /* srcY */
iload 7 /* srcHeight */
iadd
175: .line 1247
aload 3 /* bgcolor */
aconst_null
176: .line 1240
invokevirtual java.awt.Graphics2D.drawImage:(Ljava/awt/Image;IIIIIIIILjava/awt/Color;Ljava/awt/image/ImageObserver;)Z
pop
177: .line 1248
aload 45 /* imageGraphics */
invokevirtual java.awt.Graphics2D.dispose:()V
end local 45 // java.awt.Graphics2D imageGraphics
178: .line 1249
goto 180
179: .line 1250
StackMap locals:
StackMap stack:
aload 9 /* img */
astore 43 /* deepImage */
180: .line 1261
StackMap locals:
StackMap stack:
new java.awt.geom.Rectangle2D$Float
dup
181: .line 1262
aload 33 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dload 16 /* scaleX */
dmul
d2f
182: .line 1263
aload 33 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dload 18 /* scaleY */
dmul
d2f
183: .line 1264
aload 33 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
dload 16 /* scaleX */
dmul
d2f
184: .line 1265
aload 33 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
dload 18 /* scaleY */
dmul
d2f
185: .line 1261
invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
186: .line 1260
astore 45 /* scaledBounds */
start local 45 // java.awt.geom.Rectangle2D$Float scaledBounds
187: .line 1270
aload 43 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
astore 46 /* raster */
start local 46 // java.awt.image.WritableRaster raster
188: .line 1272
aload 46 /* raster */
instanceof sun.awt.image.ByteComponentRaster
ifeq 191
189: .line 1273
aload 46 /* raster */
checkcast sun.awt.image.ByteComponentRaster
invokevirtual sun.awt.image.ByteComponentRaster.getDataStorage:()[B
astore 47 /* data */
start local 47 // byte[] data
190: .line 1274
goto 195
end local 47 // byte[] data
StackMap locals: java.awt.geom.Rectangle2D$Float java.awt.image.WritableRaster
StackMap stack:
191: aload 46 /* raster */
instanceof sun.awt.image.BytePackedRaster
ifeq 194
192: .line 1275
aload 46 /* raster */
checkcast sun.awt.image.BytePackedRaster
invokevirtual sun.awt.image.BytePackedRaster.getDataStorage:()[B
astore 47 /* data */
start local 47 // byte[] data
193: .line 1276
goto 195
end local 47 // byte[] data
194: .line 1277
StackMap locals:
StackMap stack:
iconst_0
ireturn
start local 47 // byte[] data
195: .line 1280
StackMap locals: byte[]
StackMap stack:
bipush 24
istore 48 /* bitsPerPixel */
start local 48 // int bitsPerPixel
196: .line 1281
aload 43 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getSampleModel:()Ljava/awt/image/SampleModel;
astore 49 /* sm */
start local 49 // java.awt.image.SampleModel sm
197: .line 1282
aload 49 /* sm */
instanceof java.awt.image.ComponentSampleModel
ifeq 201
198: .line 1283
aload 49 /* sm */
checkcast java.awt.image.ComponentSampleModel
astore 50 /* csm */
start local 50 // java.awt.image.ComponentSampleModel csm
199: .line 1284
aload 50 /* csm */
invokevirtual java.awt.image.ComponentSampleModel.getPixelStride:()I
bipush 8
imul
istore 48 /* bitsPerPixel */
end local 50 // java.awt.image.ComponentSampleModel csm
200: .line 1285
goto 211
StackMap locals: int java.awt.image.SampleModel
StackMap stack:
201: aload 49 /* sm */
instanceof java.awt.image.MultiPixelPackedSampleModel
ifeq 206
202: .line 1287
aload 49 /* sm */
checkcast java.awt.image.MultiPixelPackedSampleModel
203: .line 1286
astore 50 /* mppsm */
start local 50 // java.awt.image.MultiPixelPackedSampleModel mppsm
204: .line 1288
aload 50 /* mppsm */
invokevirtual java.awt.image.MultiPixelPackedSampleModel.getPixelBitStride:()I
istore 48 /* bitsPerPixel */
end local 50 // java.awt.image.MultiPixelPackedSampleModel mppsm
205: .line 1289
goto 211
206: .line 1290
StackMap locals:
StackMap stack:
aload 38 /* icm */
ifnull 211
207: .line 1291
aload 43 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getWidth:()I
istore 50 /* diw */
start local 50 // int diw
208: .line 1292
aload 43 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getHeight:()I
istore 51 /* dih */
start local 51 // int dih
209: .line 1293
iload 50 /* diw */
ifle 211
iload 51 /* dih */
ifle 211
210: .line 1294
aload 47 /* data */
arraylength
bipush 8
imul
iload 50 /* diw */
idiv
iload 51 /* dih */
idiv
istore 48 /* bitsPerPixel */
end local 51 // int dih
end local 50 // int diw
211: .line 1306
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getClip:()Ljava/awt/Shape;
astore 50 /* holdClip */
start local 50 // java.awt.Shape holdClip
212: .line 1307
aload 0 /* this */
aload 2 /* xform */
aload 31 /* srcRect */
invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
invokevirtual sun.awt.windows.WPathGraphics.clip:(Ljava/awt/Shape;)V
213: .line 1308
aload 0 /* this */
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getClip:()Ljava/awt/Shape;
aload 0 /* this */
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: .line 1310
aload 10 /* wPrinterJob */
215: .line 1311
aload 47 /* data */
aload 45 /* scaledBounds */
getfield java.awt.geom.Rectangle2D$Float.x:F
aload 45 /* scaledBounds */
getfield java.awt.geom.Rectangle2D$Float.y:F
216: .line 1312
aload 45 /* scaledBounds */
getfield java.awt.geom.Rectangle2D$Float.width:F
f2d
ldc 0.5
dadd
invokestatic java.lang.Math.rint:(D)D
d2f
217: .line 1313
aload 45 /* scaledBounds */
getfield java.awt.geom.Rectangle2D$Float.height:F
f2d
ldc 0.5
dadd
invokestatic java.lang.Math.rint:(D)D
d2f
218: .line 1314
fconst_0
fconst_0
219: .line 1315
aload 43 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getWidth:()I
i2f
aload 43 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getHeight:()I
i2f
220: .line 1316
iload 48 /* bitsPerPixel */
aload 38 /* icm */
221: .line 1310
invokevirtual sun.awt.windows.WPrinterJob.drawDIBImage:([BFFFFFFFFILjava/awt/image/IndexColorModel;)V
222: .line 1318
aload 0 /* this */
aload 50 /* holdClip */
invokevirtual sun.awt.windows.WPathGraphics.setClip:(Ljava/awt/Shape;)V
end local 50 // java.awt.Shape holdClip
end local 49 // java.awt.image.SampleModel sm
end local 48 // int bitsPerPixel
end local 47 // byte[] data
end local 46 // java.awt.image.WritableRaster raster
end local 45 // java.awt.geom.Rectangle2D$Float scaledBounds
end local 44 // boolean newImage
end local 43 // java.awt.image.BufferedImage deepImage
end local 42 // int ih
end local 41 // int iw
end local 40 // int imgType
end local 39 // java.awt.image.ColorModel cm
end local 38 // java.awt.image.IndexColorModel icm
end local 37 // int dibType
end local 36 // boolean drawOpaque
end local 35 // int boundsHeight
end local 34 // int boundsWidth
end local 33 // java.awt.geom.Rectangle2D rotBounds
end local 32 // java.awt.Shape rotShape
end local 31 // java.awt.geom.Rectangle2D$Float srcRect
end local 30 // java.awt.geom.AffineTransform rotTransform
223: .line 1323
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 // boolean clampScale
end local 28 // int transformType
end local 26 // double devScaleY
end local 24 // double devScaleX
end local 22 // double devResY
end local 20 // double devResX
end local 18 // double scaleY
end local 16 // double scaleX
end local 15 // java.awt.geom.Point2D$Float origin
end local 14 // java.awt.geom.Point2D$Float unitVectorY
end local 13 // java.awt.geom.Point2D$Float unitVectorX
end local 12 // double[] fullMatrix
end local 11 // java.awt.geom.AffineTransform fullTransform
end local 10 // sun.awt.windows.WPrinterJob wPrinterJob
end local 9 // java.awt.image.BufferedImage img
end local 8 // boolean handlingTransparency
end local 7 // int srcHeight
end local 6 // int srcWidth
end local 5 // int srcY
end local 4 // int srcX
end local 3 // java.awt.Color bgcolor
end local 2 // java.awt.geom.AffineTransform xform
end local 1 // java.awt.Image image
end local 0 // sun.awt.windows.WPathGraphics this
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 // sun.awt.windows.WPathGraphics this
start local 1 // java.awt.geom.Rectangle2D region
start local 2 // double scaleX
start local 4 // double scaleY
start local 6 // java.awt.Shape savedClip
start local 7 // java.awt.geom.AffineTransform savedTransform
0: .line 1334
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 8 /* wPrinterJob */
start local 8 // sun.awt.windows.WPrinterJob wPrinterJob
1: .line 1335
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPrintable:()Ljava/awt/print/Printable;
astore 9 /* painter */
start local 9 // java.awt.print.Printable painter
2: .line 1336
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPageFormat:()Ljava/awt/print/PageFormat;
astore 10 /* pageFormat */
start local 10 // java.awt.print.PageFormat pageFormat
3: .line 1337
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPageIndex:()I
istore 11 /* pageIndex */
start local 11 // int pageIndex
4: .line 1342
new java.awt.image.BufferedImage
dup
5: .line 1343
aload 1 /* region */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
d2i
6: .line 1344
aload 1 /* region */
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
d2i
7: .line 1345
iconst_5
8: .line 1342
invokespecial java.awt.image.BufferedImage.<init>:(III)V
astore 12 /* deepImage */
start local 12 // java.awt.image.BufferedImage deepImage
9: .line 1353
aload 12 /* deepImage */
invokevirtual java.awt.image.BufferedImage.createGraphics:()Ljava/awt/Graphics2D;
astore 13 /* g */
start local 13 // java.awt.Graphics2D g
10: .line 1354
new sun.print.ProxyGraphics2D
dup
aload 13 /* g */
aload 8 /* wPrinterJob */
invokespecial sun.print.ProxyGraphics2D.<init>:(Ljava/awt/Graphics2D;Ljava/awt/print/PrinterJob;)V
astore 14 /* proxy */
start local 14 // sun.print.ProxyGraphics2D proxy
11: .line 1355
aload 14 /* proxy */
getstatic java.awt.Color.white:Ljava/awt/Color;
invokevirtual sun.print.ProxyGraphics2D.setColor:(Ljava/awt/Color;)V
12: .line 1356
aload 14 /* proxy */
iconst_0
iconst_0
aload 12 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getWidth:()I
aload 12 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getHeight:()I
invokevirtual sun.print.ProxyGraphics2D.fillRect:(IIII)V
13: .line 1357
aload 14 /* proxy */
iconst_0
iconst_0
aload 12 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getWidth:()I
aload 12 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getHeight:()I
invokevirtual sun.print.ProxyGraphics2D.clipRect:(IIII)V
14: .line 1359
aload 14 /* proxy */
aload 1 /* region */
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dneg
aload 1 /* region */
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dneg
invokevirtual sun.print.ProxyGraphics2D.translate:(DD)V
15: .line 1363
aload 8 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.getXRes:()D
dload 2 /* scaleX */
ddiv
d2f
fstore 15 /* sourceResX */
start local 15 // float sourceResX
16: .line 1364
aload 8 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.getYRes:()D
dload 4 /* scaleY */
ddiv
d2f
fstore 16 /* sourceResY */
start local 16 // float sourceResY
17: .line 1370
aload 14 /* proxy */
fload 15 /* sourceResX */
ldc 72.0
fdiv
f2d
18: .line 1371
fload 16 /* sourceResY */
ldc 72.0
fdiv
f2d
19: .line 1370
invokevirtual sun.print.ProxyGraphics2D.scale:(DD)V
20: .line 1373
aload 14 /* proxy */
21: .line 1374
aload 8 /* wPrinterJob */
aload 10 /* pageFormat */
invokevirtual java.awt.print.PageFormat.getPaper:()Ljava/awt/print/Paper;
invokevirtual sun.awt.windows.WPrinterJob.getPhysicalPrintableX:(Ljava/awt/print/Paper;)D
dneg
22: .line 1375
aload 8 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.getXRes:()D
23: .line 1374
ddiv
24: .line 1375
ldc 72.0
25: .line 1374
dmul
26: .line 1376
aload 8 /* wPrinterJob */
aload 10 /* pageFormat */
invokevirtual java.awt.print.PageFormat.getPaper:()Ljava/awt/print/Paper;
invokevirtual sun.awt.windows.WPrinterJob.getPhysicalPrintableY:(Ljava/awt/print/Paper;)D
dneg
27: .line 1377
aload 8 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.getYRes:()D
28: .line 1376
ddiv
29: .line 1377
ldc 72.0
30: .line 1376
dmul
31: .line 1373
invokevirtual sun.print.ProxyGraphics2D.translate:(DD)V
32: .line 1379
aload 14 /* proxy */
new java.awt.geom.AffineTransform
dup
aload 0 /* this */
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: .line 1380
aload 14 /* proxy */
getstatic java.awt.Color.black:Ljava/awt/Color;
invokevirtual sun.print.ProxyGraphics2D.setPaint:(Ljava/awt/Paint;)V
34: .line 1382
aload 9 /* painter */
aload 14 /* proxy */
aload 10 /* pageFormat */
iload 11 /* pageIndex */
invokeinterface java.awt.print.Printable.print:(Ljava/awt/Graphics;Ljava/awt/print/PageFormat;I)I
pop
35: .line 1384
aload 13 /* g */
invokevirtual java.awt.Graphics2D.dispose:()V
36: .line 1393
aload 0 /* this */
aload 6 /* savedClip */
aload 7 /* savedTransform */
invokeinterface java.awt.Shape.getPathIterator:(Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/PathIterator;
invokevirtual sun.awt.windows.WPathGraphics.deviceClip:(Ljava/awt/geom/PathIterator;)V
37: .line 1403
new java.awt.geom.Rectangle2D$Float
dup
38: .line 1404
aload 1 /* region */
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dload 2 /* scaleX */
dmul
d2f
39: .line 1405
aload 1 /* region */
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dload 4 /* scaleY */
dmul
d2f
40: .line 1406
aload 1 /* region */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
dload 2 /* scaleX */
dmul
d2f
41: .line 1407
aload 1 /* region */
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
dload 4 /* scaleY */
dmul
d2f
42: .line 1403
invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
43: .line 1402
astore 17 /* scaledBounds */
start local 17 // java.awt.geom.Rectangle2D$Float scaledBounds
44: .line 1413
aload 12 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
checkcast sun.awt.image.ByteComponentRaster
45: .line 1412
astore 18 /* tile */
start local 18 // sun.awt.image.ByteComponentRaster tile
46: .line 1415
aload 8 /* wPrinterJob */
aload 18 /* tile */
invokevirtual sun.awt.image.ByteComponentRaster.getDataStorage:()[B
47: .line 1416
aload 17 /* scaledBounds */
getfield java.awt.geom.Rectangle2D$Float.x:F
aload 17 /* scaledBounds */
getfield java.awt.geom.Rectangle2D$Float.y:F
48: .line 1417
aload 17 /* scaledBounds */
getfield java.awt.geom.Rectangle2D$Float.width:F
49: .line 1418
aload 17 /* scaledBounds */
getfield java.awt.geom.Rectangle2D$Float.height:F
50: .line 1419
fconst_0
fconst_0
51: .line 1420
aload 12 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getWidth:()I
i2f
aload 12 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getHeight:()I
i2f
52: .line 1415
invokevirtual sun.awt.windows.WPrinterJob.drawImage3ByteBGR:([BFFFFFFFF)V
53: .line 1422
return
end local 18 // sun.awt.image.ByteComponentRaster tile
end local 17 // java.awt.geom.Rectangle2D$Float scaledBounds
end local 16 // float sourceResY
end local 15 // float sourceResX
end local 14 // sun.print.ProxyGraphics2D proxy
end local 13 // java.awt.Graphics2D g
end local 12 // java.awt.image.BufferedImage deepImage
end local 11 // int pageIndex
end local 10 // java.awt.print.PageFormat pageFormat
end local 9 // java.awt.print.Printable painter
end local 8 // sun.awt.windows.WPrinterJob wPrinterJob
end local 7 // java.awt.geom.AffineTransform savedTransform
end local 6 // java.awt.Shape savedClip
end local 4 // double scaleY
end local 2 // double scaleX
end local 1 // java.awt.geom.Rectangle2D region
end local 0 // sun.awt.windows.WPathGraphics this
LocalVariableTable:
Start End Slot Name Signature
0 54 0 this Lsun/awt/windows/WPathGraphics;
0 54 1 region Ljava/awt/geom/Rectangle2D;
0 54 2 scaleX D
0 54 4 scaleY D
0 54 6 savedClip Ljava/awt/Shape;
0 54 7 savedTransform Ljava/awt/geom/AffineTransform;
1 54 8 wPrinterJob Lsun/awt/windows/WPrinterJob;
2 54 9 painter Ljava/awt/print/Printable;
3 54 10 pageFormat Ljava/awt/print/PageFormat;
4 54 11 pageIndex I
9 54 12 deepImage Ljava/awt/image/BufferedImage;
10 54 13 g Ljava/awt/Graphics2D;
11 54 14 proxy Lsun/print/ProxyGraphics2D;
16 54 15 sourceResX F
17 54 16 sourceResY F
44 54 17 scaledBounds Ljava/awt/geom/Rectangle2D$Float;
46 54 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 // sun.awt.windows.WPathGraphics this
start local 1 // java.awt.geom.PathIterator pathIter
start local 2 // java.awt.Color color
0: .line 1431
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 3 /* wPrinterJob */
start local 3 // sun.awt.windows.WPrinterJob wPrinterJob
1: .line 1433
aload 0 /* this */
aload 1 /* pathIter */
invokevirtual sun.awt.windows.WPathGraphics.convertToWPath:(Ljava/awt/geom/PathIterator;)V
2: .line 1434
aload 3 /* wPrinterJob */
aload 2 /* color */
invokevirtual sun.awt.windows.WPrinterJob.selectSolidBrush:(Ljava/awt/Color;)V
3: .line 1435
aload 3 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.fillPath:()V
4: .line 1436
return
end local 3 // sun.awt.windows.WPrinterJob wPrinterJob
end local 2 // java.awt.Color color
end local 1 // java.awt.geom.PathIterator pathIter
end local 0 // sun.awt.windows.WPathGraphics this
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 // sun.awt.windows.WPathGraphics this
start local 1 // java.awt.geom.PathIterator pathIter
0: .line 1445
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 2 /* wPrinterJob */
start local 2 // sun.awt.windows.WPrinterJob wPrinterJob
1: .line 1447
aload 0 /* this */
aload 1 /* pathIter */
invokevirtual sun.awt.windows.WPathGraphics.convertToWPath:(Ljava/awt/geom/PathIterator;)V
2: .line 1448
aload 2 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.selectClipPath:()V
3: .line 1449
return
end local 2 // sun.awt.windows.WPrinterJob wPrinterJob
end local 1 // java.awt.geom.PathIterator pathIter
end local 0 // sun.awt.windows.WPathGraphics this
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 // sun.awt.windows.WPathGraphics this
start local 1 // int x
start local 2 // int y
start local 3 // int width
start local 4 // int height
start local 5 // java.awt.Color color
0: .line 1457
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getTransform:()Ljava/awt/geom/AffineTransform;
astore 6 /* deviceTransform */
start local 6 // java.awt.geom.AffineTransform deviceTransform
1: .line 1460
aload 6 /* deviceTransform */
invokevirtual java.awt.geom.AffineTransform.getType:()I
istore 7 /* transformType */
start local 7 // int transformType
2: .line 1461
iload 7 /* transformType */
3: .line 1462
bipush 48
4: .line 1461
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 /* usePath */
start local 8 // boolean usePath
7: .line 1465
iload 8 /* usePath */
ifeq 10
8: .line 1466
aload 0 /* this */
new java.awt.geom.Rectangle2D$Float
dup
iload 1 /* x */
i2f
iload 2 /* y */
i2f
iload 3 /* width */
i2f
iload 4 /* height */
i2f
invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
invokevirtual sun.awt.windows.WPathGraphics.draw:(Ljava/awt/Shape;)V
9: .line 1467
return
10: .line 1470
StackMap locals: int
StackMap stack:
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getStroke:()Ljava/awt/Stroke;
astore 9 /* stroke */
start local 9 // java.awt.Stroke stroke
11: .line 1472
aload 9 /* stroke */
instanceof java.awt.BasicStroke
ifeq 55
12: .line 1473
aload 9 /* stroke */
checkcast java.awt.BasicStroke
astore 10 /* lineStroke */
start local 10 // java.awt.BasicStroke lineStroke
13: .line 1475
aload 10 /* lineStroke */
invokevirtual java.awt.BasicStroke.getEndCap:()I
istore 11 /* endCap */
start local 11 // int endCap
14: .line 1476
aload 10 /* lineStroke */
invokevirtual java.awt.BasicStroke.getLineJoin:()I
istore 12 /* lineJoin */
start local 12 // int lineJoin
15: .line 1482
iload 11 /* endCap */
iconst_2
if_icmpne 54
16: .line 1483
iload 12 /* lineJoin */
ifne 54
17: .line 1484
aload 10 /* lineStroke */
invokevirtual java.awt.BasicStroke.getMiterLimit:()F
ldc 10.0
fcmpl
ifne 54
18: .line 1486
aload 10 /* lineStroke */
invokevirtual java.awt.BasicStroke.getLineWidth:()F
fstore 13 /* lineWidth */
start local 13 // float lineWidth
19: .line 1487
new java.awt.geom.Point2D$Float
dup
fload 13 /* lineWidth */
20: .line 1488
fload 13 /* lineWidth */
21: .line 1487
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 14 /* penSize */
start local 14 // java.awt.geom.Point2D$Float penSize
22: .line 1490
aload 6 /* deviceTransform */
aload 14 /* penSize */
aload 14 /* penSize */
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
23: .line 1491
aload 14 /* penSize */
getfield java.awt.geom.Point2D$Float.x:F
invokestatic java.lang.Math.abs:(F)F
24: .line 1492
aload 14 /* penSize */
getfield java.awt.geom.Point2D$Float.y:F
invokestatic java.lang.Math.abs:(F)F
25: .line 1491
invokestatic java.lang.Math.min:(FF)F
fstore 15 /* deviceLineWidth */
start local 15 // float deviceLineWidth
26: .line 1495
new java.awt.geom.Point2D$Float
dup
iload 1 /* x */
i2f
iload 2 /* y */
i2f
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 16 /* ul_pos */
start local 16 // java.awt.geom.Point2D$Float ul_pos
27: .line 1496
aload 6 /* deviceTransform */
aload 16 /* ul_pos */
aload 16 /* ul_pos */
invokevirtual java.awt.geom.AffineTransform.transform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
28: .line 1499
new java.awt.geom.Point2D$Float
dup
iload 1 /* x */
iload 3 /* width */
iadd
i2f
29: .line 1500
iload 2 /* y */
iload 4 /* height */
iadd
i2f
30: .line 1499
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 17 /* lr_pos */
start local 17 // java.awt.geom.Point2D$Float lr_pos
31: .line 1501
aload 6 /* deviceTransform */
aload 17 /* lr_pos */
aload 17 /* lr_pos */
invokevirtual java.awt.geom.AffineTransform.transform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
32: .line 1503
aload 17 /* lr_pos */
invokevirtual java.awt.geom.Point2D$Float.getX:()D
aload 16 /* ul_pos */
invokevirtual java.awt.geom.Point2D$Float.getX:()D
dsub
d2f
fstore 18 /* w */
start local 18 // float w
33: .line 1504
aload 17 /* lr_pos */
invokevirtual java.awt.geom.Point2D$Float.getY:()D
aload 16 /* ul_pos */
invokevirtual java.awt.geom.Point2D$Float.getY:()D
dsub
d2f
fstore 19 /* h */
start local 19 // float h
34: .line 1506
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 20 /* wPrinterJob */
start local 20 // sun.awt.windows.WPrinterJob wPrinterJob
35: .line 1509
aload 20 /* wPrinterJob */
iload 11 /* endCap */
iload 12 /* lineJoin */
36: .line 1510
fload 15 /* deviceLineWidth */
aload 5 /* color */
37: .line 1509
invokevirtual sun.awt.windows.WPrinterJob.selectStylePen:(IIFLjava/awt/Color;)Z
38: .line 1510
ifeq 43
39: .line 1511
aload 20 /* wPrinterJob */
aload 16 /* ul_pos */
invokevirtual java.awt.geom.Point2D$Float.getX:()D
d2f
40: .line 1512
aload 16 /* ul_pos */
invokevirtual java.awt.geom.Point2D$Float.getY:()D
d2f
fload 18 /* w */
fload 19 /* h */
41: .line 1511
invokevirtual sun.awt.windows.WPrinterJob.frameRect:(FFFF)V
42: .line 1513
goto 55
43: .line 1517
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 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.getXRes:()D
44: .line 1518
aload 20 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.getYRes:()D
45: .line 1517
invokestatic java.lang.Math.min:(DD)D
dstore 21 /* lowerRes */
start local 21 // double lowerRes
46: .line 1520
fload 15 /* deviceLineWidth */
f2d
dload 21 /* lowerRes */
ddiv
ldc 0.014000000432133675
dcmpg
ifge 52
47: .line 1522
aload 20 /* wPrinterJob */
fload 15 /* deviceLineWidth */
aload 5 /* color */
invokevirtual sun.awt.windows.WPrinterJob.selectPen:(FLjava/awt/Color;)V
48: .line 1523
aload 20 /* wPrinterJob */
aload 16 /* ul_pos */
invokevirtual java.awt.geom.Point2D$Float.getX:()D
d2f
49: .line 1524
aload 16 /* ul_pos */
invokevirtual java.awt.geom.Point2D$Float.getY:()D
d2f
fload 18 /* w */
fload 19 /* h */
50: .line 1523
invokevirtual sun.awt.windows.WPrinterJob.frameRect:(FFFF)V
51: .line 1525
goto 55
52: .line 1527
StackMap locals: double
StackMap stack:
aload 0 /* this */
new java.awt.geom.Rectangle2D$Float
dup
iload 1 /* x */
i2f
iload 2 /* y */
i2f
iload 3 /* width */
i2f
iload 4 /* height */
i2f
invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
invokevirtual sun.awt.windows.WPathGraphics.draw:(Ljava/awt/Shape;)V
end local 21 // double lowerRes
end local 20 // sun.awt.windows.WPrinterJob wPrinterJob
end local 19 // float h
end local 18 // float w
end local 17 // java.awt.geom.Point2D$Float lr_pos
end local 16 // java.awt.geom.Point2D$Float ul_pos
end local 15 // float deviceLineWidth
end local 14 // java.awt.geom.Point2D$Float penSize
end local 13 // float lineWidth
53: .line 1530
goto 55
54: .line 1532
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 /* this */
new java.awt.geom.Rectangle2D$Float
dup
iload 1 /* x */
i2f
iload 2 /* y */
i2f
iload 3 /* width */
i2f
iload 4 /* height */
i2f
invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
invokevirtual sun.awt.windows.WPathGraphics.draw:(Ljava/awt/Shape;)V
end local 12 // int lineJoin
end local 11 // int endCap
end local 10 // java.awt.BasicStroke lineStroke
55: .line 1535
StackMap locals:
StackMap stack:
return
end local 9 // java.awt.Stroke stroke
end local 8 // boolean usePath
end local 7 // int transformType
end local 6 // java.awt.geom.AffineTransform deviceTransform
end local 5 // java.awt.Color color
end local 4 // int height
end local 3 // int width
end local 2 // int y
end local 1 // int x
end local 0 // sun.awt.windows.WPathGraphics this
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 // sun.awt.windows.WPathGraphics this
start local 1 // int x
start local 2 // int y
start local 3 // int width
start local 4 // int height
start local 5 // java.awt.Color color
0: .line 1548
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getTransform:()Ljava/awt/geom/AffineTransform;
astore 6 /* deviceTransform */
start local 6 // java.awt.geom.AffineTransform deviceTransform
1: .line 1551
aload 6 /* deviceTransform */
invokevirtual java.awt.geom.AffineTransform.getType:()I
istore 7 /* transformType */
start local 7 // int transformType
2: .line 1552
iload 7 /* transformType */
3: .line 1553
bipush 48
4: .line 1552
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 /* usePath */
start local 8 // boolean usePath
7: .line 1555
iload 8 /* usePath */
ifeq 10
8: .line 1556
aload 0 /* this */
new java.awt.geom.Rectangle2D$Float
dup
iload 1 /* x */
i2f
iload 2 /* y */
i2f
iload 3 /* width */
i2f
iload 4 /* height */
i2f
invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
invokevirtual sun.awt.windows.WPathGraphics.fill:(Ljava/awt/Shape;)V
9: .line 1557
return
10: .line 1560
StackMap locals: int
StackMap stack:
new java.awt.geom.Point2D$Float
dup
iload 1 /* x */
i2f
iload 2 /* y */
i2f
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 9 /* tlc_pos */
start local 9 // java.awt.geom.Point2D$Float tlc_pos
11: .line 1561
aload 6 /* deviceTransform */
aload 9 /* tlc_pos */
aload 9 /* tlc_pos */
invokevirtual java.awt.geom.AffineTransform.transform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
12: .line 1563
new java.awt.geom.Point2D$Float
dup
iload 1 /* x */
iload 3 /* width */
iadd
i2f
iload 2 /* y */
iload 4 /* height */
iadd
i2f
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 10 /* brc_pos */
start local 10 // java.awt.geom.Point2D$Float brc_pos
13: .line 1564
aload 6 /* deviceTransform */
aload 10 /* brc_pos */
aload 10 /* brc_pos */
invokevirtual java.awt.geom.AffineTransform.transform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
14: .line 1566
aload 10 /* brc_pos */
invokevirtual java.awt.geom.Point2D$Float.getX:()D
aload 9 /* tlc_pos */
invokevirtual java.awt.geom.Point2D$Float.getX:()D
dsub
d2f
fstore 11 /* deviceWidth */
start local 11 // float deviceWidth
15: .line 1567
aload 10 /* brc_pos */
invokevirtual java.awt.geom.Point2D$Float.getY:()D
aload 9 /* tlc_pos */
invokevirtual java.awt.geom.Point2D$Float.getY:()D
dsub
d2f
fstore 12 /* deviceHeight */
start local 12 // float deviceHeight
16: .line 1569
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 13 /* wPrinterJob */
start local 13 // sun.awt.windows.WPrinterJob wPrinterJob
17: .line 1570
aload 13 /* wPrinterJob */
aload 9 /* tlc_pos */
invokevirtual java.awt.geom.Point2D$Float.getX:()D
d2f
aload 9 /* tlc_pos */
invokevirtual java.awt.geom.Point2D$Float.getY:()D
d2f
18: .line 1571
fload 11 /* deviceWidth */
fload 12 /* deviceHeight */
aload 5 /* color */
19: .line 1570
invokevirtual sun.awt.windows.WPrinterJob.fillRect:(FFFFLjava/awt/Color;)V
20: .line 1572
return
end local 13 // sun.awt.windows.WPrinterJob wPrinterJob
end local 12 // float deviceHeight
end local 11 // float deviceWidth
end local 10 // java.awt.geom.Point2D$Float brc_pos
end local 9 // java.awt.geom.Point2D$Float tlc_pos
end local 8 // boolean usePath
end local 7 // int transformType
end local 6 // java.awt.geom.AffineTransform deviceTransform
end local 5 // java.awt.Color color
end local 4 // int height
end local 3 // int width
end local 2 // int y
end local 1 // int x
end local 0 // sun.awt.windows.WPathGraphics this
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 // sun.awt.windows.WPathGraphics this
start local 1 // int xBegin
start local 2 // int yBegin
start local 3 // int xEnd
start local 4 // int yEnd
start local 5 // java.awt.Color color
0: .line 1581
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getStroke:()Ljava/awt/Stroke;
astore 6 /* stroke */
start local 6 // java.awt.Stroke stroke
1: .line 1583
aload 6 /* stroke */
instanceof java.awt.BasicStroke
ifeq 49
2: .line 1584
aload 6 /* stroke */
checkcast java.awt.BasicStroke
astore 7 /* lineStroke */
start local 7 // java.awt.BasicStroke lineStroke
3: .line 1586
aload 7 /* lineStroke */
invokevirtual java.awt.BasicStroke.getDashArray:()[F
ifnull 6
4: .line 1587
aload 0 /* this */
new java.awt.geom.Line2D$Float
dup
iload 1 /* xBegin */
i2f
iload 2 /* yBegin */
i2f
iload 3 /* xEnd */
i2f
iload 4 /* yEnd */
i2f
invokespecial java.awt.geom.Line2D$Float.<init>:(FFFF)V
invokevirtual sun.awt.windows.WPathGraphics.draw:(Ljava/awt/Shape;)V
5: .line 1588
return
6: .line 1591
StackMap locals: java.awt.Stroke java.awt.BasicStroke
StackMap stack:
aload 7 /* lineStroke */
invokevirtual java.awt.BasicStroke.getLineWidth:()F
fstore 8 /* lineWidth */
start local 8 // float lineWidth
7: .line 1592
new java.awt.geom.Point2D$Float
dup
fload 8 /* lineWidth */
fload 8 /* lineWidth */
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 9 /* penSize */
start local 9 // java.awt.geom.Point2D$Float penSize
8: .line 1594
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getTransform:()Ljava/awt/geom/AffineTransform;
astore 10 /* deviceTransform */
start local 10 // java.awt.geom.AffineTransform deviceTransform
9: .line 1595
aload 10 /* deviceTransform */
aload 9 /* penSize */
aload 9 /* penSize */
invokevirtual java.awt.geom.AffineTransform.deltaTransform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
10: .line 1597
aload 9 /* penSize */
getfield java.awt.geom.Point2D$Float.x:F
invokestatic java.lang.Math.abs:(F)F
11: .line 1598
aload 9 /* penSize */
getfield java.awt.geom.Point2D$Float.y:F
invokestatic java.lang.Math.abs:(F)F
12: .line 1597
invokestatic java.lang.Math.min:(FF)F
fstore 11 /* deviceLineWidth */
start local 11 // float deviceLineWidth
13: .line 1600
new java.awt.geom.Point2D$Float
dup
iload 1 /* xBegin */
i2f
iload 2 /* yBegin */
i2f
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 12 /* begin_pos */
start local 12 // java.awt.geom.Point2D$Float begin_pos
14: .line 1601
aload 10 /* deviceTransform */
aload 12 /* begin_pos */
aload 12 /* begin_pos */
invokevirtual java.awt.geom.AffineTransform.transform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
15: .line 1603
new java.awt.geom.Point2D$Float
dup
iload 3 /* xEnd */
i2f
iload 4 /* yEnd */
i2f
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 13 /* end_pos */
start local 13 // java.awt.geom.Point2D$Float end_pos
16: .line 1604
aload 10 /* deviceTransform */
aload 13 /* end_pos */
aload 13 /* end_pos */
invokevirtual java.awt.geom.AffineTransform.transform:(Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)Ljava/awt/geom/Point2D;
pop
17: .line 1606
aload 7 /* lineStroke */
invokevirtual java.awt.BasicStroke.getEndCap:()I
istore 14 /* endCap */
start local 14 // int endCap
18: .line 1607
aload 7 /* lineStroke */
invokevirtual java.awt.BasicStroke.getLineJoin:()I
istore 15 /* lineJoin */
start local 15 // int lineJoin
19: .line 1610
aload 13 /* end_pos */
invokevirtual java.awt.geom.Point2D$Float.getX:()D
aload 12 /* begin_pos */
invokevirtual java.awt.geom.Point2D$Float.getX:()D
dcmpl
ifne 22
20: .line 1611
aload 13 /* end_pos */
invokevirtual java.awt.geom.Point2D$Float.getY:()D
aload 12 /* begin_pos */
invokevirtual java.awt.geom.Point2D$Float.getY:()D
dcmpl
ifne 22
21: .line 1616
iconst_1
istore 14 /* endCap */
22: .line 1620
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 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 16 /* wPrinterJob */
start local 16 // sun.awt.windows.WPrinterJob wPrinterJob
23: .line 1623
aload 16 /* wPrinterJob */
iload 14 /* endCap */
iload 15 /* lineJoin */
24: .line 1624
fload 11 /* deviceLineWidth */
aload 5 /* color */
25: .line 1623
invokevirtual sun.awt.windows.WPrinterJob.selectStylePen:(IIFLjava/awt/Color;)Z
26: .line 1624
ifeq 34
27: .line 1625
aload 16 /* wPrinterJob */
aload 12 /* begin_pos */
invokevirtual java.awt.geom.Point2D$Float.getX:()D
d2f
28: .line 1626
aload 12 /* begin_pos */
invokevirtual java.awt.geom.Point2D$Float.getY:()D
d2f
29: .line 1625
invokevirtual sun.awt.windows.WPrinterJob.moveTo:(FF)V
30: .line 1627
aload 16 /* wPrinterJob */
aload 13 /* end_pos */
invokevirtual java.awt.geom.Point2D$Float.getX:()D
d2f
31: .line 1628
aload 13 /* end_pos */
invokevirtual java.awt.geom.Point2D$Float.getY:()D
d2f
32: .line 1627
invokevirtual sun.awt.windows.WPrinterJob.lineTo:(FF)V
33: .line 1629
goto 49
34: .line 1638
StackMap locals: sun.awt.windows.WPrinterJob
StackMap stack:
aload 16 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.getXRes:()D
35: .line 1639
aload 16 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.getYRes:()D
36: .line 1638
invokestatic java.lang.Math.min:(DD)D
dstore 17 /* lowerRes */
start local 17 // double lowerRes
37: .line 1641
iload 14 /* endCap */
iconst_1
if_icmpeq 40
38: .line 1642
iload 1 /* xBegin */
iload 3 /* xEnd */
if_icmpeq 39
iload 2 /* yBegin */
iload 4 /* yEnd */
if_icmpne 48
39: .line 1643
StackMap locals: double
StackMap stack:
fload 11 /* deviceLineWidth */
f2d
dload 17 /* lowerRes */
ddiv
ldc 0.014000000432133675
dcmpg
ifge 48
40: .line 1645
StackMap locals:
StackMap stack:
aload 16 /* wPrinterJob */
fload 11 /* deviceLineWidth */
aload 5 /* color */
invokevirtual sun.awt.windows.WPrinterJob.selectPen:(FLjava/awt/Color;)V
41: .line 1646
aload 16 /* wPrinterJob */
aload 12 /* begin_pos */
invokevirtual java.awt.geom.Point2D$Float.getX:()D
d2f
42: .line 1647
aload 12 /* begin_pos */
invokevirtual java.awt.geom.Point2D$Float.getY:()D
d2f
43: .line 1646
invokevirtual sun.awt.windows.WPrinterJob.moveTo:(FF)V
44: .line 1648
aload 16 /* wPrinterJob */
aload 13 /* end_pos */
invokevirtual java.awt.geom.Point2D$Float.getX:()D
d2f
45: .line 1649
aload 13 /* end_pos */
invokevirtual java.awt.geom.Point2D$Float.getY:()D
d2f
46: .line 1648
invokevirtual sun.awt.windows.WPrinterJob.lineTo:(FF)V
47: .line 1650
goto 49
48: .line 1652
StackMap locals:
StackMap stack:
aload 0 /* this */
new java.awt.geom.Line2D$Float
dup
iload 1 /* xBegin */
i2f
iload 2 /* yBegin */
i2f
iload 3 /* xEnd */
i2f
iload 4 /* yEnd */
i2f
invokespecial java.awt.geom.Line2D$Float.<init>:(FFFF)V
invokevirtual sun.awt.windows.WPathGraphics.draw:(Ljava/awt/Shape;)V
end local 17 // double lowerRes
end local 16 // sun.awt.windows.WPrinterJob wPrinterJob
end local 15 // int lineJoin
end local 14 // int endCap
end local 13 // java.awt.geom.Point2D$Float end_pos
end local 12 // java.awt.geom.Point2D$Float begin_pos
end local 11 // float deviceLineWidth
end local 10 // java.awt.geom.AffineTransform deviceTransform
end local 9 // java.awt.geom.Point2D$Float penSize
end local 8 // float lineWidth
end local 7 // java.awt.BasicStroke lineStroke
49: .line 1656
StackMap locals: sun.awt.windows.WPathGraphics int int int int java.awt.Color java.awt.Stroke
StackMap stack:
return
end local 6 // java.awt.Stroke stroke
end local 5 // java.awt.Color color
end local 4 // int yEnd
end local 3 // int xEnd
end local 2 // int yBegin
end local 1 // int xBegin
end local 0 // sun.awt.windows.WPathGraphics this
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 // sun.awt.windows.WPathGraphics this
start local 1 // java.awt.geom.PathIterator pathIter
0: .line 1666
bipush 6
newarray 6
astore 2 /* segment */
start local 2 // float[] segment
1: .line 1669
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
checkcast sun.awt.windows.WPrinterJob
astore 4 /* wPrinterJob */
start local 4 // sun.awt.windows.WPrinterJob wPrinterJob
2: .line 1675
aload 1 /* pathIter */
invokeinterface java.awt.geom.PathIterator.getWindingRule:()I
ifne 5
3: .line 1676
iconst_1
istore 5 /* polyFillRule */
start local 5 // int polyFillRule
4: .line 1677
goto 6
end local 5 // int polyFillRule
5: .line 1678
StackMap locals: sun.awt.windows.WPathGraphics java.awt.geom.PathIterator float[] top sun.awt.windows.WPrinterJob
StackMap stack:
iconst_2
istore 5 /* polyFillRule */
start local 5 // int polyFillRule
6: .line 1680
StackMap locals: int
StackMap stack:
aload 4 /* wPrinterJob */
iload 5 /* polyFillRule */
invokevirtual sun.awt.windows.WPrinterJob.setPolyFillMode:(I)V
7: .line 1682
aload 4 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.beginPath:()V
8: .line 1684
goto 33
9: .line 1685
StackMap locals:
StackMap stack:
aload 1 /* pathIter */
aload 2 /* segment */
invokeinterface java.awt.geom.PathIterator.currentSegment:([F)I
istore 3 /* segmentType */
start local 3 // int segmentType
10: .line 1687
iload 3 /* segmentType */
tableswitch { // 0 - 4
0: 11
1: 13
2: 15
3: 26
4: 31
default: 32
}
11: .line 1689
StackMap locals: sun.awt.windows.WPathGraphics java.awt.geom.PathIterator float[] int sun.awt.windows.WPrinterJob int
StackMap stack:
aload 4 /* wPrinterJob */
aload 2 /* segment */
iconst_0
faload
aload 2 /* segment */
iconst_1
faload
invokevirtual sun.awt.windows.WPrinterJob.moveTo:(FF)V
12: .line 1690
goto 32
13: .line 1693
StackMap locals:
StackMap stack:
aload 4 /* wPrinterJob */
aload 2 /* segment */
iconst_0
faload
aload 2 /* segment */
iconst_1
faload
invokevirtual sun.awt.windows.WPrinterJob.lineTo:(FF)V
14: .line 1694
goto 32
15: .line 1699
StackMap locals:
StackMap stack:
aload 4 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.getPenX:()I
istore 6 /* lastX */
start local 6 // int lastX
16: .line 1700
aload 4 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.getPenY:()I
istore 7 /* lastY */
start local 7 // int lastY
17: .line 1701
iload 6 /* lastX */
i2f
aload 2 /* segment */
iconst_0
faload
iload 6 /* lastX */
i2f
fsub
fconst_2
fmul
ldc 3.0
fdiv
fadd
fstore 8 /* c1x */
start local 8 // float c1x
18: .line 1702
iload 7 /* lastY */
i2f
aload 2 /* segment */
iconst_1
faload
iload 7 /* lastY */
i2f
fsub
fconst_2
fmul
ldc 3.0
fdiv
fadd
fstore 9 /* c1y */
start local 9 // float c1y
19: .line 1703
aload 2 /* segment */
iconst_2
faload
aload 2 /* segment */
iconst_2
faload
aload 2 /* segment */
iconst_0
faload
fsub
fconst_2
fmul
ldc 3.0
fdiv
fsub
fstore 10 /* c2x */
start local 10 // float c2x
20: .line 1704
aload 2 /* segment */
iconst_3
faload
aload 2 /* segment */
iconst_3
faload
aload 2 /* segment */
iconst_1
faload
fsub
fconst_2
fmul
ldc 3.0
fdiv
fsub
fstore 11 /* c2y */
start local 11 // float c2y
21: .line 1705
aload 4 /* wPrinterJob */
fload 8 /* c1x */
fload 9 /* c1y */
22: .line 1706
fload 10 /* c2x */
fload 11 /* c2y */
23: .line 1707
aload 2 /* segment */
iconst_2
faload
aload 2 /* segment */
iconst_3
faload
24: .line 1705
invokevirtual sun.awt.windows.WPrinterJob.polyBezierTo:(FFFFFF)V
25: .line 1708
goto 32
end local 11 // float c2y
end local 10 // float c2x
end local 9 // float c1y
end local 8 // float c1x
end local 7 // int lastY
end local 6 // int lastX
26: .line 1711
StackMap locals:
StackMap stack:
aload 4 /* wPrinterJob */
aload 2 /* segment */
iconst_0
faload
aload 2 /* segment */
iconst_1
faload
27: .line 1712
aload 2 /* segment */
iconst_2
faload
aload 2 /* segment */
iconst_3
faload
28: .line 1713
aload 2 /* segment */
iconst_4
faload
aload 2 /* segment */
iconst_5
faload
29: .line 1711
invokevirtual sun.awt.windows.WPrinterJob.polyBezierTo:(FFFFFF)V
30: .line 1714
goto 32
31: .line 1717
StackMap locals:
StackMap stack:
aload 4 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.closeFigure:()V
32: .line 1722
StackMap locals:
StackMap stack:
aload 1 /* pathIter */
invokeinterface java.awt.geom.PathIterator.next:()V
end local 3 // int segmentType
33: .line 1684
StackMap locals: sun.awt.windows.WPathGraphics java.awt.geom.PathIterator float[] top sun.awt.windows.WPrinterJob int
StackMap stack:
aload 1 /* pathIter */
invokeinterface java.awt.geom.PathIterator.isDone:()Z
ifeq 9
34: .line 1725
aload 4 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.endPath:()V
35: .line 1727
return
end local 5 // int polyFillRule
end local 4 // sun.awt.windows.WPrinterJob wPrinterJob
end local 2 // float[] segment
end local 1 // java.awt.geom.PathIterator pathIter
end local 0 // sun.awt.windows.WPathGraphics this
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