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 90
iconst_1
putstatic sun.awt.windows.WPathGraphics.useGDITextLayout:Z
1: .line 91
iconst_0
putstatic sun.awt.windows.WPathGraphics.preferGDITextLayout:Z
2: .line 95
new sun.security.action.GetPropertyAction
dup
3: .line 96
ldc "sun.java2d.print.enableGDITextLayout"
4: .line 95
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
5: .line 94
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
6: .line 93
astore 0 /* textLayoutStr */
start local 0 // java.lang.String textLayoutStr
7: .line 98
aload 0 /* textLayoutStr */
ifnull 13
8: .line 99
aload 0 /* textLayoutStr */
invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
putstatic sun.awt.windows.WPathGraphics.useGDITextLayout:Z
9: .line 100
getstatic sun.awt.windows.WPathGraphics.useGDITextLayout:Z
ifne 13
10: .line 101
aload 0 /* textLayoutStr */
ldc "prefer"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 13
11: .line 102
iconst_1
putstatic sun.awt.windows.WPathGraphics.useGDITextLayout:Z
12: .line 103
iconst_1
putstatic sun.awt.windows.WPathGraphics.preferGDITextLayout:Z
end local 0 // java.lang.String textLayoutStr
13: .line 107
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 112
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 113
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 124
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 125
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPrinterJob:()Ljava/awt/print/PrinterJob;
2: .line 126
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPrintable:()Ljava/awt/print/Printable;
3: .line 127
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPageFormat:()Ljava/awt/print/PageFormat;
4: .line 128
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPageIndex:()I
5: .line 129
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.canDoRedraws:()Z
6: .line 124
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 148
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getStroke:()Ljava/awt/Stroke;
astore 2 /* stroke */
start local 2 // java.awt.Stroke stroke
1: .line 155
aload 2 /* stroke */
instanceof java.awt.BasicStroke
ifeq 35
2: .line 157
aconst_null
astore 4 /* minLineStroke */
start local 4 // java.awt.BasicStroke minLineStroke
3: .line 165
aload 2 /* stroke */
checkcast java.awt.BasicStroke
astore 3 /* lineStroke */
start local 3 // java.awt.BasicStroke lineStroke
4: .line 166
aload 3 /* lineStroke */
invokevirtual java.awt.BasicStroke.getLineWidth:()F
fstore 6 /* lineWidth */
start local 6 // float lineWidth
5: .line 167
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 175
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 176
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 177
aload 8 /* penSize */
getfield java.awt.geom.Point2D$Float.x:F
invokestatic java.lang.Math.abs:(F)F
9: .line 178
aload 8 /* penSize */
getfield java.awt.geom.Point2D$Float.y:F
invokestatic java.lang.Math.abs:(F)F
10: .line 177
invokestatic java.lang.Math.min:(FF)F
fstore 5 /* deviceLineWidth */
start local 5 // float deviceLineWidth
11: .line 184
fload 5 /* deviceLineWidth */
ldc 1.2
fcmpg
ifge 31
12: .line 186
new java.awt.geom.Point2D$Float
dup
13: .line 187
ldc 1.2
14: .line 188
ldc 1.2
15: .line 186
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 9 /* minPenSize */
start local 9 // java.awt.geom.Point2D$Float minPenSize
16: .line 197
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 198
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 200
aload 9 /* minPenSize */
getfield java.awt.geom.Point2D$Float.x:F
invokestatic java.lang.Math.abs:(F)F
19: .line 201
aload 9 /* minPenSize */
getfield java.awt.geom.Point2D$Float.y:F
invokestatic java.lang.Math.abs:(F)F
20: .line 200
invokestatic java.lang.Math.max:(FF)F
fstore 11 /* minLineWidth */
start local 11 // float minLineWidth
21: .line 207
new java.awt.BasicStroke
dup
fload 11 /* minLineWidth */
22: .line 208
aload 3 /* lineStroke */
invokevirtual java.awt.BasicStroke.getEndCap:()I
23: .line 209
aload 3 /* lineStroke */
invokevirtual java.awt.BasicStroke.getLineJoin:()I
24: .line 210
aload 3 /* lineStroke */
invokevirtual java.awt.BasicStroke.getMiterLimit:()F
25: .line 211
aload 3 /* lineStroke */
invokevirtual java.awt.BasicStroke.getDashArray:()[F
26: .line 212
aload 3 /* lineStroke */
invokevirtual java.awt.BasicStroke.getDashPhase:()F
27: .line 207
invokespecial java.awt.BasicStroke.<init>:(FIIF[FF)V
astore 4 /* minLineStroke */
28: .line 213
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 215
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 223
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* s */
invokespecial sun.print.PathGraphics.draw:(Ljava/awt/Shape;)V
32: .line 229
aload 4 /* minLineStroke */
ifnull 36
33: .line 230
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 236
goto 36
35: .line 237
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 239
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 254
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 255
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 258
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 259
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 275
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 276
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 277
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 278
aload 4 /* fontTransform */
invokevirtual java.awt.geom.AffineTransform.getType:()I
istore 5 /* transformType */
start local 5 // int transformType
4: .line 281
iload 5 /* transformType */
5: .line 282
bipush 32
6: .line 281
if_icmpeq 9
7: .line 283
iload 5 /* transformType */
bipush 64
iand
ifne 9
8: .line 281
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 286
iload 6 /* directToGDI */
ifne 13
12: .line 287
iconst_0
ireturn
13: .line 297
StackMap locals: int
StackMap stack:
aload 1 /* font */
invokestatic sun.font.FontManager.getFont2D:(Ljava/awt/Font;)Lsun/font/Font2D;
astore 7 /* font2D */
start local 7 // sun.font.Font2D font2D
14: .line 298
aload 7 /* font2D */
instanceof sun.font.CompositeFont
ifne 16
15: .line 299
aload 7 /* font2D */
instanceof sun.font.TrueTypeFont
ifeq 17
16: .line 300
StackMap locals: sun.font.Font2D
StackMap stack:
iconst_1
ireturn
17: .line 302
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 307
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 308
aload 0 /* osVersion */
ifnull 5
2: .line 309
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 310
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 312
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 322
aload 1 /* str */
invokevirtual java.lang.String.toCharArray:()[C
astore 3 /* chars */
start local 3 // char[] chars
1: .line 323
aload 3 /* chars */
iconst_0
aload 3 /* chars */
arraylength
invokestatic sun.font.FontManager.isComplexText:([CII)Z
istore 4 /* isComplex */
start local 4 // boolean isComplex
2: .line 324
iload 4 /* isComplex */
ifne 4
3: .line 325
iconst_0
ireturn
4: .line 326
StackMap locals: char[] int
StackMap stack:
getstatic sun.awt.windows.WPathGraphics.useGDITextLayout:Z
ifne 6
5: .line 327
iconst_1
ireturn
6: .line 329
StackMap locals:
StackMap stack:
getstatic sun.awt.windows.WPathGraphics.preferGDITextLayout:Z
ifne 8
7: .line 330
invokestatic sun.awt.windows.WPathGraphics.isXP:()Z
ifeq 9
aload 2 /* font */
invokestatic sun.font.FontManager.textLayoutIsCompatible:(Ljava/awt/Font;)Z
ifeq 9
8: .line 331
StackMap locals:
StackMap stack:
iconst_0
ireturn
9: .line 333
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 343
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 344
dload 2 /* angle */
dconst_0
dcmpg
ifge 3
2: .line 345
dload 2 /* angle */
ldc 360.0
dadd
dstore 2 /* angle */
3: .line 353
StackMap locals: double
StackMap stack:
dload 2 /* angle */
dconst_0
dcmpl
ifeq 5
4: .line 354
ldc 360.0
dload 2 /* angle */
dsub
dstore 2 /* angle */
5: .line 356
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 361
dload 1 /* scaleFactorX */
dload 3 /* scaleFactorY */
ddiv
d2f
fstore 5 /* awScale */
start local 5 // float awScale
1: .line 363
fload 5 /* awScale */
ldc 0.999
fcmpl
ifle 3
fload 5 /* awScale */
ldc 1.001
fcmpg
ifge 3
2: .line 364
fconst_1
fstore 5 /* awScale */
3: .line 366
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 393
aload 1 /* str */
invokevirtual java.lang.String.length:()I
ifne 2
1: .line 394
return
2: .line 397
StackMap locals:
StackMap stack:
getstatic sun.awt.windows.WPrinterJob.shapeTextProp:Z
ifeq 5
3: .line 398
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 399
return
5: .line 413
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 414
aload 4 /* font */
invokevirtual java.awt.Font.hasLayoutAttributes:()Z
ifne 7
iload 7 /* layoutNeeded */
ifeq 11
7: .line 415
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.awt.windows.WPathGraphics.printingGlyphVector:Z
ifne 11
8: .line 416
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 417
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 418
return
end local 8 // java.awt.font.TextLayout layout
11: .line 419
StackMap locals:
StackMap stack:
iload 7 /* layoutNeeded */
ifeq 14
12: .line 420
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 421
return
14: .line 424
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 425
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 426
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 427
aload 9 /* fontTransform */
invokevirtual java.awt.geom.AffineTransform.getType:()I
istore 10 /* transformType */
start local 10 // int transformType
18: .line 434
iload 10 /* transformType */
19: .line 435
bipush 32
20: .line 434
if_icmpeq 23
21: .line 436
iload 10 /* transformType */
bipush 64
iand
ifne 23
22: .line 434
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 439
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 441
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 442
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 443
iconst_0
istore 11 /* directToGDI */
30: .line 446
StackMap locals:
StackMap stack:
iload 11 /* directToGDI */
ifne 33
31: .line 447
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 448
return
33: .line 459
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 460
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 465
aload 4 /* font */
invokevirtual java.awt.Font.isTransformed:()Z
ifeq 42
36: .line 466
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 467
aload 15 /* fontTx */
invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
d2f
fstore 16 /* translateX */
start local 16 // float translateX
38: .line 468
aload 15 /* fontTx */
invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
d2f
fstore 17 /* translateY */
start local 17 // float translateY
39: .line 469
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 470
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 471
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 473
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 475
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getClip:()Ljava/awt/Shape;
ifnull 45
44: .line 476
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 486
StackMap locals:
StackMap stack:
aload 4 /* font */
invokevirtual java.awt.Font.getSize2D:()F
fstore 15 /* fontSize */
start local 15 // float fontSize
46: .line 488
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 489
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 490
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 491
fload 15 /* fontSize */
f2d
dload 17 /* scaleFactorY */
dmul
d2f
fstore 19 /* scaledFontSizeY */
start local 19 // float scaledFontSizeY
50: .line 493
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 494
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 495
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 498
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 499
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 501
aload 4 /* font */
invokestatic sun.font.FontManager.getFont2D:(Ljava/awt/Font;)Lsun/font/Font2D;
astore 25 /* font2D */
start local 25 // sun.font.Font2D font2D
56: .line 502
aload 25 /* font2D */
instanceof sun.font.TrueTypeFont
ifeq 63
57: .line 503
aload 0 /* this */
aload 1 /* str */
aload 4 /* font */
aload 25 /* font2D */
checkcast sun.font.TrueTypeFont
aload 5 /* frc */
58: .line 504
fload 19 /* scaledFontSizeY */
iload 24 /* iangle */
fload 23 /* awScale */
59: .line 505
aload 8 /* deviceTransform */
dload 21 /* scaleFactorX */
60: .line 506
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 503
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 507
goto 97
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 96
64: .line 515
aload 25 /* font2D */
checkcast sun.font.CompositeFont
astore 26 /* compFont */
start local 26 // sun.font.CompositeFont compFont
65: .line 516
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 517
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 518
aload 1 /* str */
invokevirtual java.lang.String.toCharArray:()[C
astore 31 /* chars */
start local 31 // char[] chars
70: .line 519
aload 31 /* chars */
arraylength
istore 32 /* len */
start local 32 // int len
71: .line 520
iload 32 /* len */
newarray 10
astore 33 /* glyphs */
start local 33 // int[] glyphs
72: .line 521
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 523
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 524
goto 94
77: .line 526
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 527
aload 33 /* glyphs */
iload 34 /* startChar */
iaload
bipush 24
iushr
istore 36 /* slot */
79: .line 529
goto 81
80: .line 530
StackMap locals:
StackMap stack:
iinc 35 /* endChar */ 1
81: .line 529
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 532
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 533
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 534
aload 0 /* this */
aload 37 /* substr */
aload 4 /* font */
aload 38 /* slotFont */
aload 5 /* frc */
85: .line 535
fload 19 /* scaledFontSizeY */
iload 24 /* iangle */
fload 23 /* awScale */
86: .line 536
aload 8 /* deviceTransform */
dload 21 /* scaleFactorX */
87: .line 537
fload 27 /* userx */
fload 28 /* usery */
fload 29 /* devx */
fload 30 /* devy */
fconst_0
88: .line 534
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 538
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 539
aload 39 /* bds */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
d2f
fstore 40 /* xAdvance */
start local 40 // float xAdvance
91: .line 540
fload 27 /* userx */
fload 40 /* xAdvance */
fadd
fstore 27 /* userx */
92: .line 541
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 542
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
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
94: .line 524
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
95: .line 544
goto 97
96: .line 545
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
97: .line 547
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 98 0 this Lsun/awt/windows/WPathGraphics;
0 98 1 str Ljava/lang/String;
0 98 2 x F
0 98 3 y F
0 98 4 font Ljava/awt/Font;
0 98 5 frc Ljava/awt/font/FontRenderContext;
0 98 6 targetW F
6 98 7 layoutNeeded Z
9 11 8 layout Ljava/awt/font/TextLayout;
15 98 8 deviceTransform Ljava/awt/geom/AffineTransform;
16 98 9 fontTransform Ljava/awt/geom/AffineTransform;
18 98 10 transformType I
25 98 11 directToGDI Z
26 98 12 wPrinterJob Lsun/awt/windows/WPrinterJob;
34 98 13 userpos Ljava/awt/geom/Point2D$Float;
35 98 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 98 15 fontSize F
47 98 16 pty Ljava/awt/geom/Point2D$Double;
49 98 17 scaleFactorY D
50 98 19 scaledFontSizeY F
51 98 20 ptx Ljava/awt/geom/Point2D$Double;
53 98 21 scaleFactorX D
54 98 23 awScale F
55 98 24 iangle I
56 98 25 font2D Lsun/font/Font2D;
65 95 26 compFont Lsun/font/CompositeFont;
66 95 27 userx F
67 95 28 usery F
68 95 29 devx F
69 95 30 devy F
70 95 31 chars [C
71 95 32 len I
72 95 33 glyphs [I
74 95 34 startChar I
75 95 35 endChar I
76 95 36 slot I
83 94 37 substr Ljava/lang/String;
84 94 38 slotFont Lsun/font/PhysicalFont;
90 94 39 bds Ljava/awt/geom/Rectangle2D;
91 94 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 557
aload 1 /* gv */
invokevirtual java.awt.font.GlyphVector.getLayoutFlags:()I
iconst_1
iand
ifeq 2
1: .line 558
iconst_0
ireturn
2: .line 561
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 562
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 563
aload 1 /* gv */
invokevirtual java.awt.font.GlyphVector.getFont:()Ljava/awt/Font;
astore 6 /* font */
start local 6 // java.awt.Font font
5: .line 564
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 565
aload 5 /* fontTransform */
invokevirtual java.awt.geom.AffineTransform.getType:()I
istore 7 /* transformType */
start local 7 // int transformType
7: .line 573
iload 7 /* transformType */
bipush 32
if_icmpeq 10
8: .line 574
iload 7 /* transformType */
bipush 64
iand
ifne 10
9: .line 572
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 576
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 578
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 579
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 580
iconst_0
istore 8 /* directToGDI */
17: .line 583
StackMap locals:
StackMap stack:
getstatic sun.awt.windows.WPrinterJob.shapeTextProp:Z
ifne 18
iload 8 /* directToGDI */
ifne 19
18: .line 584
StackMap locals:
StackMap stack:
iconst_0
ireturn
19: .line 589
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 590
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 595
aload 6 /* font */
invokevirtual java.awt.Font.isTransformed:()Z
ifeq 28
22: .line 596
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 597
aload 12 /* fontTx */
invokevirtual java.awt.geom.AffineTransform.getTranslateX:()D
d2f
fstore 13 /* translateX */
start local 13 // float translateX
24: .line 598
aload 12 /* fontTx */
invokevirtual java.awt.geom.AffineTransform.getTranslateY:()D
d2f
fstore 14 /* translateY */
start local 14 // float translateY
25: .line 599
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 600
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 601
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 603
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 605
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getClip:()Ljava/awt/Shape;
ifnull 31
30: .line 606
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 616
StackMap locals:
StackMap stack:
aload 6 /* font */
invokevirtual java.awt.Font.getSize2D:()F
fstore 12 /* fontSize */
start local 12 // float fontSize
32: .line 618
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 619
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 620
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 621
fload 12 /* fontSize */
f2d
dload 14 /* scaleFactorY */
dmul
d2f
fstore 16 /* scaledFontSizeY */
start local 16 // float scaledFontSizeY
36: .line 623
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 624
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 625
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 628
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 629
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 631
aload 1 /* gv */
invokevirtual java.awt.font.GlyphVector.getNumGlyphs:()I
istore 22 /* numGlyphs */
start local 22 // int numGlyphs
42: .line 632
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 633
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 646
iconst_0
istore 25 /* invisibleGlyphCnt */
start local 25 // int invisibleGlyphCnt
45: .line 647
iconst_0
istore 26 /* gc */
start local 26 // int gc
46: goto 51
47: .line 648
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 649
ldc 65534
if_icmplt 50
49: .line 650
iinc 25 /* invisibleGlyphCnt */ 1
50: .line 647
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 653
iload 25 /* invisibleGlyphCnt */
ifle 70
53: .line 654
iload 22 /* numGlyphs */
iload 25 /* invisibleGlyphCnt */
isub
istore 26 /* visibleGlyphCnt */
start local 26 // int visibleGlyphCnt
54: .line 655
iload 26 /* visibleGlyphCnt */
newarray 10
astore 27 /* visibleGlyphCodes */
start local 27 // int[] visibleGlyphCodes
55: .line 656
iload 26 /* visibleGlyphCnt */
iconst_2
imul
newarray 6
astore 28 /* visiblePositions */
start local 28 // float[] visiblePositions
56: .line 657
iconst_0
istore 29 /* index */
start local 29 // int index
57: .line 658
iconst_0
istore 30 /* i */
start local 30 // int i
58: goto 66
59: .line 659
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 660
ldc 65534
if_icmpge 65
61: .line 661
aload 27 /* visibleGlyphCodes */
iload 29 /* index */
aload 23 /* glyphCodes */
iload 30 /* i */
iaload
iastore
62: .line 662
aload 28 /* visiblePositions */
iload 29 /* index */
iconst_2
imul
aload 24 /* glyphPos */
iload 30 /* i */
iconst_2
imul
faload
fastore
63: .line 663
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 664
iinc 29 /* index */ 1
65: .line 658
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 667
iload 26 /* visibleGlyphCnt */
istore 22 /* numGlyphs */
68: .line 668
aload 27 /* visibleGlyphCodes */
astore 23 /* glyphCodes */
69: .line 669
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 688
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 687
astore 26 /* advanceTransform */
start local 26 // java.awt.geom.AffineTransform advanceTransform
72: .line 689
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 690
aload 24 /* glyphPos */
arraylength
newarray 6
astore 27 /* glyphAdvPos */
start local 27 // float[] glyphAdvPos
74: .line 692
aload 26 /* advanceTransform */
aload 24 /* glyphPos */
iconst_0
75: .line 693
aload 27 /* glyphAdvPos */
iconst_0
76: .line 694
aload 24 /* glyphPos */
arraylength
iconst_2
idiv
77: .line 692
invokevirtual java.awt.geom.AffineTransform.transform:([FI[FII)V
78: .line 696
aload 6 /* font */
invokestatic sun.font.FontManager.getFont2D:(Ljava/awt/Font;)Lsun/font/Font2D;
astore 28 /* font2D */
start local 28 // sun.font.Font2D font2D
79: .line 697
aload 28 /* font2D */
instanceof sun.font.TrueTypeFont
ifeq 89
80: .line 698
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 699
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 700
aload 9 /* wPrinterJob */
aload 29 /* family */
fload 16 /* scaledFontSizeY */
iload 30 /* style */
83: .line 701
iload 21 /* iangle */
fload 20 /* awScale */
84: .line 700
invokevirtual sun.awt.windows.WPrinterJob.setFont:(Ljava/lang/String;FIIF)Z
85: .line 701
ifne 87
86: .line 702
iconst_0
ireturn
87: .line 704
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 706
goto 128
StackMap locals:
StackMap stack:
89: aload 28 /* font2D */
instanceof sun.font.CompositeFont
ifeq 127
90: .line 714
aload 28 /* font2D */
checkcast sun.font.CompositeFont
astore 29 /* compFont */
start local 29 // sun.font.CompositeFont compFont
91: .line 716
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 718
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 719
goto 125
97: .line 721
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 722
aload 23 /* glyphCodes */
iload 32 /* start */
iaload
bipush 24
iushr
istore 34 /* slot */
99: .line 724
goto 101
100: .line 725
StackMap locals:
StackMap stack:
iinc 33 /* end */ 1
101: .line 724
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 733
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 734
aload 35 /* slotFont */
instanceof sun.font.TrueTypeFont
ifne 105
104: .line 735
iconst_0
ireturn
105: .line 737
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 738
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 739
aload 9 /* wPrinterJob */
aload 36 /* family */
fload 16 /* scaledFontSizeY */
iload 37 /* style */
108: .line 740
iload 21 /* iangle */
fload 20 /* awScale */
109: .line 739
invokevirtual sun.awt.windows.WPrinterJob.setFont:(Ljava/lang/String;FIIF)Z
110: .line 740
ifne 112
111: .line 741
iconst_0
ireturn
112: .line 744
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 745
aload 27 /* glyphAdvPos */
114: .line 746
iload 32 /* start */
iconst_2
imul
iload 33 /* end */
iconst_2
imul
115: .line 745
invokestatic java.util.Arrays.copyOfRange:([FII)[F
astore 39 /* posns */
start local 39 // float[] posns
116: .line 747
iload 32 /* start */
ifeq 124
117: .line 749
new java.awt.geom.Point2D$Float
dup
fload 2 /* x */
aload 24 /* glyphPos */
iload 32 /* start */
iconst_2
imul
faload
fadd
118: .line 750
fload 3 /* y */
aload 24 /* glyphPos */
iload 32 /* start */
iconst_2
imul
iconst_1
iadd
faload
fadd
119: .line 749
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
120: .line 748
astore 40 /* p */
start local 40 // java.awt.geom.Point2D$Float p
121: .line 751
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 752
aload 40 /* p */
getfield java.awt.geom.Point2D$Float.x:F
fstore 30 /* devx */
123: .line 753
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 755
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 719
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 757
goto 128
127: .line 758
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 760
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 772
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 773
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 774
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 775
aload 18 /* wPrinterJob */
aload 16 /* family */
fload 5 /* deviceSize */
iload 17 /* style */
4: .line 776
iload 6 /* rotation */
fload 7 /* awScale */
5: .line 775
invokevirtual sun.awt.windows.WPrinterJob.setFont:(Ljava/lang/String;FIIF)Z
istore 19 /* setFont */
start local 19 // boolean setFont
6: .line 777
iload 19 /* setFont */
ifne 9
7: .line 778
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 779
return
9: .line 782
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 783
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 791
aload 18 /* wPrinterJob */
aload 1 /* str */
invokevirtual sun.awt.windows.WPrinterJob.removeControlChars:(Ljava/lang/String;)Ljava/lang/String;
astore 1 /* str */
12: .line 792
aload 1 /* str */
invokevirtual java.lang.String.toCharArray:()[C
astore 21 /* chars */
start local 21 // char[] chars
13: .line 793
aload 21 /* chars */
arraylength
istore 22 /* len */
start local 22 // int len
14: .line 794
aconst_null
astore 23 /* gv */
start local 23 // java.awt.font.GlyphVector gv
15: .line 795
aload 21 /* chars */
iconst_0
iload 22 /* len */
invokestatic sun.font.FontManager.isComplexText:([CII)Z
ifne 17
16: .line 796
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 798
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 799
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 800
return
20: .line 802
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 803
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 809
new java.awt.geom.AffineTransform
dup
aload 8 /* deviceTransform */
invokespecial java.awt.geom.AffineTransform.<init>:(Ljava/awt/geom/AffineTransform;)V
23: .line 808
astore 24 /* advanceTransform */
start local 24 // java.awt.geom.AffineTransform advanceTransform
24: .line 810
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 811
aload 20 /* glyphPos */
arraylength
newarray 6
astore 25 /* glyphAdvPos */
start local 25 // float[] glyphAdvPos
26: .line 813
aload 24 /* advanceTransform */
aload 20 /* glyphPos */
iconst_0
27: .line 814
aload 25 /* glyphAdvPos */
iconst_0
28: .line 815
aload 20 /* glyphPos */
arraylength
iconst_2
idiv
29: .line 813
invokevirtual java.awt.geom.AffineTransform.transform:([FI[FII)V
30: .line 816
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 818
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 819
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 836
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 837
aload 6 /* bds */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
dstore 7 /* jdkAdvance */
start local 7 // double jdkAdvance
2: .line 838
dload 7 /* jdkAdvance */
dload 4 /* scaleX */
dmul
invokestatic java.lang.Math.round:(D)J
l2d
dstore 7 /* jdkAdvance */
3: .line 839
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 840
dload 7 /* jdkAdvance */
dconst_0
dcmpl
ifle 11
iload 9 /* gdiAdvance */
ifle 11
5: .line 841
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 842
iload 9 /* gdiAdvance */
i2d
dload 7 /* jdkAdvance */
ddiv
dstore 12 /* ratio */
start local 12 // double ratio
7: .line 843
dload 12 /* ratio */
dconst_1
dcmpg
ifge 9
8: .line 844
dconst_1
dload 12 /* ratio */
ddiv
dstore 12 /* ratio */
9: .line 846
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 848
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=54, 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 885
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 886
aload 9 /* img */
ifnonnull 3
2: .line 887
iconst_1
ireturn
3: .line 890
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 898
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 899
aload 2 /* xform */
ifnonnull 7
6: .line 900
new java.awt.geom.AffineTransform
dup
invokespecial java.awt.geom.AffineTransform.<init>:()V
astore 2 /* xform */
7: .line 902
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 922
bipush 6
newarray 7
astore 12 /* fullMatrix */
start local 12 // double[] fullMatrix
9: .line 923
aload 11 /* fullTransform */
aload 12 /* fullMatrix */
invokevirtual java.awt.geom.AffineTransform.getMatrix:([D)V
10: .line 933
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 934
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 935
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 936
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 938
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 939
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 940
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 942
aload 10 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.getXRes:()D
dstore 20 /* devResX */
start local 20 // double devResX
18: .line 943
aload 10 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.getYRes:()D
dstore 22 /* devResY */
start local 22 // double devResY
19: .line 944
dload 20 /* devResX */
ldc 72.0
ddiv
dstore 24 /* devScaleX */
start local 24 // double devScaleX
20: .line 945
dload 22 /* devResY */
ldc 72.0
ddiv
dstore 26 /* devScaleY */
start local 26 // double devScaleY
21: .line 946
dload 16 /* scaleX */
dload 24 /* devScaleX */
dcmpl
ifle 22
dload 24 /* devScaleX */
dstore 16 /* scaleX */
22: .line 947
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
StackMap stack:
dload 18 /* scaleY */
dload 26 /* devScaleY */
dcmpl
ifle 23
dload 26 /* devScaleY */
dstore 18 /* scaleY */
23: .line 952
StackMap locals:
StackMap stack:
dload 16 /* scaleX */
dconst_0
dcmpl
ifeq 200
dload 18 /* scaleY */
dconst_0
dcmpl
ifeq 200
24: .line 956
new java.awt.geom.AffineTransform
dup
25: .line 957
aload 12 /* fullMatrix */
iconst_0
daload
dload 16 /* scaleX */
ddiv
26: .line 958
aload 12 /* fullMatrix */
iconst_1
daload
dload 18 /* scaleY */
ddiv
27: .line 959
aload 12 /* fullMatrix */
iconst_2
daload
dload 16 /* scaleX */
ddiv
28: .line 960
aload 12 /* fullMatrix */
iconst_3
daload
dload 18 /* scaleY */
ddiv
29: .line 961
aload 12 /* fullMatrix */
iconst_4
daload
dload 16 /* scaleX */
ddiv
30: .line 962
aload 12 /* fullMatrix */
iconst_5
daload
dload 18 /* scaleY */
ddiv
31: .line 956
invokespecial java.awt.geom.AffineTransform.<init>:(DDDDDD)V
astore 28 /* rotTransform */
start local 28 // java.awt.geom.AffineTransform rotTransform
32: .line 984
new java.awt.geom.Rectangle2D$Float
dup
iload 4 /* srcX */
i2f
iload 5 /* srcY */
i2f
33: .line 985
iload 6 /* srcWidth */
i2f
34: .line 986
iload 7 /* srcHeight */
i2f
35: .line 984
invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
astore 29 /* srcRect */
start local 29 // java.awt.geom.Rectangle2D$Float srcRect
36: .line 988
aload 28 /* rotTransform */
aload 29 /* srcRect */
invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
astore 30 /* rotShape */
start local 30 // java.awt.Shape rotShape
37: .line 989
aload 30 /* rotShape */
invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 31 /* rotBounds */
start local 31 // java.awt.geom.Rectangle2D rotBounds
38: .line 995
aload 31 /* rotBounds */
aload 31 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getX:()D
aload 31 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getY:()D
39: .line 996
aload 31 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
ldc 0.001
dadd
40: .line 997
aload 31 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
ldc 0.001
dadd
41: .line 995
invokevirtual java.awt.geom.Rectangle2D.setRect:(DDDD)V
42: .line 999
aload 31 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
d2i
istore 32 /* boundsWidth */
start local 32 // int boundsWidth
43: .line 1000
aload 31 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
d2i
istore 33 /* boundsHeight */
start local 33 // int boundsHeight
44: .line 1002
iload 32 /* boundsWidth */
ifle 200
iload 33 /* boundsHeight */
ifle 200
45: .line 1020
iconst_1
istore 34 /* drawOpaque */
start local 34 // boolean drawOpaque
46: .line 1021
iload 8 /* handlingTransparency */
ifne 63
aload 0 /* this */
aload 9 /* img */
invokevirtual sun.awt.windows.WPathGraphics.hasTransparentPixels:(Ljava/awt/image/BufferedImage;)Z
ifeq 63
47: .line 1022
iconst_0
istore 34 /* drawOpaque */
48: .line 1023
aload 0 /* this */
aload 9 /* img */
invokevirtual sun.awt.windows.WPathGraphics.isBitmaskTransparency:(Ljava/awt/image/BufferedImage;)Z
ifeq 60
49: .line 1024
aload 3 /* bgcolor */
ifnonnull 56
50: .line 1025
aload 0 /* this */
aload 9 /* img */
aload 2 /* xform */
aload 3 /* bgcolor */
51: .line 1026
iload 4 /* srcX */
iload 5 /* srcY */
52: .line 1027
iload 6 /* srcWidth */
iload 7 /* srcHeight */
53: .line 1025
invokevirtual sun.awt.windows.WPathGraphics.drawBitmaskImage:(Ljava/awt/image/BufferedImage;Ljava/awt/geom/AffineTransform;Ljava/awt/Color;IIII)Z
54: .line 1027
ifeq 60
55: .line 1029
iconst_1
ireturn
56: .line 1031
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 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
57: .line 1032
iconst_1
58: .line 1031
if_icmpne 60
59: .line 1033
iconst_1
istore 34 /* drawOpaque */
60: .line 1036
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.canDoRedraws:()Z
ifne 64
61: .line 1037
iconst_1
istore 34 /* drawOpaque */
62: .line 1039
goto 64
63: .line 1043
StackMap locals:
StackMap stack:
aconst_null
astore 3 /* bgcolor */
64: .line 1047
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 66
65: .line 1048
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 68
66: .line 1049
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.canDoRedraws:()Z
ifeq 68
67: .line 1050
iconst_0
istore 34 /* drawOpaque */
68: .line 1052
StackMap locals:
StackMap stack:
iload 34 /* drawOpaque */
ifne 118
69: .line 1054
aload 11 /* fullTransform */
aload 12 /* fullMatrix */
invokevirtual java.awt.geom.AffineTransform.getMatrix:([D)V
70: .line 1056
new java.awt.geom.AffineTransform
71: .line 1057
aload 12 /* fullMatrix */
iconst_0
daload
dload 24 /* devScaleX */
ddiv
72: .line 1058
aload 12 /* fullMatrix */
iconst_1
daload
dload 26 /* devScaleY */
ddiv
73: .line 1059
aload 12 /* fullMatrix */
iconst_2
daload
dload 24 /* devScaleX */
ddiv
74: .line 1060
aload 12 /* fullMatrix */
iconst_3
daload
dload 26 /* devScaleY */
ddiv
75: .line 1061
aload 12 /* fullMatrix */
iconst_4
daload
dload 24 /* devScaleX */
ddiv
76: .line 1062
aload 12 /* fullMatrix */
iconst_5
daload
dload 26 /* devScaleY */
ddiv
77: .line 1056
invokespecial java.awt.geom.AffineTransform.<init>:(DDDDDD)V
78: .line 1065
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
79: .line 1064
astore 35 /* rect */
start local 35 // java.awt.geom.Rectangle2D$Float rect
80: .line 1067
aload 11 /* fullTransform */
aload 35 /* rect */
invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
astore 36 /* shape */
start local 36 // java.awt.Shape shape
81: .line 1070
aload 36 /* shape */
invokeinterface java.awt.Shape.getBounds2D:()Ljava/awt/geom/Rectangle2D;
astore 37 /* region */
start local 37 // java.awt.geom.Rectangle2D region
82: .line 1072
aload 37 /* region */
aload 37 /* region */
invokevirtual java.awt.geom.Rectangle2D.getX:()D
aload 37 /* region */
invokevirtual java.awt.geom.Rectangle2D.getY:()D
83: .line 1073
aload 37 /* region */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
ldc 0.001
dadd
84: .line 1074
aload 37 /* region */
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
ldc 0.001
dadd
85: .line 1072
invokevirtual java.awt.geom.Rectangle2D.setRect:(DDDD)V
86: .line 1081
aload 37 /* region */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
d2i
istore 38 /* w */
start local 38 // int w
87: .line 1082
aload 37 /* region */
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
d2i
istore 39 /* h */
start local 39 // int h
88: .line 1083
iload 38 /* w */
iload 39 /* h */
imul
iconst_3
imul
istore 40 /* nbytes */
start local 40 // int nbytes
89: .line 1084
ldc 8388608
istore 41 /* maxBytes */
start local 41 // int maxBytes
90: .line 1085
dload 20 /* devResX */
dload 22 /* devResY */
dcmpg
ifge 91
dload 20 /* devResX */
goto 92
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 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:
91: dload 22 /* devResY */
StackMap locals:
StackMap stack: double
92: dstore 42 /* origDpi */
start local 42 // double origDpi
93: .line 1086
dload 42 /* origDpi */
d2i
istore 44 /* dpi */
start local 44 // int dpi
94: .line 1087
dconst_1
dstore 45 /* scaleFactor */
start local 45 // double scaleFactor
95: .line 1089
iload 38 /* w */
i2d
iload 32 /* boundsWidth */
i2d
ddiv
dstore 47 /* maxSFX */
start local 47 // double maxSFX
96: .line 1090
iload 39 /* h */
i2d
iload 33 /* boundsHeight */
i2d
ddiv
dstore 49 /* maxSFY */
start local 49 // double maxSFY
97: .line 1091
dload 47 /* maxSFX */
dload 49 /* maxSFY */
dcmpl
ifle 98
dload 49 /* maxSFY */
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 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:
98: dload 47 /* maxSFX */
StackMap locals:
StackMap stack: double
99: dstore 51 /* maxSF */
start local 51 // double maxSF
100: .line 1092
iload 44 /* dpi */
i2d
dload 51 /* maxSF */
ddiv
d2i
istore 53 /* minDpi */
start local 53 // int minDpi
101: .line 1093
iload 53 /* minDpi */
bipush 72
if_icmpge 106
bipush 72
istore 53 /* minDpi */
102: .line 1095
goto 106
103: .line 1096
StackMap locals: double int
StackMap stack:
dload 45 /* scaleFactor */
ldc 2.0
dmul
dstore 45 /* scaleFactor */
104: .line 1097
iload 44 /* dpi */
iconst_2
idiv
istore 44 /* dpi */
105: .line 1098
iload 40 /* nbytes */
iconst_4
idiv
istore 40 /* nbytes */
106: .line 1095
StackMap locals:
StackMap stack:
iload 40 /* nbytes */
iload 41 /* maxBytes */
if_icmple 107
iload 44 /* dpi */
iload 53 /* minDpi */
if_icmpgt 103
107: .line 1100
StackMap locals:
StackMap stack:
iload 44 /* dpi */
iload 53 /* minDpi */
if_icmpge 109
108: .line 1101
dload 42 /* origDpi */
iload 53 /* minDpi */
i2d
ddiv
dstore 45 /* scaleFactor */
109: .line 1104
StackMap locals:
StackMap stack:
aload 37 /* region */
aload 37 /* region */
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dload 45 /* scaleFactor */
ddiv
110: .line 1105
aload 37 /* region */
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dload 45 /* scaleFactor */
ddiv
111: .line 1106
aload 37 /* region */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
dload 45 /* scaleFactor */
ddiv
112: .line 1107
aload 37 /* region */
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
dload 45 /* scaleFactor */
ddiv
113: .line 1104
invokevirtual java.awt.geom.Rectangle2D.setRect:(DDDD)V
114: .line 1118
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;
115: .line 1119
aload 37 /* region */
dload 45 /* scaleFactor */
dload 45 /* scaleFactor */
116: .line 1118
invokevirtual sun.awt.windows.WPrinterJob.saveState:(Ljava/awt/geom/AffineTransform;Ljava/awt/Shape;Ljava/awt/geom/Rectangle2D;DD)V
117: .line 1120
iconst_1
ireturn
end local 53 // int minDpi
end local 51 // double maxSF
end local 49 // double maxSFY
end local 47 // double maxSFX
end local 45 // double scaleFactor
end local 44 // int dpi
end local 42 // double origDpi
end local 41 // int maxBytes
end local 40 // int nbytes
end local 39 // int h
end local 38 // int w
end local 37 // java.awt.geom.Rectangle2D region
end local 36 // java.awt.Shape shape
end local 35 // java.awt.geom.Rectangle2D$Float rect
118: .line 1133
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 java.awt.geom.AffineTransform java.awt.geom.Rectangle2D$Float java.awt.Shape java.awt.geom.Rectangle2D int int int
StackMap stack:
iconst_5
istore 35 /* dibType */
start local 35 // int dibType
119: .line 1134
aconst_null
astore 36 /* icm */
start local 36 // java.awt.image.IndexColorModel icm
120: .line 1136
aload 9 /* img */
invokevirtual java.awt.image.BufferedImage.getColorModel:()Ljava/awt/image/ColorModel;
astore 37 /* cm */
start local 37 // java.awt.image.ColorModel cm
121: .line 1137
aload 9 /* img */
invokevirtual java.awt.image.BufferedImage.getType:()I
istore 38 /* imgType */
start local 38 // int imgType
122: .line 1138
aload 37 /* cm */
instanceof java.awt.image.IndexColorModel
ifeq 141
123: .line 1139
aload 37 /* cm */
invokevirtual java.awt.image.ColorModel.getPixelSize:()I
bipush 8
if_icmpgt 141
124: .line 1140
iload 38 /* imgType */
bipush 12
if_icmpeq 126
125: .line 1141
iload 38 /* imgType */
bipush 13
if_icmpne 141
126: .line 1142
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 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 37 /* cm */
checkcast java.awt.image.IndexColorModel
astore 36 /* icm */
127: .line 1143
iload 38 /* imgType */
istore 35 /* dibType */
128: .line 1147
iload 38 /* imgType */
bipush 12
if_icmpne 141
129: .line 1148
aload 37 /* cm */
invokevirtual java.awt.image.ColorModel.getPixelSize:()I
iconst_2
if_icmpne 141
130: .line 1150
bipush 16
newarray 10
astore 39 /* rgbs */
start local 39 // int[] rgbs
131: .line 1151
aload 36 /* icm */
aload 39 /* rgbs */
invokevirtual java.awt.image.IndexColorModel.getRGBs:([I)V
132: .line 1153
aload 36 /* icm */
invokevirtual java.awt.image.IndexColorModel.getTransparency:()I
iconst_1
if_icmpeq 133
iconst_1
goto 134
StackMap locals: int[]
StackMap stack:
133: iconst_0
134: .line 1152
StackMap locals:
StackMap stack: int
istore 40 /* transparent */
start local 40 // boolean transparent
135: .line 1154
aload 36 /* icm */
invokevirtual java.awt.image.IndexColorModel.getTransparentPixel:()I
istore 41 /* transpixel */
start local 41 // int transpixel
136: .line 1156
new java.awt.image.IndexColorModel
dup
iconst_4
bipush 16
137: .line 1157
aload 39 /* rgbs */
iconst_0
138: .line 1158
iload 40 /* transparent */
iload 41 /* transpixel */
139: .line 1159
iconst_0
140: .line 1156
invokespecial java.awt.image.IndexColorModel.<init>:(II[IIZII)V
astore 36 /* icm */
end local 41 // int transpixel
end local 40 // boolean transparent
end local 39 // int[] rgbs
141: .line 1163
StackMap locals:
StackMap stack:
aload 31 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
d2i
istore 39 /* iw */
start local 39 // int iw
142: .line 1164
aload 31 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
d2i
istore 40 /* ih */
start local 40 // int ih
143: .line 1165
aconst_null
astore 41 /* deepImage */
start local 41 // java.awt.image.BufferedImage deepImage
144: .line 1192
iconst_1
istore 42 /* newImage */
start local 42 // boolean newImage
145: .line 1193
iload 42 /* newImage */
ifeq 172
146: .line 1194
aload 36 /* icm */
ifnonnull 149
147: .line 1195
new java.awt.image.BufferedImage
dup
iload 39 /* iw */
iload 40 /* ih */
iload 35 /* dibType */
invokespecial java.awt.image.BufferedImage.<init>:(III)V
astore 41 /* deepImage */
148: .line 1196
goto 150
149: .line 1197
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 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 39 /* iw */
iload 40 /* ih */
iload 35 /* dibType */
aload 36 /* icm */
invokespecial java.awt.image.BufferedImage.<init>:(IIILjava/awt/image/IndexColorModel;)V
astore 41 /* deepImage */
150: .line 1204
StackMap locals:
StackMap stack:
aload 41 /* deepImage */
invokevirtual java.awt.image.BufferedImage.createGraphics:()Ljava/awt/Graphics2D;
astore 43 /* imageGraphics */
start local 43 // java.awt.Graphics2D imageGraphics
151: .line 1205
aload 43 /* imageGraphics */
iconst_0
iconst_0
152: .line 1206
aload 41 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getWidth:()I
153: .line 1207
aload 41 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getHeight:()I
154: .line 1205
invokevirtual java.awt.Graphics2D.clipRect:(IIII)V
155: .line 1209
aload 43 /* imageGraphics */
aload 31 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dneg
156: .line 1210
aload 31 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dneg
157: .line 1209
invokevirtual java.awt.Graphics2D.translate:(DD)V
158: .line 1211
aload 43 /* imageGraphics */
aload 28 /* rotTransform */
invokevirtual java.awt.Graphics2D.transform:(Ljava/awt/geom/AffineTransform;)V
159: .line 1216
aload 3 /* bgcolor */
ifnonnull 161
160: .line 1217
getstatic java.awt.Color.white:Ljava/awt/Color;
astore 3 /* bgcolor */
161: .line 1220
StackMap locals: java.awt.Graphics2D
StackMap stack:
aload 43 /* imageGraphics */
aload 9 /* img */
162: .line 1221
iload 4 /* srcX */
iload 5 /* srcY */
163: .line 1222
iload 4 /* srcX */
iload 6 /* srcWidth */
iadd
164: .line 1223
iload 5 /* srcY */
iload 7 /* srcHeight */
iadd
165: .line 1224
iload 4 /* srcX */
iload 5 /* srcY */
166: .line 1225
iload 4 /* srcX */
iload 6 /* srcWidth */
iadd
167: .line 1226
iload 5 /* srcY */
iload 7 /* srcHeight */
iadd
168: .line 1227
aload 3 /* bgcolor */
aconst_null
169: .line 1220
invokevirtual java.awt.Graphics2D.drawImage:(Ljava/awt/Image;IIIIIIIILjava/awt/Color;Ljava/awt/image/ImageObserver;)Z
pop
170: .line 1228
aload 43 /* imageGraphics */
invokevirtual java.awt.Graphics2D.dispose:()V
end local 43 // java.awt.Graphics2D imageGraphics
171: .line 1229
goto 173
172: .line 1230
StackMap locals:
StackMap stack:
aload 9 /* img */
astore 41 /* deepImage */
173: .line 1241
StackMap locals:
StackMap stack:
new java.awt.geom.Rectangle2D$Float
dup
174: .line 1242
aload 31 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dload 16 /* scaleX */
dmul
d2f
175: .line 1243
aload 31 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dload 18 /* scaleY */
dmul
d2f
176: .line 1244
aload 31 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
dload 16 /* scaleX */
dmul
d2f
177: .line 1245
aload 31 /* rotBounds */
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
dload 18 /* scaleY */
dmul
d2f
178: .line 1241
invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
179: .line 1240
astore 43 /* scaledBounds */
start local 43 // java.awt.geom.Rectangle2D$Float scaledBounds
180: .line 1250
aload 41 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
astore 44 /* raster */
start local 44 // java.awt.image.WritableRaster raster
181: .line 1252
aload 44 /* raster */
instanceof sun.awt.image.ByteComponentRaster
ifeq 184
182: .line 1253
aload 44 /* raster */
checkcast sun.awt.image.ByteComponentRaster
invokevirtual sun.awt.image.ByteComponentRaster.getDataStorage:()[B
astore 45 /* data */
start local 45 // byte[] data
183: .line 1254
goto 188
end local 45 // byte[] data
StackMap locals: java.awt.geom.Rectangle2D$Float java.awt.image.WritableRaster
StackMap stack:
184: aload 44 /* raster */
instanceof sun.awt.image.BytePackedRaster
ifeq 187
185: .line 1255
aload 44 /* raster */
checkcast sun.awt.image.BytePackedRaster
invokevirtual sun.awt.image.BytePackedRaster.getDataStorage:()[B
astore 45 /* data */
start local 45 // byte[] data
186: .line 1256
goto 188
end local 45 // byte[] data
187: .line 1257
StackMap locals:
StackMap stack:
iconst_0
ireturn
start local 45 // byte[] data
188: .line 1267
StackMap locals: byte[]
StackMap stack:
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getClip:()Ljava/awt/Shape;
astore 46 /* holdClip */
start local 46 // java.awt.Shape holdClip
189: .line 1268
aload 0 /* this */
aload 2 /* xform */
aload 29 /* srcRect */
invokevirtual java.awt.geom.AffineTransform.createTransformedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
invokevirtual sun.awt.windows.WPathGraphics.clip:(Ljava/awt/Shape;)V
190: .line 1269
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
191: .line 1271
aload 10 /* wPrinterJob */
192: .line 1272
aload 45 /* data */
aload 43 /* scaledBounds */
getfield java.awt.geom.Rectangle2D$Float.x:F
aload 43 /* scaledBounds */
getfield java.awt.geom.Rectangle2D$Float.y:F
193: .line 1273
aload 43 /* scaledBounds */
getfield java.awt.geom.Rectangle2D$Float.width:F
f2d
ldc 0.5
dadd
invokestatic java.lang.Math.rint:(D)D
d2f
194: .line 1274
aload 43 /* scaledBounds */
getfield java.awt.geom.Rectangle2D$Float.height:F
f2d
ldc 0.5
dadd
invokestatic java.lang.Math.rint:(D)D
d2f
195: .line 1275
fconst_0
fconst_0
196: .line 1276
aload 41 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getWidth:()I
i2f
aload 41 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getHeight:()I
i2f
197: .line 1277
aload 36 /* icm */
198: .line 1271
invokevirtual sun.awt.windows.WPrinterJob.drawDIBImage:([BFFFFFFFFLjava/awt/image/IndexColorModel;)V
199: .line 1279
aload 0 /* this */
aload 46 /* holdClip */
invokevirtual sun.awt.windows.WPathGraphics.setClip:(Ljava/awt/Shape;)V
end local 46 // java.awt.Shape holdClip
end local 45 // byte[] data
end local 44 // java.awt.image.WritableRaster raster
end local 43 // java.awt.geom.Rectangle2D$Float scaledBounds
end local 42 // boolean newImage
end local 41 // java.awt.image.BufferedImage deepImage
end local 40 // int ih
end local 39 // int iw
end local 38 // int imgType
end local 37 // java.awt.image.ColorModel cm
end local 36 // java.awt.image.IndexColorModel icm
end local 35 // int dibType
end local 34 // boolean drawOpaque
end local 33 // int boundsHeight
end local 32 // int boundsWidth
end local 31 // java.awt.geom.Rectangle2D rotBounds
end local 30 // java.awt.Shape rotShape
end local 29 // java.awt.geom.Rectangle2D$Float srcRect
end local 28 // java.awt.geom.AffineTransform rotTransform
200: .line 1284
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
StackMap stack:
iconst_1
ireturn
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 201 0 this Lsun/awt/windows/WPathGraphics;
0 201 1 image Ljava/awt/Image;
0 201 2 xform Ljava/awt/geom/AffineTransform;
0 201 3 bgcolor Ljava/awt/Color;
0 201 4 srcX I
0 201 5 srcY I
0 201 6 srcWidth I
0 201 7 srcHeight I
0 201 8 handlingTransparency Z
1 201 9 img Ljava/awt/image/BufferedImage;
4 201 10 wPrinterJob Lsun/awt/windows/WPrinterJob;
5 201 11 fullTransform Ljava/awt/geom/AffineTransform;
9 201 12 fullMatrix [D
11 201 13 unitVectorX Ljava/awt/geom/Point2D$Float;
12 201 14 unitVectorY Ljava/awt/geom/Point2D$Float;
15 201 15 origin Ljava/awt/geom/Point2D$Float;
16 201 16 scaleX D
17 201 18 scaleY D
18 201 20 devResX D
19 201 22 devResY D
20 201 24 devScaleX D
21 201 26 devScaleY D
32 200 28 rotTransform Ljava/awt/geom/AffineTransform;
36 200 29 srcRect Ljava/awt/geom/Rectangle2D$Float;
37 200 30 rotShape Ljava/awt/Shape;
38 200 31 rotBounds Ljava/awt/geom/Rectangle2D;
43 200 32 boundsWidth I
44 200 33 boundsHeight I
46 200 34 drawOpaque Z
80 118 35 rect Ljava/awt/geom/Rectangle2D$Float;
81 118 36 shape Ljava/awt/Shape;
82 118 37 region Ljava/awt/geom/Rectangle2D;
87 118 38 w I
88 118 39 h I
89 118 40 nbytes I
90 118 41 maxBytes I
93 118 42 origDpi D
94 118 44 dpi I
95 118 45 scaleFactor D
96 118 47 maxSFX D
97 118 49 maxSFY D
100 118 51 maxSF D
101 118 53 minDpi I
119 200 35 dibType I
120 200 36 icm Ljava/awt/image/IndexColorModel;
121 200 37 cm Ljava/awt/image/ColorModel;
122 200 38 imgType I
131 141 39 rgbs [I
135 141 40 transparent Z
136 141 41 transpixel I
142 200 39 iw I
143 200 40 ih I
144 200 41 deepImage Ljava/awt/image/BufferedImage;
145 200 42 newImage Z
151 171 43 imageGraphics Ljava/awt/Graphics2D;
180 200 43 scaledBounds Ljava/awt/geom/Rectangle2D$Float;
181 200 44 raster Ljava/awt/image/WritableRaster;
183 184 45 data [B
186 187 45 data [B
188 200 45 data [B
189 200 46 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 1295
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 1296
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 1297
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 1298
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getPageIndex:()I
istore 11 /* pageIndex */
start local 11 // int pageIndex
4: .line 1303
new java.awt.image.BufferedImage
dup
5: .line 1304
aload 1 /* region */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
d2i
6: .line 1305
aload 1 /* region */
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
d2i
7: .line 1306
iconst_5
8: .line 1303
invokespecial java.awt.image.BufferedImage.<init>:(III)V
astore 12 /* deepImage */
start local 12 // java.awt.image.BufferedImage deepImage
9: .line 1314
aload 12 /* deepImage */
invokevirtual java.awt.image.BufferedImage.createGraphics:()Ljava/awt/Graphics2D;
astore 13 /* g */
start local 13 // java.awt.Graphics2D g
10: .line 1315
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 1316
aload 14 /* proxy */
getstatic java.awt.Color.white:Ljava/awt/Color;
invokevirtual sun.print.ProxyGraphics2D.setColor:(Ljava/awt/Color;)V
12: .line 1317
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 1318
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 1320
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 1324
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 1325
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 1331
aload 14 /* proxy */
fload 15 /* sourceResX */
ldc 72.0
fdiv
f2d
18: .line 1332
fload 16 /* sourceResY */
ldc 72.0
fdiv
f2d
19: .line 1331
invokevirtual sun.print.ProxyGraphics2D.scale:(DD)V
20: .line 1334
aload 14 /* proxy */
21: .line 1335
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 1336
aload 8 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.getXRes:()D
23: .line 1335
ddiv
24: .line 1336
ldc 72.0
25: .line 1335
dmul
26: .line 1337
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 1338
aload 8 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.getYRes:()D
28: .line 1337
ddiv
29: .line 1338
ldc 72.0
30: .line 1337
dmul
31: .line 1334
invokevirtual sun.print.ProxyGraphics2D.translate:(DD)V
32: .line 1340
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 1341
aload 14 /* proxy */
getstatic java.awt.Color.black:Ljava/awt/Color;
invokevirtual sun.print.ProxyGraphics2D.setPaint:(Ljava/awt/Paint;)V
34: .line 1343
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 1345
aload 13 /* g */
invokevirtual java.awt.Graphics2D.dispose:()V
36: .line 1354
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 1364
new java.awt.geom.Rectangle2D$Float
dup
38: .line 1365
aload 1 /* region */
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dload 2 /* scaleX */
dmul
d2f
39: .line 1366
aload 1 /* region */
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dload 4 /* scaleY */
dmul
d2f
40: .line 1367
aload 1 /* region */
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
dload 2 /* scaleX */
dmul
d2f
41: .line 1368
aload 1 /* region */
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
dload 4 /* scaleY */
dmul
d2f
42: .line 1364
invokespecial java.awt.geom.Rectangle2D$Float.<init>:(FFFF)V
43: .line 1363
astore 17 /* scaledBounds */
start local 17 // java.awt.geom.Rectangle2D$Float scaledBounds
44: .line 1374
aload 12 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
checkcast sun.awt.image.ByteComponentRaster
45: .line 1373
astore 18 /* tile */
start local 18 // sun.awt.image.ByteComponentRaster tile
46: .line 1376
aload 8 /* wPrinterJob */
aload 18 /* tile */
invokevirtual sun.awt.image.ByteComponentRaster.getDataStorage:()[B
47: .line 1377
aload 17 /* scaledBounds */
getfield java.awt.geom.Rectangle2D$Float.x:F
aload 17 /* scaledBounds */
getfield java.awt.geom.Rectangle2D$Float.y:F
48: .line 1378
aload 17 /* scaledBounds */
getfield java.awt.geom.Rectangle2D$Float.width:F
49: .line 1379
aload 17 /* scaledBounds */
getfield java.awt.geom.Rectangle2D$Float.height:F
50: .line 1380
fconst_0
fconst_0
51: .line 1381
aload 12 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getWidth:()I
i2f
aload 12 /* deepImage */
invokevirtual java.awt.image.BufferedImage.getHeight:()I
i2f
52: .line 1376
invokevirtual sun.awt.windows.WPrinterJob.drawImage3ByteBGR:([BFFFFFFFF)V
53: .line 1383
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 1392
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 1394
aload 0 /* this */
aload 1 /* pathIter */
invokevirtual sun.awt.windows.WPathGraphics.convertToWPath:(Ljava/awt/geom/PathIterator;)V
2: .line 1395
aload 3 /* wPrinterJob */
aload 2 /* color */
invokevirtual sun.awt.windows.WPrinterJob.selectSolidBrush:(Ljava/awt/Color;)V
3: .line 1396
aload 3 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.fillPath:()V
4: .line 1397
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 1406
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 1408
aload 0 /* this */
aload 1 /* pathIter */
invokevirtual sun.awt.windows.WPathGraphics.convertToWPath:(Ljava/awt/geom/PathIterator;)V
2: .line 1409
aload 2 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.selectClipPath:()V
3: .line 1410
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 1418
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 1421
aload 6 /* deviceTransform */
invokevirtual java.awt.geom.AffineTransform.getType:()I
istore 7 /* transformType */
start local 7 // int transformType
2: .line 1422
iload 7 /* transformType */
3: .line 1423
bipush 48
4: .line 1422
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 1426
iload 8 /* usePath */
ifeq 10
8: .line 1427
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 1428
return
10: .line 1431
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 1433
aload 9 /* stroke */
instanceof java.awt.BasicStroke
ifeq 55
12: .line 1434
aload 9 /* stroke */
checkcast java.awt.BasicStroke
astore 10 /* lineStroke */
start local 10 // java.awt.BasicStroke lineStroke
13: .line 1436
aload 10 /* lineStroke */
invokevirtual java.awt.BasicStroke.getEndCap:()I
istore 11 /* endCap */
start local 11 // int endCap
14: .line 1437
aload 10 /* lineStroke */
invokevirtual java.awt.BasicStroke.getLineJoin:()I
istore 12 /* lineJoin */
start local 12 // int lineJoin
15: .line 1443
iload 11 /* endCap */
iconst_2
if_icmpne 54
16: .line 1444
iload 12 /* lineJoin */
ifne 54
17: .line 1445
aload 10 /* lineStroke */
invokevirtual java.awt.BasicStroke.getMiterLimit:()F
ldc 10.0
fcmpl
ifne 54
18: .line 1447
aload 10 /* lineStroke */
invokevirtual java.awt.BasicStroke.getLineWidth:()F
fstore 13 /* lineWidth */
start local 13 // float lineWidth
19: .line 1448
new java.awt.geom.Point2D$Float
dup
fload 13 /* lineWidth */
20: .line 1449
fload 13 /* lineWidth */
21: .line 1448
invokespecial java.awt.geom.Point2D$Float.<init>:(FF)V
astore 14 /* penSize */
start local 14 // java.awt.geom.Point2D$Float penSize
22: .line 1451
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 1452
aload 14 /* penSize */
getfield java.awt.geom.Point2D$Float.x:F
invokestatic java.lang.Math.abs:(F)F
24: .line 1453
aload 14 /* penSize */
getfield java.awt.geom.Point2D$Float.y:F
invokestatic java.lang.Math.abs:(F)F
25: .line 1452
invokestatic java.lang.Math.min:(FF)F
fstore 15 /* deviceLineWidth */
start local 15 // float deviceLineWidth
26: .line 1456
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 1457
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 1460
new java.awt.geom.Point2D$Float
dup
iload 1 /* x */
iload 3 /* width */
iadd
i2f
29: .line 1461
iload 2 /* y */
iload 4 /* height */
iadd
i2f
30: .line 1460
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 1462
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 1464
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 1465
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 1467
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 1470
aload 20 /* wPrinterJob */
iload 11 /* endCap */
iload 12 /* lineJoin */
36: .line 1471
fload 15 /* deviceLineWidth */
aload 5 /* color */
37: .line 1470
invokevirtual sun.awt.windows.WPrinterJob.selectStylePen:(IIFLjava/awt/Color;)Z
38: .line 1471
ifeq 43
39: .line 1472
aload 20 /* wPrinterJob */
aload 16 /* ul_pos */
invokevirtual java.awt.geom.Point2D$Float.getX:()D
d2f
40: .line 1473
aload 16 /* ul_pos */
invokevirtual java.awt.geom.Point2D$Float.getY:()D
d2f
fload 18 /* w */
fload 19 /* h */
41: .line 1472
invokevirtual sun.awt.windows.WPrinterJob.frameRect:(FFFF)V
42: .line 1474
goto 55
43: .line 1478
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 1479
aload 20 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.getYRes:()D
45: .line 1478
invokestatic java.lang.Math.min:(DD)D
dstore 21 /* lowerRes */
start local 21 // double lowerRes
46: .line 1481
fload 15 /* deviceLineWidth */
f2d
dload 21 /* lowerRes */
ddiv
ldc 0.014000000432133675
dcmpg
ifge 52
47: .line 1483
aload 20 /* wPrinterJob */
fload 15 /* deviceLineWidth */
aload 5 /* color */
invokevirtual sun.awt.windows.WPrinterJob.selectPen:(FLjava/awt/Color;)V
48: .line 1484
aload 20 /* wPrinterJob */
aload 16 /* ul_pos */
invokevirtual java.awt.geom.Point2D$Float.getX:()D
d2f
49: .line 1485
aload 16 /* ul_pos */
invokevirtual java.awt.geom.Point2D$Float.getY:()D
d2f
fload 18 /* w */
fload 19 /* h */
50: .line 1484
invokevirtual sun.awt.windows.WPrinterJob.frameRect:(FFFF)V
51: .line 1486
goto 55
52: .line 1488
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 1491
goto 55
54: .line 1493
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 1496
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 1509
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 1512
aload 6 /* deviceTransform */
invokevirtual java.awt.geom.AffineTransform.getType:()I
istore 7 /* transformType */
start local 7 // int transformType
2: .line 1513
iload 7 /* transformType */
3: .line 1514
bipush 48
4: .line 1513
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 1516
iload 8 /* usePath */
ifeq 10
8: .line 1517
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 1518
return
10: .line 1521
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 1522
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 1524
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 1525
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 1527
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 1528
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 1530
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 1531
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 1532
fload 11 /* deviceWidth */
fload 12 /* deviceHeight */
aload 5 /* color */
19: .line 1531
invokevirtual sun.awt.windows.WPrinterJob.fillRect:(FFFFLjava/awt/Color;)V
20: .line 1533
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 1542
aload 0 /* this */
invokevirtual sun.awt.windows.WPathGraphics.getStroke:()Ljava/awt/Stroke;
astore 6 /* stroke */
start local 6 // java.awt.Stroke stroke
1: .line 1544
aload 6 /* stroke */
instanceof java.awt.BasicStroke
ifeq 49
2: .line 1545
aload 6 /* stroke */
checkcast java.awt.BasicStroke
astore 7 /* lineStroke */
start local 7 // java.awt.BasicStroke lineStroke
3: .line 1547
aload 7 /* lineStroke */
invokevirtual java.awt.BasicStroke.getDashArray:()[F
ifnull 6
4: .line 1548
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 1549
return
6: .line 1552
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 1553
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 1555
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 1556
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 1558
aload 9 /* penSize */
getfield java.awt.geom.Point2D$Float.x:F
invokestatic java.lang.Math.abs:(F)F
11: .line 1559
aload 9 /* penSize */
getfield java.awt.geom.Point2D$Float.y:F
invokestatic java.lang.Math.abs:(F)F
12: .line 1558
invokestatic java.lang.Math.min:(FF)F
fstore 11 /* deviceLineWidth */
start local 11 // float deviceLineWidth
13: .line 1561
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 1562
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 1564
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 1565
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 1567
aload 7 /* lineStroke */
invokevirtual java.awt.BasicStroke.getEndCap:()I
istore 14 /* endCap */
start local 14 // int endCap
18: .line 1568
aload 7 /* lineStroke */
invokevirtual java.awt.BasicStroke.getLineJoin:()I
istore 15 /* lineJoin */
start local 15 // int lineJoin
19: .line 1571
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 1572
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 1577
iconst_1
istore 14 /* endCap */
22: .line 1581
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 1584
aload 16 /* wPrinterJob */
iload 14 /* endCap */
iload 15 /* lineJoin */
24: .line 1585
fload 11 /* deviceLineWidth */
aload 5 /* color */
25: .line 1584
invokevirtual sun.awt.windows.WPrinterJob.selectStylePen:(IIFLjava/awt/Color;)Z
26: .line 1585
ifeq 34
27: .line 1586
aload 16 /* wPrinterJob */
aload 12 /* begin_pos */
invokevirtual java.awt.geom.Point2D$Float.getX:()D
d2f
28: .line 1587
aload 12 /* begin_pos */
invokevirtual java.awt.geom.Point2D$Float.getY:()D
d2f
29: .line 1586
invokevirtual sun.awt.windows.WPrinterJob.moveTo:(FF)V
30: .line 1588
aload 16 /* wPrinterJob */
aload 13 /* end_pos */
invokevirtual java.awt.geom.Point2D$Float.getX:()D
d2f
31: .line 1589
aload 13 /* end_pos */
invokevirtual java.awt.geom.Point2D$Float.getY:()D
d2f
32: .line 1588
invokevirtual sun.awt.windows.WPrinterJob.lineTo:(FF)V
33: .line 1590
goto 49
34: .line 1599
StackMap locals: sun.awt.windows.WPrinterJob
StackMap stack:
aload 16 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.getXRes:()D
35: .line 1600
aload 16 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.getYRes:()D
36: .line 1599
invokestatic java.lang.Math.min:(DD)D
dstore 17 /* lowerRes */
start local 17 // double lowerRes
37: .line 1602
iload 14 /* endCap */
iconst_1
if_icmpeq 40
38: .line 1603
iload 1 /* xBegin */
iload 3 /* xEnd */
if_icmpeq 39
iload 2 /* yBegin */
iload 4 /* yEnd */
if_icmpne 48
39: .line 1604
StackMap locals: double
StackMap stack:
fload 11 /* deviceLineWidth */
f2d
dload 17 /* lowerRes */
ddiv
ldc 0.014000000432133675
dcmpg
ifge 48
40: .line 1606
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 1607
aload 16 /* wPrinterJob */
aload 12 /* begin_pos */
invokevirtual java.awt.geom.Point2D$Float.getX:()D
d2f
42: .line 1608
aload 12 /* begin_pos */
invokevirtual java.awt.geom.Point2D$Float.getY:()D
d2f
43: .line 1607
invokevirtual sun.awt.windows.WPrinterJob.moveTo:(FF)V
44: .line 1609
aload 16 /* wPrinterJob */
aload 13 /* end_pos */
invokevirtual java.awt.geom.Point2D$Float.getX:()D
d2f
45: .line 1610
aload 13 /* end_pos */
invokevirtual java.awt.geom.Point2D$Float.getY:()D
d2f
46: .line 1609
invokevirtual sun.awt.windows.WPrinterJob.lineTo:(FF)V
47: .line 1611
goto 49
48: .line 1613
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 1617
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 1627
bipush 6
newarray 6
astore 2 /* segment */
start local 2 // float[] segment
1: .line 1630
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 1636
aload 1 /* pathIter */
invokeinterface java.awt.geom.PathIterator.getWindingRule:()I
ifne 5
3: .line 1637
iconst_1
istore 5 /* polyFillRule */
start local 5 // int polyFillRule
4: .line 1638
goto 6
end local 5 // int polyFillRule
5: .line 1639
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 1641
StackMap locals: int
StackMap stack:
aload 4 /* wPrinterJob */
iload 5 /* polyFillRule */
invokevirtual sun.awt.windows.WPrinterJob.setPolyFillMode:(I)V
7: .line 1643
aload 4 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.beginPath:()V
8: .line 1645
goto 33
9: .line 1646
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 1648
iload 3 /* segmentType */
tableswitch { // 0 - 4
0: 11
1: 13
2: 15
3: 26
4: 31
default: 32
}
11: .line 1650
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 1651
goto 32
13: .line 1654
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 1655
goto 32
15: .line 1660
StackMap locals:
StackMap stack:
aload 4 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.getPenX:()I
istore 6 /* lastX */
start local 6 // int lastX
16: .line 1661
aload 4 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.getPenY:()I
istore 7 /* lastY */
start local 7 // int lastY
17: .line 1662
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 1663
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 1664
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 1665
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 1666
aload 4 /* wPrinterJob */
fload 8 /* c1x */
fload 9 /* c1y */
22: .line 1667
fload 10 /* c2x */
fload 11 /* c2y */
23: .line 1668
aload 2 /* segment */
iconst_2
faload
aload 2 /* segment */
iconst_3
faload
24: .line 1666
invokevirtual sun.awt.windows.WPrinterJob.polyBezierTo:(FFFFFF)V
25: .line 1669
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 1672
StackMap locals:
StackMap stack:
aload 4 /* wPrinterJob */
aload 2 /* segment */
iconst_0
faload
aload 2 /* segment */
iconst_1
faload
27: .line 1673
aload 2 /* segment */
iconst_2
faload
aload 2 /* segment */
iconst_3
faload
28: .line 1674
aload 2 /* segment */
iconst_4
faload
aload 2 /* segment */
iconst_5
faload
29: .line 1672
invokevirtual sun.awt.windows.WPrinterJob.polyBezierTo:(FFFFFF)V
30: .line 1675
goto 32
31: .line 1678
StackMap locals:
StackMap stack:
aload 4 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.closeFigure:()V
32: .line 1683
StackMap locals:
StackMap stack:
aload 1 /* pathIter */
invokeinterface java.awt.geom.PathIterator.next:()V
end local 3 // int segmentType
33: .line 1645
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 1686
aload 4 /* wPrinterJob */
invokevirtual sun.awt.windows.WPrinterJob.endPath:()V
35: .line 1688
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