public class javafx.scene.canvas.Canvas extends javafx.scene.Node
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: javafx.scene.canvas.Canvas
super_class: javafx.scene.Node
{
static final int DEFAULT_VAL_BUF_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1024
static final int DEFAULT_OBJ_BUF_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 32
private static final int SIZE_HISTORY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private com.sun.javafx.sg.prism.GrowableDataBuffer current;
descriptor: Lcom/sun/javafx/sg/prism/GrowableDataBuffer;
flags: (0x0002) ACC_PRIVATE
private boolean rendererBehind;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int[] recentvalsizes;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int[] recentobjsizes;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int lastsizeindex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private javafx.scene.canvas.GraphicsContext theContext;
descriptor: Ljavafx/scene/canvas/GraphicsContext;
flags: (0x0002) ACC_PRIVATE
private javafx.beans.property.DoubleProperty width;
descriptor: Ljavafx/beans/property/DoubleProperty;
flags: (0x0002) ACC_PRIVATE
private javafx.beans.property.DoubleProperty height;
descriptor: Ljavafx/beans/property/DoubleProperty;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new javafx.scene.canvas.Canvas$1
dup
invokespecial javafx.scene.canvas.Canvas$1.<init>:()V
invokestatic com.sun.javafx.scene.canvas.CanvasHelper.setCanvasAccessor:(Lcom/sun/javafx/scene/canvas/CanvasHelper$CanvasAccessor;)V
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
dconst_0
dconst_0
invokespecial javafx.scene.canvas.Canvas.<init>:(DD)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavafx/scene/canvas/Canvas;
public void <init>(double, double);
descriptor: (DD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokespecial javafx.scene.Node.<init>:()V
1: aload 0
invokestatic com.sun.javafx.scene.canvas.CanvasHelper.initHelper:(Ljavafx/scene/canvas/Canvas;)V
2: aload 0
iconst_5
newarray 10
putfield javafx.scene.canvas.Canvas.recentvalsizes:[I
3: aload 0
iconst_5
newarray 10
putfield javafx.scene.canvas.Canvas.recentobjsizes:[I
4: aload 0
getstatic javafx.geometry.NodeOrientation.LEFT_TO_RIGHT:Ljavafx/geometry/NodeOrientation;
invokevirtual javafx.scene.canvas.Canvas.setNodeOrientation:(Ljavafx/geometry/NodeOrientation;)V
5: aload 0
dload 1
invokevirtual javafx.scene.canvas.Canvas.setWidth:(D)V
6: aload 0
dload 3
invokevirtual javafx.scene.canvas.Canvas.setHeight:(D)V
7: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljavafx/scene/canvas/Canvas;
0 8 1 width D
0 8 3 height D
MethodParameters:
Name Flags
width
height
private static int max(int[], int);
descriptor: ([II)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 4
StackMap locals: int[] int top int int int[]
StackMap stack:
1: aload 5
iload 3
iaload
istore 2
start local 2 2: iload 1
iload 2
if_icmpge 3
iload 2
istore 1
end local 2 3: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
4: iload 3
iload 4
if_icmplt 1
5: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 sizes [I
0 6 1 defsize I
2 3 2 s I
MethodParameters:
Name Flags
sizes
defsize
com.sun.javafx.sg.prism.GrowableDataBuffer getBuffer();
descriptor: ()Lcom/sun/javafx/sg/prism/GrowableDataBuffer;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getstatic com.sun.javafx.scene.DirtyBits.NODE_CONTENTS:Lcom/sun/javafx/scene/DirtyBits;
invokestatic com.sun.javafx.scene.NodeHelper.markDirty:(Ljavafx/scene/Node;Lcom/sun/javafx/scene/DirtyBits;)V
1: aload 0
getstatic com.sun.javafx.scene.DirtyBits.NODE_FORCE_SYNC:Lcom/sun/javafx/scene/DirtyBits;
invokestatic com.sun.javafx.scene.NodeHelper.markDirty:(Ljavafx/scene/Node;Lcom/sun/javafx/scene/DirtyBits;)V
2: aload 0
getfield javafx.scene.canvas.Canvas.current:Lcom/sun/javafx/sg/prism/GrowableDataBuffer;
ifnonnull 7
3: aload 0
getfield javafx.scene.canvas.Canvas.recentvalsizes:[I
sipush 1024
invokestatic javafx.scene.canvas.Canvas.max:([II)I
istore 1
start local 1 4: aload 0
getfield javafx.scene.canvas.Canvas.recentobjsizes:[I
bipush 32
invokestatic javafx.scene.canvas.Canvas.max:([II)I
istore 2
start local 2 5: aload 0
iload 1
iload 2
invokestatic com.sun.javafx.sg.prism.GrowableDataBuffer.getBuffer:(II)Lcom/sun/javafx/sg/prism/GrowableDataBuffer;
putfield javafx.scene.canvas.Canvas.current:Lcom/sun/javafx/sg/prism/GrowableDataBuffer;
6: aload 0
getfield javafx.scene.canvas.Canvas.theContext:Ljavafx/scene/canvas/GraphicsContext;
invokevirtual javafx.scene.canvas.GraphicsContext.updateDimensions:()V
end local 2 end local 1 7: StackMap locals:
StackMap stack:
aload 0
getfield javafx.scene.canvas.Canvas.current:Lcom/sun/javafx/sg/prism/GrowableDataBuffer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljavafx/scene/canvas/Canvas;
4 7 1 vsize I
5 7 2 osize I
boolean isRendererFallingBehind();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javafx.scene.canvas.Canvas.rendererBehind:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavafx/scene/canvas/Canvas;
public javafx.scene.canvas.GraphicsContext getGraphicsContext2D();
descriptor: ()Ljavafx/scene/canvas/GraphicsContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield javafx.scene.canvas.Canvas.theContext:Ljavafx/scene/canvas/GraphicsContext;
ifnonnull 2
1: aload 0
new javafx.scene.canvas.GraphicsContext
dup
aload 0
invokespecial javafx.scene.canvas.GraphicsContext.<init>:(Ljavafx/scene/canvas/Canvas;)V
putfield javafx.scene.canvas.Canvas.theContext:Ljavafx/scene/canvas/GraphicsContext;
2: StackMap locals:
StackMap stack:
aload 0
getfield javafx.scene.canvas.Canvas.theContext:Ljavafx/scene/canvas/GraphicsContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavafx/scene/canvas/Canvas;
public final void setWidth(double);
descriptor: (D)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javafx.scene.canvas.Canvas.widthProperty:()Ljavafx/beans/property/DoubleProperty;
dload 1
invokevirtual javafx.beans.property.DoubleProperty.set:(D)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavafx/scene/canvas/Canvas;
0 2 1 value D
MethodParameters:
Name Flags
value
public final double getWidth();
descriptor: ()D
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield javafx.scene.canvas.Canvas.width:Ljavafx/beans/property/DoubleProperty;
ifnonnull 1
dconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield javafx.scene.canvas.Canvas.width:Ljavafx/beans/property/DoubleProperty;
invokevirtual javafx.beans.property.DoubleProperty.get:()D
StackMap locals:
StackMap stack: double
2: dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavafx/scene/canvas/Canvas;
public final javafx.beans.property.DoubleProperty widthProperty();
descriptor: ()Ljavafx/beans/property/DoubleProperty;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield javafx.scene.canvas.Canvas.width:Ljavafx/beans/property/DoubleProperty;
ifnonnull 2
1: aload 0
new javafx.scene.canvas.Canvas$2
dup
aload 0
invokespecial javafx.scene.canvas.Canvas$2.<init>:(Ljavafx/scene/canvas/Canvas;)V
putfield javafx.scene.canvas.Canvas.width:Ljavafx/beans/property/DoubleProperty;
2: StackMap locals:
StackMap stack:
aload 0
getfield javafx.scene.canvas.Canvas.width:Ljavafx/beans/property/DoubleProperty;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavafx/scene/canvas/Canvas;
public final void setHeight(double);
descriptor: (D)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual javafx.scene.canvas.Canvas.heightProperty:()Ljavafx/beans/property/DoubleProperty;
dload 1
invokevirtual javafx.beans.property.DoubleProperty.set:(D)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavafx/scene/canvas/Canvas;
0 2 1 value D
MethodParameters:
Name Flags
value
public final double getHeight();
descriptor: ()D
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield javafx.scene.canvas.Canvas.height:Ljavafx/beans/property/DoubleProperty;
ifnonnull 1
dconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield javafx.scene.canvas.Canvas.height:Ljavafx/beans/property/DoubleProperty;
invokevirtual javafx.beans.property.DoubleProperty.get:()D
StackMap locals:
StackMap stack: double
2: dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavafx/scene/canvas/Canvas;
public final javafx.beans.property.DoubleProperty heightProperty();
descriptor: ()Ljavafx/beans/property/DoubleProperty;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield javafx.scene.canvas.Canvas.height:Ljavafx/beans/property/DoubleProperty;
ifnonnull 2
1: aload 0
new javafx.scene.canvas.Canvas$3
dup
aload 0
invokespecial javafx.scene.canvas.Canvas$3.<init>:(Ljavafx/scene/canvas/Canvas;)V
putfield javafx.scene.canvas.Canvas.height:Ljavafx/beans/property/DoubleProperty;
2: StackMap locals:
StackMap stack:
aload 0
getfield javafx.scene.canvas.Canvas.height:Ljavafx/beans/property/DoubleProperty;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavafx/scene/canvas/Canvas;
private com.sun.javafx.sg.prism.NGNode doCreatePeer();
descriptor: ()Lcom/sun/javafx/sg/prism/NGNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: new com.sun.javafx.sg.prism.NGCanvas
dup
invokespecial com.sun.javafx.sg.prism.NGCanvas.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavafx/scene/canvas/Canvas;
private void doUpdatePeer();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getstatic com.sun.javafx.scene.DirtyBits.NODE_GEOMETRY:Lcom/sun/javafx/scene/DirtyBits;
invokestatic com.sun.javafx.scene.NodeHelper.isDirty:(Ljavafx/scene/Node;Lcom/sun/javafx/scene/DirtyBits;)Z
ifeq 5
1: aload 0
invokestatic com.sun.javafx.scene.NodeHelper.getPeer:(Ljavafx/scene/Node;)Lcom/sun/javafx/sg/prism/NGNode;
checkcast com.sun.javafx.sg.prism.NGCanvas
astore 1
start local 1 2: aload 1
aload 0
invokevirtual javafx.scene.canvas.Canvas.getWidth:()D
d2f
3: aload 0
invokevirtual javafx.scene.canvas.Canvas.getHeight:()D
d2f
4: invokevirtual com.sun.javafx.sg.prism.NGCanvas.updateBounds:(FF)V
end local 1 5: StackMap locals:
StackMap stack:
aload 0
getstatic com.sun.javafx.scene.DirtyBits.NODE_CONTENTS:Lcom/sun/javafx/scene/DirtyBits;
invokestatic com.sun.javafx.scene.NodeHelper.isDirty:(Ljavafx/scene/Node;Lcom/sun/javafx/scene/DirtyBits;)Z
ifeq 14
6: aload 0
invokestatic com.sun.javafx.scene.NodeHelper.getPeer:(Ljavafx/scene/Node;)Lcom/sun/javafx/sg/prism/NGNode;
checkcast com.sun.javafx.sg.prism.NGCanvas
astore 1
start local 1 7: aload 0
getfield javafx.scene.canvas.Canvas.current:Lcom/sun/javafx/sg/prism/GrowableDataBuffer;
ifnull 14
aload 0
getfield javafx.scene.canvas.Canvas.current:Lcom/sun/javafx/sg/prism/GrowableDataBuffer;
invokevirtual com.sun.javafx.sg.prism.GrowableDataBuffer.isEmpty:()Z
ifne 14
8: aload 0
dup
getfield javafx.scene.canvas.Canvas.lastsizeindex:I
iconst_1
isub
dup_x1
putfield javafx.scene.canvas.Canvas.lastsizeindex:I
ifge 10
9: aload 0
iconst_4
putfield javafx.scene.canvas.Canvas.lastsizeindex:I
10: StackMap locals: com.sun.javafx.sg.prism.NGCanvas
StackMap stack:
aload 0
getfield javafx.scene.canvas.Canvas.recentvalsizes:[I
aload 0
getfield javafx.scene.canvas.Canvas.lastsizeindex:I
aload 0
getfield javafx.scene.canvas.Canvas.current:Lcom/sun/javafx/sg/prism/GrowableDataBuffer;
invokevirtual com.sun.javafx.sg.prism.GrowableDataBuffer.writeValuePosition:()I
iastore
11: aload 0
getfield javafx.scene.canvas.Canvas.recentobjsizes:[I
aload 0
getfield javafx.scene.canvas.Canvas.lastsizeindex:I
aload 0
getfield javafx.scene.canvas.Canvas.current:Lcom/sun/javafx/sg/prism/GrowableDataBuffer;
invokevirtual com.sun.javafx.sg.prism.GrowableDataBuffer.writeObjectPosition:()I
iastore
12: aload 0
aload 1
aload 0
getfield javafx.scene.canvas.Canvas.current:Lcom/sun/javafx/sg/prism/GrowableDataBuffer;
invokevirtual com.sun.javafx.sg.prism.NGCanvas.updateRendering:(Lcom/sun/javafx/sg/prism/GrowableDataBuffer;)Z
putfield javafx.scene.canvas.Canvas.rendererBehind:Z
13: aload 0
aconst_null
putfield javafx.scene.canvas.Canvas.current:Lcom/sun/javafx/sg/prism/GrowableDataBuffer;
end local 1 14: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljavafx/scene/canvas/Canvas;
2 5 1 peer Lcom/sun/javafx/sg/prism/NGCanvas;
7 14 1 peer Lcom/sun/javafx/sg/prism/NGCanvas;
private boolean doComputeContains(double, double);
descriptor: (DD)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokevirtual javafx.scene.canvas.Canvas.getWidth:()D
dstore 5
start local 5 1: aload 0
invokevirtual javafx.scene.canvas.Canvas.getHeight:()D
dstore 7
start local 7 2: dload 5
dconst_0
dcmpl
ifle 6
dload 7
dconst_0
dcmpl
ifle 6
3: dload 1
dconst_0
dcmpl
iflt 6
dload 3
dconst_0
dcmpl
iflt 6
4: dload 1
dload 5
dcmpg
ifge 6
dload 3
dload 7
5: dcmpg
ifge 6
iconst_1
ireturn
StackMap locals: double double
StackMap stack:
6: iconst_0
ireturn
end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavafx/scene/canvas/Canvas;
0 7 1 localX D
0 7 3 localY D
1 7 5 w D
2 7 7 h D
MethodParameters:
Name Flags
localX
localY
private com.sun.javafx.geom.BaseBounds doComputeGeomBounds(com.sun.javafx.geom.BaseBounds, com.sun.javafx.geom.transform.BaseTransform);
descriptor: (Lcom/sun/javafx/geom/BaseBounds;Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/geom/BaseBounds;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new com.sun.javafx.geom.RectBounds
dup
fconst_0
fconst_0
aload 0
invokevirtual javafx.scene.canvas.Canvas.getWidth:()D
d2f
aload 0
invokevirtual javafx.scene.canvas.Canvas.getHeight:()D
d2f
invokespecial com.sun.javafx.geom.RectBounds.<init>:(FFFF)V
astore 1
1: aload 2
aload 1
aload 1
invokevirtual com.sun.javafx.geom.transform.BaseTransform.transform:(Lcom/sun/javafx/geom/BaseBounds;Lcom/sun/javafx/geom/BaseBounds;)Lcom/sun/javafx/geom/BaseBounds;
astore 1
2: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavafx/scene/canvas/Canvas;
0 3 1 bounds Lcom/sun/javafx/geom/BaseBounds;
0 3 2 tx Lcom/sun/javafx/geom/transform/BaseTransform;
MethodParameters:
Name Flags
bounds
tx
}
SourceFile: "Canvas.java"
NestMembers:
javafx.scene.canvas.Canvas$1 javafx.scene.canvas.Canvas$2 javafx.scene.canvas.Canvas$3
InnerClasses:
public abstract CanvasAccessor = com.sun.javafx.scene.canvas.CanvasHelper$CanvasAccessor of com.sun.javafx.scene.canvas.CanvasHelper
javafx.scene.canvas.Canvas$1
javafx.scene.canvas.Canvas$2
javafx.scene.canvas.Canvas$3