public abstract class sun.java2d.pipe.SpanShapeRenderer implements sun.java2d.pipe.ShapeDrawPipe
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: sun.java2d.pipe.SpanShapeRenderer
super_class: java.lang.Object
{
static final sun.java2d.pipe.RenderingEngine RenderEngine;
descriptor: Lsun/java2d/pipe/RenderingEngine;
flags: (0x0018) ACC_STATIC, ACC_FINAL
public static final int NON_RECTILINEAR_TRANSFORM_MASK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 48
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic sun.java2d.pipe.RenderingEngine.getInstance:()Lsun/java2d/pipe/RenderingEngine;
putstatic sun.java2d.pipe.SpanShapeRenderer.RenderEngine:Lsun/java2d/pipe/RenderingEngine;
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/java2d/pipe/SpanShapeRenderer;
public void draw(sun.java2d.SunGraphics2D, java.awt.Shape);
descriptor: (Lsun/java2d/SunGraphics2D;Ljava/awt/Shape;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield sun.java2d.SunGraphics2D.stroke:Ljava/awt/Stroke;
instanceof java.awt.BasicStroke
ifeq 9
1: aload 1
aload 2
invokestatic sun.java2d.pipe.LoopPipe.getStrokeSpans:(Lsun/java2d/SunGraphics2D;Ljava/awt/Shape;)Lsun/java2d/pipe/ShapeSpanIterator;
astore 3
start local 3 2: aload 0
aload 1
aload 1
invokevirtual sun.java2d.SunGraphics2D.getCompClip:()Lsun/java2d/pipe/Region;
aload 2
aload 3
invokevirtual sun.java2d.pipe.SpanShapeRenderer.renderSpans:(Lsun/java2d/SunGraphics2D;Lsun/java2d/pipe/Region;Ljava/awt/Shape;Lsun/java2d/pipe/ShapeSpanIterator;)V
3: goto 7
StackMap locals: sun.java2d.pipe.SpanShapeRenderer sun.java2d.SunGraphics2D java.awt.Shape sun.java2d.pipe.ShapeSpanIterator
StackMap stack: java.lang.Throwable
4: astore 4
5: aload 3
invokevirtual sun.java2d.pipe.ShapeSpanIterator.dispose:()V
6: aload 4
athrow
7: StackMap locals:
StackMap stack:
aload 3
invokevirtual sun.java2d.pipe.ShapeSpanIterator.dispose:()V
end local 3 8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
getfield sun.java2d.SunGraphics2D.stroke:Ljava/awt/Stroke;
aload 2
invokeinterface java.awt.Stroke.createStrokedShape:(Ljava/awt/Shape;)Ljava/awt/Shape;
invokevirtual sun.java2d.pipe.SpanShapeRenderer.fill:(Lsun/java2d/SunGraphics2D;Ljava/awt/Shape;)V
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/java2d/pipe/SpanShapeRenderer;
0 11 1 sg Lsun/java2d/SunGraphics2D;
0 11 2 s Ljava/awt/Shape;
2 8 3 sr Lsun/java2d/pipe/ShapeSpanIterator;
Exception table:
from to target type
2 4 4 any
MethodParameters:
Name Flags
sg
s
public void fill(sun.java2d.SunGraphics2D, java.awt.Shape);
descriptor: (Lsun/java2d/SunGraphics2D;Ljava/awt/Shape;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof java.awt.geom.Rectangle2D
ifeq 4
1: aload 1
getfield sun.java2d.SunGraphics2D.transform:Ljava/awt/geom/AffineTransform;
invokevirtual java.awt.geom.AffineTransform.getType:()I
bipush 48
iand
ifne 4
2: aload 0
aload 1
aload 2
checkcast java.awt.geom.Rectangle2D
invokevirtual sun.java2d.pipe.SpanShapeRenderer.renderRect:(Lsun/java2d/SunGraphics2D;Ljava/awt/geom/Rectangle2D;)V
3: return
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.java2d.SunGraphics2D.getCompClip:()Lsun/java2d/pipe/Region;
astore 3
start local 3 5: aload 1
invokestatic sun.java2d.pipe.LoopPipe.getFillSSI:(Lsun/java2d/SunGraphics2D;)Lsun/java2d/pipe/ShapeSpanIterator;
astore 4
start local 4 6: aload 4
aload 3
invokevirtual sun.java2d.pipe.ShapeSpanIterator.setOutputArea:(Lsun/java2d/pipe/Region;)V
7: aload 4
aload 2
aload 1
getfield sun.java2d.SunGraphics2D.transform:Ljava/awt/geom/AffineTransform;
invokeinterface java.awt.Shape.getPathIterator:(Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/PathIterator;
invokevirtual sun.java2d.pipe.ShapeSpanIterator.appendPath:(Ljava/awt/geom/PathIterator;)V
8: aload 0
aload 1
aload 3
aload 2
aload 4
invokevirtual sun.java2d.pipe.SpanShapeRenderer.renderSpans:(Lsun/java2d/SunGraphics2D;Lsun/java2d/pipe/Region;Ljava/awt/Shape;Lsun/java2d/pipe/ShapeSpanIterator;)V
9: goto 13
StackMap locals: sun.java2d.pipe.SpanShapeRenderer sun.java2d.SunGraphics2D java.awt.Shape sun.java2d.pipe.Region sun.java2d.pipe.ShapeSpanIterator
StackMap stack: java.lang.Throwable
10: astore 5
11: aload 4
invokevirtual sun.java2d.pipe.ShapeSpanIterator.dispose:()V
12: aload 5
athrow
13: StackMap locals:
StackMap stack:
aload 4
invokevirtual sun.java2d.pipe.ShapeSpanIterator.dispose:()V
14: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/java2d/pipe/SpanShapeRenderer;
0 15 1 sg Lsun/java2d/SunGraphics2D;
0 15 2 s Ljava/awt/Shape;
5 15 3 clipRegion Lsun/java2d/pipe/Region;
6 15 4 sr Lsun/java2d/pipe/ShapeSpanIterator;
Exception table:
from to target type
6 10 10 any
MethodParameters:
Name Flags
sg
s
public abstract java.lang.Object startSequence(sun.java2d.SunGraphics2D, java.awt.Shape, java.awt.Rectangle, int[]);
descriptor: (Lsun/java2d/SunGraphics2D;Ljava/awt/Shape;Ljava/awt/Rectangle;[I)Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
sg
s
devR
bbox
public abstract void renderBox(java.lang.Object, int, int, int, int);
descriptor: (Ljava/lang/Object;IIII)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
ctx
x
y
w
h
public abstract void endSequence(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
ctx
public void renderRect(sun.java2d.SunGraphics2D, java.awt.geom.Rectangle2D);
descriptor: (Lsun/java2d/SunGraphics2D;Ljava/awt/geom/Rectangle2D;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=9, args_size=3
start local 0 start local 1 start local 2 0: iconst_4
newarray 7
dup
iconst_0
1: aload 2
invokevirtual java.awt.geom.Rectangle2D.getX:()D
dastore
dup
iconst_1
aload 2
invokevirtual java.awt.geom.Rectangle2D.getY:()D
dastore
dup
iconst_2
aload 2
invokevirtual java.awt.geom.Rectangle2D.getWidth:()D
dastore
dup
iconst_3
aload 2
invokevirtual java.awt.geom.Rectangle2D.getHeight:()D
dastore
2: astore 3
start local 3 3: aload 3
iconst_2
dup2
daload
aload 3
iconst_0
daload
dadd
dastore
4: aload 3
iconst_3
dup2
daload
aload 3
iconst_1
daload
dadd
dastore
5: aload 3
iconst_2
daload
aload 3
iconst_0
daload
dcmpg
ifle 6
aload 3
iconst_3
daload
aload 3
iconst_1
daload
dcmpg
ifgt 7
6: StackMap locals: double[]
StackMap stack:
return
7: StackMap locals:
StackMap stack:
aload 1
getfield sun.java2d.SunGraphics2D.transform:Ljava/awt/geom/AffineTransform;
aload 3
iconst_0
aload 3
iconst_0
iconst_2
invokevirtual java.awt.geom.AffineTransform.transform:([DI[DII)V
8: aload 3
iconst_2
daload
aload 3
iconst_0
daload
dcmpg
ifge 12
9: aload 3
iconst_2
daload
dstore 4
start local 4 10: aload 3
iconst_2
aload 3
iconst_0
daload
dastore
11: aload 3
iconst_0
dload 4
dastore
end local 4 12: StackMap locals:
StackMap stack:
aload 3
iconst_3
daload
aload 3
iconst_1
daload
dcmpg
ifge 16
13: aload 3
iconst_3
daload
dstore 4
start local 4 14: aload 3
iconst_3
aload 3
iconst_1
daload
dastore
15: aload 3
iconst_1
dload 4
dastore
end local 4 16: StackMap locals:
StackMap stack:
iconst_4
newarray 10
dup
iconst_0
17: aload 3
iconst_0
daload
d2i
iastore
dup
iconst_1
18: aload 3
iconst_1
daload
d2i
iastore
dup
iconst_2
19: aload 3
iconst_2
daload
d2i
iastore
dup
iconst_3
20: aload 3
iconst_3
daload
d2i
iastore
21: astore 4
start local 4 22: new java.awt.Rectangle
dup
aload 4
iconst_0
iaload
aload 4
iconst_1
iaload
23: aload 4
iconst_2
iaload
aload 4
iconst_0
iaload
isub
24: aload 4
iconst_3
iaload
aload 4
iconst_1
iaload
isub
25: invokespecial java.awt.Rectangle.<init>:(IIII)V
astore 5
start local 5 26: aload 1
invokevirtual sun.java2d.SunGraphics2D.getCompClip:()Lsun/java2d/pipe/Region;
astore 6
start local 6 27: aload 6
aload 4
invokevirtual sun.java2d.pipe.Region.clipBoxToBounds:([I)V
28: aload 4
iconst_0
iaload
aload 4
iconst_2
iaload
if_icmpge 29
aload 4
iconst_1
iaload
aload 4
iconst_3
iaload
if_icmplt 30
29: StackMap locals: int[] java.awt.Rectangle sun.java2d.pipe.Region
StackMap stack:
return
30: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 5
aload 4
invokevirtual sun.java2d.pipe.SpanShapeRenderer.startSequence:(Lsun/java2d/SunGraphics2D;Ljava/awt/Shape;Ljava/awt/Rectangle;[I)Ljava/lang/Object;
astore 7
start local 7 31: aload 6
invokevirtual sun.java2d.pipe.Region.isRectangular:()Z
ifeq 37
32: aload 0
aload 7
aload 4
iconst_0
iaload
aload 4
iconst_1
iaload
33: aload 4
iconst_2
iaload
aload 4
iconst_0
iaload
isub
34: aload 4
iconst_3
iaload
aload 4
iconst_1
iaload
isub
35: invokevirtual sun.java2d.pipe.SpanShapeRenderer.renderBox:(Ljava/lang/Object;IIII)V
36: goto 44
37: StackMap locals: java.lang.Object
StackMap stack:
aload 6
aload 4
invokevirtual sun.java2d.pipe.Region.getSpanIterator:([I)Lsun/java2d/pipe/SpanIterator;
astore 8
start local 8 38: goto 43
39: StackMap locals: sun.java2d.pipe.SpanIterator
StackMap stack:
aload 0
aload 7
aload 4
iconst_0
iaload
aload 4
iconst_1
iaload
40: aload 4
iconst_2
iaload
aload 4
iconst_0
iaload
isub
41: aload 4
iconst_3
iaload
aload 4
iconst_1
iaload
isub
42: invokevirtual sun.java2d.pipe.SpanShapeRenderer.renderBox:(Ljava/lang/Object;IIII)V
43: StackMap locals:
StackMap stack:
aload 8
aload 4
invokeinterface sun.java2d.pipe.SpanIterator.nextSpan:([I)Z
ifne 39
end local 8 44: StackMap locals:
StackMap stack:
aload 0
aload 7
invokevirtual sun.java2d.pipe.SpanShapeRenderer.endSequence:(Ljava/lang/Object;)V
45: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lsun/java2d/pipe/SpanShapeRenderer;
0 46 1 sg Lsun/java2d/SunGraphics2D;
0 46 2 r Ljava/awt/geom/Rectangle2D;
3 46 3 corners [D
10 12 4 t D
14 16 4 t D
22 46 4 abox [I
26 46 5 devR Ljava/awt/Rectangle;
27 46 6 clipRegion Lsun/java2d/pipe/Region;
31 46 7 context Ljava/lang/Object;
38 44 8 sr Lsun/java2d/pipe/SpanIterator;
MethodParameters:
Name Flags
sg
r
public void renderSpans(sun.java2d.SunGraphics2D, sun.java2d.pipe.Region, java.awt.Shape, sun.java2d.pipe.ShapeSpanIterator);
descriptor: (Lsun/java2d/SunGraphics2D;Lsun/java2d/pipe/Region;Ljava/awt/Shape;Lsun/java2d/pipe/ShapeSpanIterator;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
start local 5 1: iconst_4
newarray 10
astore 6
start local 6 2: aload 4
aload 6
invokevirtual sun.java2d.pipe.ShapeSpanIterator.getPathBox:([I)V
3: new java.awt.Rectangle
dup
aload 6
iconst_0
iaload
aload 6
iconst_1
iaload
4: aload 6
iconst_2
iaload
aload 6
iconst_0
iaload
isub
5: aload 6
iconst_3
iaload
aload 6
iconst_1
iaload
isub
6: invokespecial java.awt.Rectangle.<init>:(IIII)V
astore 7
start local 7 7: aload 2
aload 6
invokevirtual sun.java2d.pipe.Region.clipBoxToBounds:([I)V
8: aload 6
iconst_0
iaload
aload 6
iconst_2
iaload
if_icmpge 9
aload 6
iconst_1
iaload
aload 6
iconst_3
iaload
if_icmplt 12
9: StackMap locals: java.lang.Object int[] java.awt.Rectangle
StackMap stack:
aload 5
ifnull 11
10: aload 0
aload 5
invokevirtual sun.java2d.pipe.SpanShapeRenderer.endSequence:(Ljava/lang/Object;)V
11: StackMap locals:
StackMap stack:
return
12: StackMap locals:
StackMap stack:
aload 4
aload 6
iconst_0
iaload
aload 6
iconst_1
iaload
aload 6
iconst_2
iaload
aload 6
iconst_3
iaload
invokevirtual sun.java2d.pipe.ShapeSpanIterator.intersectClipBox:(IIII)V
13: aload 0
aload 1
aload 3
aload 7
aload 6
invokevirtual sun.java2d.pipe.SpanShapeRenderer.startSequence:(Lsun/java2d/SunGraphics2D;Ljava/awt/Shape;Ljava/awt/Rectangle;[I)Ljava/lang/Object;
astore 5
14: aload 0
aload 5
aload 4
aload 2
aload 6
invokevirtual sun.java2d.pipe.SpanShapeRenderer.spanClipLoop:(Ljava/lang/Object;Lsun/java2d/pipe/SpanIterator;Lsun/java2d/pipe/Region;[I)V
end local 7 15: goto 20
StackMap locals: sun.java2d.pipe.SpanShapeRenderer sun.java2d.SunGraphics2D sun.java2d.pipe.Region java.awt.Shape sun.java2d.pipe.ShapeSpanIterator java.lang.Object int[]
StackMap stack: java.lang.Throwable
16: astore 8
17: aload 5
ifnull 19
18: aload 0
aload 5
invokevirtual sun.java2d.pipe.SpanShapeRenderer.endSequence:(Ljava/lang/Object;)V
19: StackMap locals: sun.java2d.pipe.SpanShapeRenderer sun.java2d.SunGraphics2D sun.java2d.pipe.Region java.awt.Shape sun.java2d.pipe.ShapeSpanIterator java.lang.Object int[] top java.lang.Throwable
StackMap stack:
aload 8
athrow
20: StackMap locals: sun.java2d.pipe.SpanShapeRenderer sun.java2d.SunGraphics2D sun.java2d.pipe.Region java.awt.Shape sun.java2d.pipe.ShapeSpanIterator java.lang.Object int[]
StackMap stack:
aload 5
ifnull 22
21: aload 0
aload 5
invokevirtual sun.java2d.pipe.SpanShapeRenderer.endSequence:(Ljava/lang/Object;)V
22: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/java2d/pipe/SpanShapeRenderer;
0 23 1 sg Lsun/java2d/SunGraphics2D;
0 23 2 clipRegion Lsun/java2d/pipe/Region;
0 23 3 s Ljava/awt/Shape;
0 23 4 sr Lsun/java2d/pipe/ShapeSpanIterator;
1 23 5 context Ljava/lang/Object;
2 23 6 abox [I
7 15 7 devR Ljava/awt/Rectangle;
Exception table:
from to target type
2 9 16 any
12 16 16 any
MethodParameters:
Name Flags
sg
clipRegion
s
sr
public void spanClipLoop(java.lang.Object, sun.java2d.pipe.SpanIterator, sun.java2d.pipe.Region, int[]);
descriptor: (Ljava/lang/Object;Lsun/java2d/pipe/SpanIterator;Lsun/java2d/pipe/Region;[I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokevirtual sun.java2d.pipe.Region.isRectangular:()Z
ifne 6
1: aload 3
aload 2
invokevirtual sun.java2d.pipe.Region.filter:(Lsun/java2d/pipe/SpanIterator;)Lsun/java2d/pipe/SpanIterator;
astore 2
2: goto 6
3: StackMap locals:
StackMap stack:
aload 4
iconst_0
iaload
istore 5
start local 5 4: aload 4
iconst_1
iaload
istore 6
start local 6 5: aload 0
aload 1
iload 5
iload 6
aload 4
iconst_2
iaload
iload 5
isub
aload 4
iconst_3
iaload
iload 6
isub
invokevirtual sun.java2d.pipe.SpanShapeRenderer.renderBox:(Ljava/lang/Object;IIII)V
end local 6 end local 5 6: StackMap locals:
StackMap stack:
aload 2
aload 4
invokeinterface sun.java2d.pipe.SpanIterator.nextSpan:([I)Z
ifne 3
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/java2d/pipe/SpanShapeRenderer;
0 8 1 ctx Ljava/lang/Object;
0 8 2 sr Lsun/java2d/pipe/SpanIterator;
0 8 3 r Lsun/java2d/pipe/Region;
0 8 4 abox [I
4 6 5 x I
5 6 6 y I
MethodParameters:
Name Flags
ctx
sr
r
abox
}
SourceFile: "SpanShapeRenderer.java"
NestMembers:
sun.java2d.pipe.SpanShapeRenderer$Composite sun.java2d.pipe.SpanShapeRenderer$Simple
InnerClasses:
public Composite = sun.java2d.pipe.SpanShapeRenderer$Composite of sun.java2d.pipe.SpanShapeRenderer
public Simple = sun.java2d.pipe.SpanShapeRenderer$Simple of sun.java2d.pipe.SpanShapeRenderer