public class com.sun.javafx.sg.prism.CacheFilter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.javafx.sg.prism.CacheFilter
super_class: java.lang.Object
{
private static final com.sun.javafx.geom.Rectangle TEMP_RECT;
descriptor: Lcom/sun/javafx/geom/Rectangle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.sun.javafx.geom.DirtyRegionContainer TEMP_CONTAINER;
descriptor: Lcom/sun/javafx/geom/DirtyRegionContainer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.sun.javafx.geom.transform.Affine3D TEMP_CACHEFILTER_TRANSFORM;
descriptor: Lcom/sun/javafx/geom/transform/Affine3D;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.sun.javafx.geom.RectBounds TEMP_BOUNDS;
descriptor: Lcom/sun/javafx/geom/RectBounds;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final double EPSILON;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1.0E-7
private com.sun.prism.RTTexture tempTexture;
descriptor: Lcom/sun/prism/RTTexture;
flags: (0x0002) ACC_PRIVATE
private double lastXDelta;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double lastYDelta;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState scrollCacheState;
descriptor: Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
flags: (0x0002) ACC_PRIVATE
private com.sun.scenario.effect.ImageData cachedImageData;
descriptor: Lcom/sun/scenario/effect/ImageData;
flags: (0x0002) ACC_PRIVATE
private com.sun.javafx.geom.Rectangle cacheBounds;
descriptor: Lcom/sun/javafx/geom/Rectangle;
flags: (0x0002) ACC_PRIVATE
private final com.sun.javafx.geom.transform.Affine2D cachedXform;
descriptor: Lcom/sun/javafx/geom/transform/Affine2D;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private double cachedScaleX;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double cachedScaleY;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double cachedRotate;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double cachedX;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private double cachedY;
descriptor: D
flags: (0x0002) ACC_PRIVATE
private com.sun.javafx.sg.prism.NGNode node;
descriptor: Lcom/sun/javafx/sg/prism/NGNode;
flags: (0x0002) ACC_PRIVATE
private final com.sun.javafx.geom.transform.Affine2D screenXform;
descriptor: Lcom/sun/javafx/geom/transform/Affine2D;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean scaleHint;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean rotateHint;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private javafx.scene.CacheHint cacheHint;
descriptor: Ljavafx/scene/CacheHint;
flags: (0x0002) ACC_PRIVATE
private boolean wasUnsupported;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new com.sun.javafx.geom.Rectangle
dup
invokespecial com.sun.javafx.geom.Rectangle.<init>:()V
putstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_RECT:Lcom/sun/javafx/geom/Rectangle;
1: new com.sun.javafx.geom.DirtyRegionContainer
dup
iconst_1
invokespecial com.sun.javafx.geom.DirtyRegionContainer.<init>:(I)V
putstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_CONTAINER:Lcom/sun/javafx/geom/DirtyRegionContainer;
2: new com.sun.javafx.geom.transform.Affine3D
dup
invokespecial com.sun.javafx.geom.transform.Affine3D.<init>:()V
putstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_CACHEFILTER_TRANSFORM:Lcom/sun/javafx/geom/transform/Affine3D;
3: new com.sun.javafx.geom.RectBounds
dup
invokespecial com.sun.javafx.geom.RectBounds.<init>:()V
putstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_BOUNDS:Lcom/sun/javafx/geom/RectBounds;
4: return
LocalVariableTable:
Start End Slot Name Signature
private com.sun.javafx.geom.Rectangle computeDirtyRegionForTranslate();
descriptor: ()Lcom/sun/javafx/geom/Rectangle;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
dconst_0
dcmpl
ifeq 6
1: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
dconst_0
dcmpl
ifle 4
2: getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_RECT:Lcom/sun/javafx/geom/Rectangle;
iconst_0
iconst_0
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
d2i
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
getfield com.sun.javafx.geom.Rectangle.height:I
invokevirtual com.sun.javafx.geom.Rectangle.setBounds:(IIII)V
3: goto 10
4: StackMap locals:
StackMap stack:
getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_RECT:Lcom/sun/javafx/geom/Rectangle;
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
getfield com.sun.javafx.geom.Rectangle.width:I
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
d2i
iadd
iconst_0
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
d2i
ineg
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
getfield com.sun.javafx.geom.Rectangle.height:I
invokevirtual com.sun.javafx.geom.Rectangle.setBounds:(IIII)V
5: goto 10
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
dconst_0
dcmpl
ifle 9
7: getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_RECT:Lcom/sun/javafx/geom/Rectangle;
iconst_0
iconst_0
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
getfield com.sun.javafx.geom.Rectangle.width:I
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
d2i
invokevirtual com.sun.javafx.geom.Rectangle.setBounds:(IIII)V
8: goto 10
9: StackMap locals:
StackMap stack:
getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_RECT:Lcom/sun/javafx/geom/Rectangle;
iconst_0
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
getfield com.sun.javafx.geom.Rectangle.height:I
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
d2i
iadd
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
getfield com.sun.javafx.geom.Rectangle.width:I
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
d2i
ineg
invokevirtual com.sun.javafx.geom.Rectangle.setBounds:(IIII)V
10: StackMap locals:
StackMap stack:
getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_RECT:Lcom/sun/javafx/geom/Rectangle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
protected void <init>(com.sun.javafx.sg.prism.NGNode, javafx.scene.CacheHint);
descriptor: (Lcom/sun/javafx/sg/prism/NGNode;Ljavafx/scene/CacheHint;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
getstatic com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState.CHECKING_PRECONDITIONS:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
putfield com.sun.javafx.sg.prism.CacheFilter.scrollCacheState:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
2: aload 0
new com.sun.javafx.geom.Rectangle
dup
invokespecial com.sun.javafx.geom.Rectangle.<init>:()V
putfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
3: aload 0
new com.sun.javafx.geom.transform.Affine2D
dup
invokespecial com.sun.javafx.geom.transform.Affine2D.<init>:()V
putfield com.sun.javafx.sg.prism.CacheFilter.cachedXform:Lcom/sun/javafx/geom/transform/Affine2D;
4: aload 0
new com.sun.javafx.geom.transform.Affine2D
dup
invokespecial com.sun.javafx.geom.transform.Affine2D.<init>:()V
putfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
5: aload 0
iconst_0
putfield com.sun.javafx.sg.prism.CacheFilter.wasUnsupported:Z
6: aload 0
aload 1
putfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
7: aload 0
getstatic com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState.CHECKING_PRECONDITIONS:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
putfield com.sun.javafx.sg.prism.CacheFilter.scrollCacheState:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
8: aload 0
aload 2
invokevirtual com.sun.javafx.sg.prism.CacheFilter.setHint:(Ljavafx/scene/CacheHint;)V
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 10 1 node Lcom/sun/javafx/sg/prism/NGNode;
0 10 2 cacheHint Ljavafx/scene/CacheHint;
MethodParameters:
Name Flags
node
cacheHint
public void setHint(javafx.scene.CacheHint);
descriptor: (Ljavafx/scene/CacheHint;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.sun.javafx.sg.prism.CacheFilter.cacheHint:Ljavafx/scene/CacheHint;
1: aload 0
aload 1
getstatic javafx.scene.CacheHint.SPEED:Ljavafx/scene/CacheHint;
if_acmpeq 4
2: aload 1
getstatic javafx.scene.CacheHint.SCALE:Ljavafx/scene/CacheHint;
if_acmpeq 4
3: aload 1
getstatic javafx.scene.CacheHint.SCALE_AND_ROTATE:Ljavafx/scene/CacheHint;
if_acmpeq 4
iconst_0
goto 5
StackMap locals:
StackMap stack: com.sun.javafx.sg.prism.CacheFilter
4: iconst_1
5: StackMap locals: com.sun.javafx.sg.prism.CacheFilter javafx.scene.CacheHint
StackMap stack: com.sun.javafx.sg.prism.CacheFilter int
putfield com.sun.javafx.sg.prism.CacheFilter.scaleHint:Z
6: aload 0
aload 1
getstatic javafx.scene.CacheHint.SPEED:Ljavafx/scene/CacheHint;
if_acmpeq 9
7: aload 1
getstatic javafx.scene.CacheHint.ROTATE:Ljavafx/scene/CacheHint;
if_acmpeq 9
8: aload 1
getstatic javafx.scene.CacheHint.SCALE_AND_ROTATE:Ljavafx/scene/CacheHint;
if_acmpeq 9
iconst_0
goto 10
StackMap locals:
StackMap stack: com.sun.javafx.sg.prism.CacheFilter
9: iconst_1
10: StackMap locals: com.sun.javafx.sg.prism.CacheFilter javafx.scene.CacheHint
StackMap stack: com.sun.javafx.sg.prism.CacheFilter int
putfield com.sun.javafx.sg.prism.CacheFilter.rotateHint:Z
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 12 1 cacheHint Ljavafx/scene/CacheHint;
MethodParameters:
Name Flags
cacheHint
final boolean isScaleHint();
descriptor: ()Z
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.scaleHint:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
final boolean isRotateHint();
descriptor: ()Z
flags: (0x0010) ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.rotateHint:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
boolean matchesHint(javafx.scene.CacheHint);
descriptor: (Ljavafx/scene/CacheHint;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cacheHint:Ljavafx/scene/CacheHint;
aload 1
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 2 1 cacheHint Ljavafx/scene/CacheHint;
MethodParameters:
Name Flags
cacheHint
boolean unsupported(double[]);
descriptor: ([D)Z
flags: (0x0000)
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
daload
dstore 2
start local 2 1: aload 1
iconst_1
daload
dstore 4
start local 4 2: aload 1
iconst_2
daload
dstore 6
start local 6 3: dload 6
ldc 1.0E-7
dcmpl
ifgt 4
dload 6
ldc -1.0E-7
dcmpg
ifge 11
4: StackMap locals: double double double
StackMap stack:
dload 2
dload 4
ldc 1.0E-7
dadd
dcmpl
ifgt 10
dload 4
dload 2
ldc 1.0E-7
dadd
dcmpl
ifgt 10
5: dload 2
dload 4
ldc 1.0E-7
dsub
dcmpg
iflt 10
dload 4
dload 2
ldc 1.0E-7
dsub
dcmpg
iflt 10
6: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
ldc 1.0E-7
dadd
dcmpl
ifgt 10
7: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
ldc 1.0E-7
dadd
dcmpl
ifgt 10
8: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
ldc 1.0E-7
dsub
dcmpg
iflt 10
9: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
ldc 1.0E-7
dsub
dcmpg
ifge 11
10: StackMap locals:
StackMap stack:
iconst_1
ireturn
11: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 12 1 xformInfo [D
1 12 2 scaleX D
2 12 4 scaleY D
3 12 6 rotate D
MethodParameters:
Name Flags
xformInfo
private boolean isXformScrollCacheCapable(double[]);
descriptor: ([D)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.sun.javafx.sg.prism.CacheFilter.unsupported:([D)Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
iconst_2
daload
dstore 2
start local 2 3: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.rotateHint:Z
ifne 4
dload 2
dconst_0
dcmpl
ifeq 4
iconst_0
ireturn
StackMap locals: double
StackMap stack:
4: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 5 1 xformInfo [D
3 5 2 rotate D
MethodParameters:
Name Flags
xformInfo
private boolean needToRenderCache(com.sun.javafx.geom.transform.BaseTransform, double[], float, float);
descriptor: (Lcom/sun/javafx/geom/transform/BaseTransform;[DFF)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
ifnonnull 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
dconst_0
dcmpl
ifne 3
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
dconst_0
dcmpl
ifeq 14
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
invokestatic java.lang.Math.abs:(D)D
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
getfield com.sun.javafx.geom.Rectangle.width:I
i2d
dcmpl
ifge 5
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
invokestatic java.lang.Math.abs:(D)D
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
getfield com.sun.javafx.geom.Rectangle.height:I
i2d
dcmpl
ifge 5
4: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
invokestatic java.lang.Math.rint:(D)D
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
dcmpl
ifne 5
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
invokestatic java.lang.Math.rint:(D)D
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
dcmpl
ifeq 8
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
invokevirtual com.sun.javafx.sg.prism.NGNode.clearDirtyTree:()V
6: aload 0
aload 0
dconst_0
dup2_x1
putfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
putfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
7: iconst_1
ireturn
8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.scrollCacheState:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
getstatic com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState.CHECKING_PRECONDITIONS:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
if_acmpne 14
9: aload 0
invokevirtual com.sun.javafx.sg.prism.CacheFilter.scrollCacheCapable:()Z
ifeq 12
aload 0
aload 2
invokevirtual com.sun.javafx.sg.prism.CacheFilter.isXformScrollCacheCapable:([D)Z
ifeq 12
10: aload 0
getstatic com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState.ENABLED:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
putfield com.sun.javafx.sg.prism.CacheFilter.scrollCacheState:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
11: goto 14
12: StackMap locals:
StackMap stack:
aload 0
getstatic com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState.DISABLED:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
putfield com.sun.javafx.sg.prism.CacheFilter.scrollCacheState:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
13: iconst_1
ireturn
14: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedXform:Lcom/sun/javafx/geom/transform/Affine2D;
invokevirtual com.sun.javafx.geom.transform.Affine2D.getMxx:()D
aload 1
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxx:()D
dcmpl
ifne 19
15: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedXform:Lcom/sun/javafx/geom/transform/Affine2D;
invokevirtual com.sun.javafx.geom.transform.Affine2D.getMyy:()D
aload 1
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyy:()D
dcmpl
ifne 19
16: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedXform:Lcom/sun/javafx/geom/transform/Affine2D;
invokevirtual com.sun.javafx.geom.transform.Affine2D.getMxy:()D
aload 1
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxy:()D
dcmpl
ifne 19
17: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedXform:Lcom/sun/javafx/geom/transform/Affine2D;
invokevirtual com.sun.javafx.geom.transform.Affine2D.getMyx:()D
aload 1
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyx:()D
dcmpl
ifne 19
18: iconst_0
ireturn
19: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.wasUnsupported:Z
ifne 20
aload 0
aload 2
invokevirtual com.sun.javafx.sg.prism.CacheFilter.unsupported:([D)Z
ifeq 21
20: StackMap locals:
StackMap stack:
iconst_1
ireturn
21: StackMap locals:
StackMap stack:
aload 2
iconst_0
daload
dstore 5
start local 5 22: aload 2
iconst_1
daload
dstore 7
start local 7 23: aload 2
iconst_2
daload
dstore 9
start local 9 24: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.scaleHint:Z
ifeq 32
25: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
fload 3
f2d
dcmpg
iflt 26
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
fload 4
f2d
dcmpg
ifge 27
26: StackMap locals: double double double
StackMap stack:
iconst_1
ireturn
27: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.rotateHint:Z
ifeq 29
28: iconst_0
ireturn
29: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedRotate:D
ldc 1.0E-7
dsub
dload 9
dcmpg
ifge 31
dload 9
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedRotate:D
ldc 1.0E-7
dadd
dcmpg
ifge 31
30: iconst_0
ireturn
31: StackMap locals:
StackMap stack:
iconst_1
ireturn
32: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.rotateHint:Z
ifeq 37
33: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
ldc 1.0E-7
dsub
dload 5
dcmpg
ifge 36
dload 5
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
ldc 1.0E-7
dadd
dcmpg
ifge 36
34: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
ldc 1.0E-7
dsub
dload 7
dcmpg
ifge 36
dload 7
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
ldc 1.0E-7
dadd
dcmpg
ifge 36
35: iconst_0
ireturn
36: StackMap locals:
StackMap stack:
iconst_1
ireturn
37: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 9 end local 7 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 38 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 38 1 renderXform Lcom/sun/javafx/geom/transform/BaseTransform;
0 38 2 xformInfo [D
0 38 3 pixelScaleX F
0 38 4 pixelScaleY F
22 38 5 scaleX D
23 38 7 scaleY D
24 38 9 rotate D
MethodParameters:
Name Flags
renderXform
xformInfo
pixelScaleX
pixelScaleY
void updateScreenXform(double[]);
descriptor: ([D)V
flags: (0x0000)
Code:
stack=7, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.scaleHint:Z
ifeq 12
1: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.rotateHint:Z
ifeq 8
2: aload 1
iconst_0
daload
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
ddiv
dstore 2
start local 2 3: aload 1
iconst_1
daload
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
ddiv
dstore 4
start local 4 4: aload 1
iconst_2
daload
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedRotate:D
dsub
dstore 6
start local 6 5: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
dload 2
dload 4
invokevirtual com.sun.javafx.geom.transform.Affine2D.setToScale:(DD)V
6: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
dload 6
invokevirtual com.sun.javafx.geom.transform.Affine2D.rotate:(D)V
end local 6 end local 4 end local 2 7: goto 17
8: StackMap locals:
StackMap stack:
aload 1
iconst_0
daload
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
ddiv
dstore 2
start local 2 9: aload 1
iconst_1
daload
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
ddiv
dstore 4
start local 4 10: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
dload 2
dload 4
invokevirtual com.sun.javafx.geom.transform.Affine2D.setToScale:(DD)V
end local 4 end local 2 11: goto 17
12: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.rotateHint:Z
ifeq 16
13: aload 1
iconst_2
daload
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedRotate:D
dsub
dstore 2
start local 2 14: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
dload 2
dconst_0
dconst_0
invokevirtual com.sun.javafx.geom.transform.Affine2D.setToRotation:(DDD)V
end local 2 15: goto 17
16: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
getstatic com.sun.javafx.geom.transform.BaseTransform.IDENTITY_TRANSFORM:Lcom/sun/javafx/geom/transform/BaseTransform;
invokevirtual com.sun.javafx.geom.transform.Affine2D.setTransform:(Lcom/sun/javafx/geom/transform/BaseTransform;)V
17: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 18 1 xformInfo [D
3 7 2 screenScaleX D
4 7 4 screenScaleY D
5 7 6 screenRotate D
9 11 2 screenScaleX D
10 11 4 screenScaleY D
14 15 2 screenRotate D
MethodParameters:
Name Flags
xformInfo
public void invalidate();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.scrollCacheState:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
getstatic com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState.ENABLED:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
if_acmpne 2
1: aload 0
getstatic com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState.CHECKING_PRECONDITIONS:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
putfield com.sun.javafx.sg.prism.CacheFilter.scrollCacheState:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.javafx.sg.prism.CacheFilter.imageDataUnref:()V
3: aload 0
aload 0
dconst_0
dup2_x1
putfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
putfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
void imageDataUnref();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
ifnull 3
1: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.dispose:()V
2: aload 0
aconst_null
putfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
ifnull 9
4: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
invokevirtual com.sun.scenario.effect.ImageData.getUntransformedImage:()Lcom/sun/scenario/effect/Filterable;
astore 1
start local 1 5: aload 1
ifnull 7
6: aload 1
invokeinterface com.sun.scenario.effect.Filterable.lock:()V
7: StackMap locals: com.sun.scenario.effect.Filterable
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
invokevirtual com.sun.scenario.effect.ImageData.unref:()V
8: aload 0
aconst_null
putfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
end local 1 9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
5 9 1 implImage Lcom/sun/scenario/effect/Filterable;
void invalidateByTranslation(double, double);
descriptor: (DD)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.scrollCacheState:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
getstatic com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState.DISABLED:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
if_acmpne 5
3: aload 0
invokevirtual com.sun.javafx.sg.prism.CacheFilter.imageDataUnref:()V
4: goto 10
5: StackMap locals:
StackMap stack:
dload 1
dconst_0
dcmpl
ifeq 8
dload 3
dconst_0
dcmpl
ifeq 8
6: aload 0
invokevirtual com.sun.javafx.sg.prism.CacheFilter.imageDataUnref:()V
7: goto 10
8: StackMap locals:
StackMap stack:
aload 0
dload 3
putfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
9: aload 0
dload 1
putfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
10: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 11 1 translateXDelta D
0 11 3 translateYDelta D
MethodParameters:
Name Flags
translateXDelta
translateYDelta
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.javafx.sg.prism.CacheFilter.invalidate:()V
1: aload 0
aconst_null
putfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
double[] unmatrix(com.sun.javafx.geom.transform.BaseTransform);
descriptor: (Lcom/sun/javafx/geom/transform/BaseTransform;)[D
flags: (0x0000)
Code:
stack=8, locals=20, args_size=2
start local 0 start local 1 0: iconst_3
newarray 7
astore 2
start local 2 1: iconst_2
anewarray double[]
dup
iconst_0
iconst_2
newarray 7
dup
iconst_0
aload 1
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxx:()D
dastore
dup
iconst_1
aload 1
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxy:()D
dastore
aastore
dup
iconst_1
2: iconst_2
newarray 7
dup
iconst_0
aload 1
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyx:()D
dastore
dup
iconst_1
aload 1
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyy:()D
dastore
aastore
3: astore 3
start local 3 4: aload 0
aload 3
iconst_0
aaload
iconst_0
daload
invokevirtual com.sun.javafx.sg.prism.CacheFilter.unitDir:(D)D
dstore 4
start local 4 5: aload 0
aload 3
iconst_1
aaload
iconst_1
daload
invokevirtual com.sun.javafx.sg.prism.CacheFilter.unitDir:(D)D
dstore 6
start local 6 6: dload 4
aload 0
aload 3
iconst_0
aaload
invokevirtual com.sun.javafx.sg.prism.CacheFilter.v2length:([D)D
dmul
dstore 8
start local 8 7: aload 0
aload 3
iconst_0
aaload
dload 4
invokevirtual com.sun.javafx.sg.prism.CacheFilter.v2scale:([DD)V
8: aload 0
aload 3
iconst_0
aaload
aload 3
iconst_1
aaload
invokevirtual com.sun.javafx.sg.prism.CacheFilter.v2dot:([D[D)D
dstore 10
start local 10 9: aload 0
aload 3
iconst_1
aaload
aload 3
iconst_0
aaload
aload 3
iconst_1
aaload
dconst_1
dload 10
dneg
invokevirtual com.sun.javafx.sg.prism.CacheFilter.v2combine:([D[D[DDD)V
10: dload 6
aload 0
aload 3
iconst_1
aaload
invokevirtual com.sun.javafx.sg.prism.CacheFilter.v2length:([D)D
dmul
dstore 12
start local 12 11: aload 0
aload 3
iconst_1
aaload
dload 6
invokevirtual com.sun.javafx.sg.prism.CacheFilter.v2scale:([DD)V
12: aload 3
iconst_1
aaload
iconst_0
daload
dstore 14
start local 14 13: aload 3
iconst_0
aaload
iconst_0
daload
dstore 16
start local 16 14: dconst_0
dstore 18
start local 18 15: dload 14
dconst_0
dcmpl
iflt 18
16: dload 16
invokestatic java.lang.Math.acos:(D)D
dstore 18
17: goto 22
18: StackMap locals: com.sun.javafx.sg.prism.CacheFilter com.sun.javafx.geom.transform.BaseTransform double[] double[][] double double double double double double double double
StackMap stack:
dload 16
dconst_0
dcmpl
ifle 21
19: ldc 6.283185307179586
dload 14
invokestatic java.lang.Math.asin:(D)D
dadd
dstore 18
20: goto 22
21: StackMap locals:
StackMap stack:
ldc 3.141592653589793
dload 16
dneg
invokestatic java.lang.Math.acos:(D)D
dadd
dstore 18
22: StackMap locals:
StackMap stack:
aload 2
iconst_0
dload 8
dastore
23: aload 2
iconst_1
dload 12
dastore
24: aload 2
iconst_2
dload 18
dastore
25: aload 2
areturn
end local 18 end local 16 end local 14 end local 12 end local 10 end local 8 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 26 1 xform Lcom/sun/javafx/geom/transform/BaseTransform;
1 26 2 retVal [D
4 26 3 row [[D
5 26 4 xSignum D
6 26 6 ySignum D
7 26 8 scaleX D
9 26 10 shearXY D
11 26 12 scaleY D
13 26 14 sin D
14 26 16 cos D
15 26 18 angleRad D
MethodParameters:
Name Flags
xform
double unitDir(double);
descriptor: (D)D
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: dload 1
dconst_0
dcmpg
ifge 1
ldc -1.0
goto 2
StackMap locals:
StackMap stack:
1: dconst_1
StackMap locals:
StackMap stack: double
2: dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 3 1 v D
MethodParameters:
Name Flags
v
void v2combine(double[], double[], double[], double, double);
descriptor: ([D[D[DDD)V
flags: (0x0000)
Code:
stack=8, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 6 0: aload 3
iconst_0
dload 4
aload 1
iconst_0
daload
dmul
dload 6
aload 2
iconst_0
daload
dmul
dadd
dastore
1: aload 3
iconst_1
dload 4
aload 1
iconst_1
daload
dmul
dload 6
aload 2
iconst_1
daload
dmul
dadd
dastore
2: return
end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 3 1 v0 [D
0 3 2 v1 [D
0 3 3 result [D
0 3 4 scalarA D
0 3 6 scalarB D
MethodParameters:
Name Flags
v0
v1
result
scalarA
scalarB
double v2dot(double[], double[]);
descriptor: ([D[D)D
flags: (0x0000)
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iconst_0
daload
aload 2
iconst_0
daload
dmul
aload 1
iconst_1
daload
aload 2
iconst_1
daload
dmul
dadd
dreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 1 1 v0 [D
0 1 2 v1 [D
MethodParameters:
Name Flags
v0
v1
void v2scale(double[], double);
descriptor: ([DD)V
flags: (0x0000)
Code:
stack=8, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.sun.javafx.sg.prism.CacheFilter.v2length:([D)D
dstore 4
start local 4 1: dload 4
dconst_0
dcmpl
ifeq 4
2: aload 1
iconst_0
dup2
daload
dload 2
dload 4
ddiv
dmul
dastore
3: aload 1
iconst_1
dup2
daload
dload 2
dload 4
ddiv
dmul
dastore
4: StackMap locals: double
StackMap stack:
return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 5 1 v [D
0 5 2 newLen D
1 5 4 len D
MethodParameters:
Name Flags
v
newLen
double v2length(double[]);
descriptor: ([D)D
flags: (0x0000)
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
daload
aload 1
iconst_0
daload
dmul
aload 1
iconst_1
daload
aload 1
iconst_1
daload
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 1 1 v [D
MethodParameters:
Name Flags
v
void render(com.sun.prism.Graphics);
descriptor: (Lcom/sun/prism/Graphics;)V
flags: (0x0000)
Code:
stack=13, locals=13, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface com.sun.prism.Graphics.getTransformNoClone:()Lcom/sun/javafx/geom/transform/BaseTransform;
astore 2
start local 2 1: aload 1
invokeinterface com.sun.prism.Graphics.getAssociatedScreen:()Lcom/sun/glass/ui/Screen;
invokestatic com.sun.scenario.effect.impl.prism.PrFilterContext.getInstance:(Lcom/sun/glass/ui/Screen;)Lcom/sun/scenario/effect/impl/prism/PrFilterContext;
astore 3
start local 3 2: aload 0
aload 2
invokevirtual com.sun.javafx.sg.prism.CacheFilter.unmatrix:(Lcom/sun/javafx/geom/transform/BaseTransform;)[D
astore 4
start local 4 3: aload 0
aload 4
invokevirtual com.sun.javafx.sg.prism.CacheFilter.unsupported:([D)Z
istore 5
start local 5 4: aload 0
dup
getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
aload 4
iconst_0
daload
dmul
putfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
5: aload 0
dup
getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
aload 4
iconst_1
daload
dmul
putfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
6: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
ifnull 13
7: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
invokevirtual com.sun.scenario.effect.ImageData.getUntransformedImage:()Lcom/sun/scenario/effect/Filterable;
astore 6
start local 6 8: aload 6
ifnull 13
9: aload 6
invokeinterface com.sun.scenario.effect.Filterable.lock:()V
10: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
aload 3
invokevirtual com.sun.scenario.effect.ImageData.validate:(Lcom/sun/scenario/effect/FilterContext;)Z
ifne 13
11: aload 6
invokeinterface com.sun.scenario.effect.Filterable.unlock:()V
12: aload 0
invokevirtual com.sun.javafx.sg.prism.CacheFilter.invalidate:()V
end local 6 13: StackMap locals: com.sun.javafx.sg.prism.CacheFilter com.sun.prism.Graphics com.sun.javafx.geom.transform.BaseTransform com.sun.scenario.effect.FilterContext double[] int
StackMap stack:
aload 1
invokeinterface com.sun.prism.Graphics.getPixelScaleFactorX:()F
fstore 6
start local 6 14: aload 1
invokeinterface com.sun.prism.Graphics.getPixelScaleFactorY:()F
fstore 7
start local 7 15: aload 0
aload 2
aload 4
fload 6
fload 7
invokevirtual com.sun.javafx.sg.prism.CacheFilter.needToRenderCache:(Lcom/sun/javafx/geom/transform/BaseTransform;[DFF)Z
ifeq 48
16: getstatic com.sun.javafx.logging.PulseLogger.PULSE_LOGGING_ENABLED:Z
ifeq 18
17: ldc "CacheFilter rebuilding"
invokestatic com.sun.javafx.logging.PulseLogger.incrementCounter:(Ljava/lang/String;)V
18: StackMap locals: float float
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
ifnull 23
19: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
invokevirtual com.sun.scenario.effect.ImageData.getUntransformedImage:()Lcom/sun/scenario/effect/Filterable;
astore 8
start local 8 20: aload 8
ifnull 22
21: aload 8
invokeinterface com.sun.scenario.effect.Filterable.unlock:()V
22: StackMap locals: com.sun.scenario.effect.Filterable
StackMap stack:
aload 0
invokevirtual com.sun.javafx.sg.prism.CacheFilter.invalidate:()V
end local 8 23: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.scaleHint:Z
ifeq 33
24: aload 0
fload 6
f2d
aload 4
iconst_0
daload
invokestatic java.lang.Math.max:(DD)D
putfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
25: aload 0
fload 7
f2d
aload 4
iconst_1
daload
invokestatic java.lang.Math.max:(DD)D
putfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
26: aload 0
dconst_0
putfield com.sun.javafx.sg.prism.CacheFilter.cachedRotate:D
27: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedXform:Lcom/sun/javafx/geom/transform/Affine2D;
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
dconst_0
28: dconst_0
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
29: dconst_0
dconst_0
30: invokevirtual com.sun.javafx.geom.transform.Affine2D.setTransform:(DDDDDD)V
31: aload 0
aload 4
invokevirtual com.sun.javafx.sg.prism.CacheFilter.updateScreenXform:([D)V
32: goto 41
33: StackMap locals:
StackMap stack:
aload 0
aload 4
iconst_0
daload
putfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleX:D
34: aload 0
aload 4
iconst_1
daload
putfield com.sun.javafx.sg.prism.CacheFilter.cachedScaleY:D
35: aload 0
aload 4
iconst_2
daload
putfield com.sun.javafx.sg.prism.CacheFilter.cachedRotate:D
36: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedXform:Lcom/sun/javafx/geom/transform/Affine2D;
aload 2
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxx:()D
aload 2
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyx:()D
37: aload 2
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxy:()D
aload 2
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyy:()D
38: dconst_0
dconst_0
39: invokevirtual com.sun.javafx.geom.transform.Affine2D.setTransform:(DDDDDD)V
40: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
getstatic com.sun.javafx.geom.transform.BaseTransform.IDENTITY_TRANSFORM:Lcom/sun/javafx/geom/transform/BaseTransform;
invokevirtual com.sun.javafx.geom.transform.Affine2D.setTransform:(Lcom/sun/javafx/geom/transform/BaseTransform;)V
41: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedXform:Lcom/sun/javafx/geom/transform/Affine2D;
invokevirtual com.sun.javafx.sg.prism.CacheFilter.getCacheBounds:(Lcom/sun/javafx/geom/Rectangle;Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/geom/Rectangle;
putfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
42: aload 0
aload 0
aload 3
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
invokevirtual com.sun.javafx.sg.prism.CacheFilter.createImageData:(Lcom/sun/scenario/effect/FilterContext;Lcom/sun/javafx/geom/Rectangle;)Lcom/sun/scenario/effect/ImageData;
putfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
43: aload 0
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedXform:Lcom/sun/javafx/geom/transform/Affine2D;
aconst_null
invokevirtual com.sun.javafx.sg.prism.CacheFilter.renderNodeToCache:(Lcom/sun/scenario/effect/ImageData;Lcom/sun/javafx/geom/Rectangle;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;)V
44: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
invokevirtual com.sun.scenario.effect.ImageData.getUntransformedBounds:()Lcom/sun/javafx/geom/Rectangle;
astore 8
start local 8 45: aload 0
aload 8
getfield com.sun.javafx.geom.Rectangle.x:I
i2d
putfield com.sun.javafx.sg.prism.CacheFilter.cachedX:D
46: aload 0
aload 8
getfield com.sun.javafx.geom.Rectangle.y:I
i2d
putfield com.sun.javafx.sg.prism.CacheFilter.cachedY:D
end local 8 47: goto 57
48: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.scrollCacheState:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
getstatic com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState.ENABLED:Lcom/sun/javafx/sg/prism/CacheFilter$ScrollCacheState;
if_acmpne 53
49: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
dconst_0
dcmpl
ifne 50
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
dconst_0
dcmpl
ifeq 53
50: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
invokevirtual com.sun.javafx.sg.prism.CacheFilter.moveCacheBy:(Lcom/sun/scenario/effect/ImageData;DD)V
51: aload 0
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cacheBounds:Lcom/sun/javafx/geom/Rectangle;
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedXform:Lcom/sun/javafx/geom/transform/Affine2D;
aload 0
invokevirtual com.sun.javafx.sg.prism.CacheFilter.computeDirtyRegionForTranslate:()Lcom/sun/javafx/geom/Rectangle;
invokevirtual com.sun.javafx.sg.prism.CacheFilter.renderNodeToCache:(Lcom/sun/scenario/effect/ImageData;Lcom/sun/javafx/geom/Rectangle;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;)V
52: aload 0
aload 0
dconst_0
dup2_x1
putfield com.sun.javafx.sg.prism.CacheFilter.lastYDelta:D
putfield com.sun.javafx.sg.prism.CacheFilter.lastXDelta:D
53: StackMap locals:
StackMap stack:
iload 5
ifeq 56
54: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
getstatic com.sun.javafx.geom.transform.BaseTransform.IDENTITY_TRANSFORM:Lcom/sun/javafx/geom/transform/BaseTransform;
invokevirtual com.sun.javafx.geom.transform.Affine2D.setTransform:(Lcom/sun/javafx/geom/transform/BaseTransform;)V
55: goto 57
56: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual com.sun.javafx.sg.prism.CacheFilter.updateScreenXform:([D)V
57: StackMap locals:
StackMap stack:
aload 0
iload 5
putfield com.sun.javafx.sg.prism.CacheFilter.wasUnsupported:Z
58: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
invokevirtual com.sun.scenario.effect.ImageData.getUntransformedImage:()Lcom/sun/scenario/effect/Filterable;
astore 8
start local 8 59: aload 8
ifnonnull 64
60: getstatic com.sun.javafx.logging.PulseLogger.PULSE_LOGGING_ENABLED:Z
ifeq 62
61: ldc "CacheFilter not used"
invokestatic com.sun.javafx.logging.PulseLogger.incrementCounter:(Ljava/lang/String;)V
62: StackMap locals: com.sun.scenario.effect.Filterable
StackMap stack:
aload 0
aload 1
invokevirtual com.sun.javafx.sg.prism.CacheFilter.renderNodeToScreen:(Ljava/lang/Object;)V
63: goto 68
64: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxt:()D
dstore 9
start local 9 65: aload 2
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyt:()D
dstore 11
start local 11 66: aload 0
aload 1
aload 8
dload 9
dload 11
invokevirtual com.sun.javafx.sg.prism.CacheFilter.renderCacheToScreen:(Ljava/lang/Object;Lcom/sun/scenario/effect/Filterable;DD)V
67: aload 8
invokeinterface com.sun.scenario.effect.Filterable.unlock:()V
end local 11 end local 9 68: StackMap locals:
StackMap stack:
return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 69 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 69 1 g Lcom/sun/prism/Graphics;
1 69 2 xform Lcom/sun/javafx/geom/transform/BaseTransform;
2 69 3 fctx Lcom/sun/scenario/effect/FilterContext;
3 69 4 xformInfo [D
4 69 5 isUnsupported Z
8 13 6 implImage Lcom/sun/scenario/effect/Filterable;
14 69 6 pixelScaleX F
15 69 7 pixelScaleY F
20 23 8 implImage Lcom/sun/scenario/effect/Filterable;
45 47 8 cachedBounds Lcom/sun/javafx/geom/Rectangle;
59 69 8 implImage Lcom/sun/scenario/effect/Filterable;
65 68 9 mxt D
66 68 11 myt D
MethodParameters:
Name Flags
g
com.sun.scenario.effect.ImageData createImageData(com.sun.scenario.effect.FilterContext, com.sun.javafx.geom.Rectangle);
descriptor: (Lcom/sun/scenario/effect/FilterContext;Lcom/sun/javafx/geom/Rectangle;)Lcom/sun/scenario/effect/ImageData;
flags: (0x0000)
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
1: aload 2
getfield com.sun.javafx.geom.Rectangle.width:I
aload 2
getfield com.sun.javafx.geom.Rectangle.height:I
2: invokestatic com.sun.scenario.effect.Effect.getCompatibleImage:(Lcom/sun/scenario/effect/FilterContext;II)Lcom/sun/scenario/effect/Filterable;
astore 3
start local 3 3: aload 3
checkcast com.sun.scenario.effect.impl.prism.PrDrawable
invokevirtual com.sun.scenario.effect.impl.prism.PrDrawable.getTextureObject:()Lcom/sun/prism/Texture;
astore 4
start local 4 4: aload 4
invokeinterface com.sun.prism.Texture.contentsUseful:()V
end local 4 5: goto 8
end local 3 StackMap locals:
StackMap stack: java.lang.Throwable
6: pop
7: aconst_null
astore 3
start local 3 8: StackMap locals: com.sun.scenario.effect.Filterable
StackMap stack:
new com.sun.scenario.effect.ImageData
dup
aload 1
aload 3
aload 2
invokespecial com.sun.scenario.effect.ImageData.<init>:(Lcom/sun/scenario/effect/FilterContext;Lcom/sun/scenario/effect/Filterable;Lcom/sun/javafx/geom/Rectangle;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 9 1 fctx Lcom/sun/scenario/effect/FilterContext;
0 9 2 bounds Lcom/sun/javafx/geom/Rectangle;
3 6 3 ret Lcom/sun/scenario/effect/Filterable;
8 9 3 ret Lcom/sun/scenario/effect/Filterable;
4 5 4 cachedTex Lcom/sun/prism/Texture;
Exception table:
from to target type
0 5 6 Class java.lang.Throwable
MethodParameters:
Name Flags
fctx
bounds
void renderNodeToCache(com.sun.scenario.effect.ImageData, com.sun.javafx.geom.Rectangle, com.sun.javafx.geom.transform.BaseTransform, com.sun.javafx.geom.Rectangle);
descriptor: (Lcom/sun/scenario/effect/ImageData;Lcom/sun/javafx/geom/Rectangle;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;)V
flags: (0x0000)
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokevirtual com.sun.scenario.effect.ImageData.getUntransformedImage:()Lcom/sun/scenario/effect/Filterable;
checkcast com.sun.scenario.effect.impl.prism.PrDrawable
astore 5
start local 5 1: aload 5
ifnull 21
2: aload 5
invokevirtual com.sun.scenario.effect.impl.prism.PrDrawable.createGraphics:()Lcom/sun/prism/Graphics;
astore 6
start local 6 3: getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_CACHEFILTER_TRANSFORM:Lcom/sun/javafx/geom/transform/Affine3D;
invokevirtual com.sun.javafx.geom.transform.Affine3D.setToIdentity:()V
4: getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_CACHEFILTER_TRANSFORM:Lcom/sun/javafx/geom/transform/Affine3D;
aload 2
getfield com.sun.javafx.geom.Rectangle.x:I
ineg
i2d
aload 2
getfield com.sun.javafx.geom.Rectangle.y:I
ineg
i2d
invokevirtual com.sun.javafx.geom.transform.Affine3D.translate:(DD)V
5: aload 3
ifnull 7
6: getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_CACHEFILTER_TRANSFORM:Lcom/sun/javafx/geom/transform/Affine3D;
aload 3
invokevirtual com.sun.javafx.geom.transform.Affine3D.concatenate:(Lcom/sun/javafx/geom/transform/BaseTransform;)V
7: StackMap locals: com.sun.scenario.effect.impl.prism.PrDrawable com.sun.prism.Graphics
StackMap stack:
aload 4
ifnull 13
8: getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_CONTAINER:Lcom/sun/javafx/geom/DirtyRegionContainer;
getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_BOUNDS:Lcom/sun/javafx/geom/RectBounds;
aload 4
invokevirtual com.sun.javafx.geom.RectBounds.deriveWithNewBounds:(Lcom/sun/javafx/geom/Rectangle;)Lcom/sun/javafx/geom/BaseBounds;
checkcast com.sun.javafx.geom.RectBounds
invokevirtual com.sun.javafx.geom.DirtyRegionContainer.deriveWithNewRegion:(Lcom/sun/javafx/geom/RectBounds;)Lcom/sun/javafx/geom/DirtyRegionContainer;
pop
9: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_CONTAINER:Lcom/sun/javafx/geom/DirtyRegionContainer;
getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_CACHEFILTER_TRANSFORM:Lcom/sun/javafx/geom/transform/Affine3D;
new com.sun.javafx.geom.transform.GeneralTransform3D
dup
invokespecial com.sun.javafx.geom.transform.GeneralTransform3D.<init>:()V
invokevirtual com.sun.javafx.sg.prism.NGNode.doPreCulling:(Lcom/sun/javafx/geom/DirtyRegionContainer;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/transform/GeneralTransform3D;)V
10: aload 6
iconst_1
invokeinterface com.sun.prism.Graphics.setHasPreCullingBits:(Z)V
11: aload 6
iconst_0
invokeinterface com.sun.prism.Graphics.setClipRectIndex:(I)V
12: aload 6
aload 4
invokeinterface com.sun.prism.Graphics.setClipRect:(Lcom/sun/javafx/geom/Rectangle;)V
13: StackMap locals:
StackMap stack:
aload 6
getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_CACHEFILTER_TRANSFORM:Lcom/sun/javafx/geom/transform/Affine3D;
invokeinterface com.sun.prism.Graphics.transform:(Lcom/sun/javafx/geom/transform/BaseTransform;)V
14: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
invokevirtual com.sun.javafx.sg.prism.NGNode.getClipNode:()Lcom/sun/javafx/sg/prism/NGNode;
ifnull 17
15: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
aload 6
invokevirtual com.sun.javafx.sg.prism.NGNode.renderClip:(Lcom/sun/prism/Graphics;)V
16: goto 21
StackMap locals:
StackMap stack:
17: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
invokevirtual com.sun.javafx.sg.prism.NGNode.getEffectFilter:()Lcom/sun/javafx/sg/prism/EffectFilter;
ifnull 20
18: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
aload 6
invokevirtual com.sun.javafx.sg.prism.NGNode.renderEffect:(Lcom/sun/prism/Graphics;)V
19: goto 21
20: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
aload 6
invokevirtual com.sun.javafx.sg.prism.NGNode.renderContent:(Lcom/sun/prism/Graphics;)V
end local 6 21: StackMap locals:
StackMap stack:
return
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 22 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 22 1 cacheData Lcom/sun/scenario/effect/ImageData;
0 22 2 cacheBounds Lcom/sun/javafx/geom/Rectangle;
0 22 3 xform Lcom/sun/javafx/geom/transform/BaseTransform;
0 22 4 dirtyBounds Lcom/sun/javafx/geom/Rectangle;
1 22 5 image Lcom/sun/scenario/effect/impl/prism/PrDrawable;
3 21 6 g Lcom/sun/prism/Graphics;
MethodParameters:
Name Flags
cacheData
cacheBounds
xform
dirtyBounds
void renderNodeToScreen(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.sun.prism.Graphics
astore 2
start local 2 1: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
invokevirtual com.sun.javafx.sg.prism.NGNode.getEffectFilter:()Lcom/sun/javafx/sg/prism/EffectFilter;
ifnull 4
2: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
aload 2
invokevirtual com.sun.javafx.sg.prism.NGNode.renderEffect:(Lcom/sun/prism/Graphics;)V
3: goto 5
4: StackMap locals: com.sun.prism.Graphics
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
aload 2
invokevirtual com.sun.javafx.sg.prism.NGNode.renderContent:(Lcom/sun/prism/Graphics;)V
5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 6 1 implGraphics Ljava/lang/Object;
1 6 2 g Lcom/sun/prism/Graphics;
MethodParameters:
Name Flags
implGraphics
void renderCacheToScreen(java.lang.Object, com.sun.scenario.effect.Filterable, double, double);
descriptor: (Ljava/lang/Object;Lcom/sun/scenario/effect/Filterable;DD)V
flags: (0x0000)
Code:
stack=13, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 1
checkcast com.sun.prism.Graphics
astore 7
start local 7 1: aload 7
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
invokevirtual com.sun.javafx.geom.transform.Affine2D.getMxx:()D
2: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
invokevirtual com.sun.javafx.geom.transform.Affine2D.getMyx:()D
3: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
invokevirtual com.sun.javafx.geom.transform.Affine2D.getMxy:()D
4: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.screenXform:Lcom/sun/javafx/geom/transform/Affine2D;
invokevirtual com.sun.javafx.geom.transform.Affine2D.getMyy:()D
5: dload 3
dload 5
6: invokeinterface com.sun.prism.Graphics.setTransform:(DDDDDD)V
7: aload 7
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedX:D
d2f
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedY:D
d2f
invokeinterface com.sun.prism.Graphics.translate:(FF)V
8: aload 2
checkcast com.sun.scenario.effect.impl.prism.PrDrawable
invokevirtual com.sun.scenario.effect.impl.prism.PrDrawable.getTextureObject:()Lcom/sun/prism/Texture;
astore 8
start local 8 9: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.cachedImageData:Lcom/sun/scenario/effect/ImageData;
invokevirtual com.sun.scenario.effect.ImageData.getUntransformedBounds:()Lcom/sun/javafx/geom/Rectangle;
astore 9
start local 9 10: aload 7
aload 8
fconst_0
fconst_0
11: aload 9
getfield com.sun.javafx.geom.Rectangle.width:I
i2f
aload 9
getfield com.sun.javafx.geom.Rectangle.height:I
i2f
12: invokeinterface com.sun.prism.Graphics.drawTexture:(Lcom/sun/prism/Texture;FFFF)V
13: return
end local 9 end local 8 end local 7 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 14 1 implGraphics Ljava/lang/Object;
0 14 2 implImage Lcom/sun/scenario/effect/Filterable;
0 14 3 mxt D
0 14 5 myt D
1 14 7 g Lcom/sun/prism/Graphics;
9 14 8 cachedTex Lcom/sun/prism/Texture;
10 14 9 cachedBounds Lcom/sun/javafx/geom/Rectangle;
MethodParameters:
Name Flags
implGraphics
implImage
mxt
myt
boolean scrollCacheCapable();
descriptor: ()Z
flags: (0x0000)
Code:
stack=3, locals=9, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
instanceof com.sun.javafx.sg.prism.NGGroup
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
checkcast com.sun.javafx.sg.prism.NGGroup
invokevirtual com.sun.javafx.sg.prism.NGGroup.getChildren:()Ljava/util/List;
astore 1
start local 1 3: aload 1
invokeinterface java.util.List.size:()I
iconst_1
if_icmpeq 5
4: iconst_0
ireturn
5: StackMap locals: java.util.List
StackMap stack:
aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.sun.javafx.sg.prism.NGNode
astore 2
start local 2 6: aload 2
invokevirtual com.sun.javafx.sg.prism.NGNode.getTransform:()Lcom/sun/javafx/geom/transform/BaseTransform;
invokevirtual com.sun.javafx.geom.transform.BaseTransform.is2D:()Z
ifne 8
7: iconst_0
ireturn
8: StackMap locals: com.sun.javafx.sg.prism.NGNode
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
invokevirtual com.sun.javafx.sg.prism.NGNode.getClipNode:()Lcom/sun/javafx/sg/prism/NGNode;
astore 3
start local 3 9: aload 3
ifnull 10
aload 3
getstatic com.sun.javafx.geom.transform.BaseTransform.IDENTITY_TRANSFORM:Lcom/sun/javafx/geom/transform/BaseTransform;
iconst_0
invokevirtual com.sun.javafx.sg.prism.NGNode.isRectClip:(Lcom/sun/javafx/geom/transform/BaseTransform;Z)Z
ifne 11
10: StackMap locals: com.sun.javafx.sg.prism.NGNode
StackMap stack:
iconst_0
ireturn
11: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
instanceof com.sun.javafx.sg.prism.NGRegion
ifeq 28
12: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
checkcast com.sun.javafx.sg.prism.NGRegion
astore 4
start local 4 13: aload 4
invokevirtual com.sun.javafx.sg.prism.NGRegion.getBorder:()Ljavafx/scene/layout/Border;
invokevirtual javafx.scene.layout.Border.isEmpty:()Z
ifne 15
14: iconst_0
ireturn
15: StackMap locals: com.sun.javafx.sg.prism.NGRegion
StackMap stack:
aload 4
invokevirtual com.sun.javafx.sg.prism.NGRegion.getBackground:()Ljavafx/scene/layout/Background;
astore 5
start local 5 16: aload 5
invokevirtual javafx.scene.layout.Background.isEmpty:()Z
ifne 28
17: aload 5
invokevirtual javafx.scene.layout.Background.getImages:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 19
18: aload 5
invokevirtual javafx.scene.layout.Background.getFills:()Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmpeq 20
19: StackMap locals: javafx.scene.layout.Background
StackMap stack:
iconst_0
ireturn
20: StackMap locals:
StackMap stack:
aload 5
invokevirtual javafx.scene.layout.Background.getFills:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast javafx.scene.layout.BackgroundFill
astore 6
start local 6 21: aload 6
invokevirtual javafx.scene.layout.BackgroundFill.getFill:()Ljavafx/scene/paint/Paint;
astore 7
start local 7 22: aload 3
getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_BOUNDS:Lcom/sun/javafx/geom/RectBounds;
getstatic com.sun.javafx.geom.transform.BaseTransform.IDENTITY_TRANSFORM:Lcom/sun/javafx/geom/transform/BaseTransform;
invokevirtual com.sun.javafx.sg.prism.NGNode.getCompleteBounds:(Lcom/sun/javafx/geom/BaseBounds;Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/geom/BaseBounds;
astore 8
start local 8 23: aload 7
invokevirtual javafx.scene.paint.Paint.isOpaque:()Z
ifeq 27
aload 7
instanceof javafx.scene.paint.Color
ifeq 27
aload 6
invokevirtual javafx.scene.layout.BackgroundFill.getInsets:()Ljavafx/geometry/Insets;
getstatic javafx.geometry.Insets.EMPTY:Ljavafx/geometry/Insets;
invokevirtual javafx.geometry.Insets.equals:(Ljava/lang/Object;)Z
ifeq 27
24: aload 8
invokevirtual com.sun.javafx.geom.BaseBounds.getMinX:()F
fconst_0
fcmpl
ifne 27
aload 8
invokevirtual com.sun.javafx.geom.BaseBounds.getMinY:()F
fconst_0
fcmpl
ifne 27
25: aload 8
invokevirtual com.sun.javafx.geom.BaseBounds.getMaxX:()F
aload 4
invokevirtual com.sun.javafx.sg.prism.NGRegion.getWidth:()F
fcmpl
ifne 27
aload 8
invokevirtual com.sun.javafx.geom.BaseBounds.getMaxY:()F
aload 4
invokevirtual com.sun.javafx.sg.prism.NGRegion.getHeight:()F
fcmpl
ifne 27
26: iconst_1
ireturn
StackMap locals: javafx.scene.layout.BackgroundFill javafx.scene.paint.Paint com.sun.javafx.geom.BaseBounds
StackMap stack:
27: iconst_0
ireturn
end local 8 end local 7 end local 6 end local 5 end local 4 28: StackMap locals: com.sun.javafx.sg.prism.CacheFilter java.util.List com.sun.javafx.sg.prism.NGNode com.sun.javafx.sg.prism.NGNode
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
3 29 1 children Ljava/util/List<Lcom/sun/javafx/sg/prism/NGNode;>;
6 29 2 child Lcom/sun/javafx/sg/prism/NGNode;
9 29 3 clip Lcom/sun/javafx/sg/prism/NGNode;
13 28 4 region Lcom/sun/javafx/sg/prism/NGRegion;
16 28 5 background Ljavafx/scene/layout/Background;
21 28 6 fill Ljavafx/scene/layout/BackgroundFill;
22 28 7 fillPaint Ljavafx/scene/paint/Paint;
23 28 8 clipBounds Lcom/sun/javafx/geom/BaseBounds;
void moveCacheBy(com.sun.scenario.effect.ImageData, double, double);
descriptor: (Lcom/sun/scenario/effect/ImageData;DD)V
flags: (0x0000)
Code:
stack=11, locals=16, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 1
invokevirtual com.sun.scenario.effect.ImageData.getUntransformedImage:()Lcom/sun/scenario/effect/Filterable;
checkcast com.sun.scenario.effect.impl.prism.PrDrawable
astore 6
start local 6 1: aload 1
invokevirtual com.sun.scenario.effect.ImageData.getUntransformedBounds:()Lcom/sun/javafx/geom/Rectangle;
astore 7
start local 7 2: dconst_0
dload 2
dneg
invokestatic java.lang.Math.max:(DD)D
d2i
istore 8
start local 8 3: dconst_0
dload 4
dneg
invokestatic java.lang.Math.max:(DD)D
d2i
istore 9
start local 9 4: dconst_0
dload 2
invokestatic java.lang.Math.max:(DD)D
d2i
istore 10
start local 10 5: dconst_0
dload 4
invokestatic java.lang.Math.max:(DD)D
d2i
istore 11
start local 11 6: aload 7
getfield com.sun.javafx.geom.Rectangle.width:I
dload 2
invokestatic java.lang.Math.abs:(D)D
d2i
isub
istore 12
start local 12 7: aload 7
getfield com.sun.javafx.geom.Rectangle.height:I
dload 4
invokestatic java.lang.Math.abs:(D)D
d2i
isub
istore 13
start local 13 8: aload 6
invokevirtual com.sun.scenario.effect.impl.prism.PrDrawable.createGraphics:()Lcom/sun/prism/Graphics;
astore 14
start local 14 9: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
ifnull 13
10: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.lock:()V
11: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.isSurfaceLost:()Z
ifeq 13
12: aload 0
aconst_null
putfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
13: StackMap locals: com.sun.javafx.sg.prism.CacheFilter com.sun.scenario.effect.ImageData double double com.sun.scenario.effect.impl.prism.PrDrawable com.sun.javafx.geom.Rectangle int int int int int int com.sun.prism.Graphics
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
ifnonnull 19
14: aload 0
aload 14
invokeinterface com.sun.prism.Graphics.getResourceFactory:()Lcom/sun/prism/ResourceFactory;
15: aload 6
invokevirtual com.sun.scenario.effect.impl.prism.PrDrawable.getPhysicalWidth:()I
aload 6
invokevirtual com.sun.scenario.effect.impl.prism.PrDrawable.getPhysicalHeight:()I
16: getstatic com.sun.prism.Texture$WrapMode.CLAMP_NOT_NEEDED:Lcom/sun/prism/Texture$WrapMode;
17: invokeinterface com.sun.prism.ResourceFactory.createRTTexture:(IILcom/sun/prism/Texture$WrapMode;)Lcom/sun/prism/RTTexture;
18: putfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
19: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.createGraphics:()Lcom/sun/prism/Graphics;
astore 15
start local 15 20: aload 15
invokeinterface com.sun.prism.Graphics.clear:()V
21: aload 15
aload 6
invokevirtual com.sun.scenario.effect.impl.prism.PrDrawable.getTextureObject:()Lcom/sun/prism/Texture;
fconst_0
fconst_0
iload 12
i2f
iload 13
i2f
iload 8
i2f
iload 9
i2f
iload 8
iload 12
iadd
i2f
iload 9
iload 13
iadd
i2f
invokeinterface com.sun.prism.Graphics.drawTexture:(Lcom/sun/prism/Texture;FFFFFFFF)V
22: aload 15
invokeinterface com.sun.prism.Graphics.sync:()V
23: aload 14
invokeinterface com.sun.prism.Graphics.clear:()V
24: aload 14
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
iload 10
i2f
iload 11
i2f
iload 10
iload 12
iadd
i2f
iload 11
iload 13
iadd
i2f
fconst_0
fconst_0
iload 12
i2f
iload 13
i2f
invokeinterface com.sun.prism.Graphics.drawTexture:(Lcom/sun/prism/Texture;FFFFFFFF)V
25: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.tempTexture:Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.unlock:()V
26: return
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 27 1 cachedImageData Lcom/sun/scenario/effect/ImageData;
0 27 2 xDelta D
0 27 4 yDelta D
1 27 6 drawable Lcom/sun/scenario/effect/impl/prism/PrDrawable;
2 27 7 r Lcom/sun/javafx/geom/Rectangle;
3 27 8 x I
4 27 9 y I
5 27 10 destX I
6 27 11 destY I
7 27 12 w I
8 27 13 h I
9 27 14 g Lcom/sun/prism/Graphics;
20 27 15 tempG Lcom/sun/prism/Graphics;
MethodParameters:
Name Flags
cachedImageData
xDelta
yDelta
com.sun.javafx.geom.Rectangle getCacheBounds(com.sun.javafx.geom.Rectangle, com.sun.javafx.geom.transform.BaseTransform);
descriptor: (Lcom/sun/javafx/geom/Rectangle;Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/geom/Rectangle;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
getstatic com.sun.javafx.sg.prism.CacheFilter.TEMP_BOUNDS:Lcom/sun/javafx/geom/RectBounds;
aload 2
invokevirtual com.sun.javafx.sg.prism.NGNode.getClippedBounds:(Lcom/sun/javafx/geom/BaseBounds;Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/geom/BaseBounds;
astore 3
start local 3 1: aload 1
aload 3
invokevirtual com.sun.javafx.geom.Rectangle.setBounds:(Lcom/sun/javafx/geom/BaseBounds;)V
2: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 3 1 bounds Lcom/sun/javafx/geom/Rectangle;
0 3 2 xform Lcom/sun/javafx/geom/transform/BaseTransform;
1 3 3 b Lcom/sun/javafx/geom/BaseBounds;
MethodParameters:
Name Flags
bounds
xform
com.sun.javafx.geom.BaseBounds computeDirtyBounds(com.sun.javafx.geom.BaseBounds, com.sun.javafx.geom.transform.BaseTransform, com.sun.javafx.geom.transform.GeneralTransform3D);
descriptor: (Lcom/sun/javafx/geom/BaseBounds;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/transform/GeneralTransform3D;)Lcom/sun/javafx/geom/BaseBounds;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
getfield com.sun.javafx.sg.prism.NGNode.dirtyBounds:Lcom/sun/javafx/geom/BaseBounds;
invokevirtual com.sun.javafx.geom.BaseBounds.isEmpty:()Z
ifne 3
1: aload 1
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
getfield com.sun.javafx.sg.prism.NGNode.dirtyBounds:Lcom/sun/javafx/geom/BaseBounds;
invokevirtual com.sun.javafx.geom.BaseBounds.deriveWithNewBounds:(Lcom/sun/javafx/geom/BaseBounds;)Lcom/sun/javafx/geom/BaseBounds;
astore 1
2: goto 4
3: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
getfield com.sun.javafx.sg.prism.NGNode.transformedBounds:Lcom/sun/javafx/geom/BaseBounds;
invokevirtual com.sun.javafx.geom.BaseBounds.deriveWithNewBounds:(Lcom/sun/javafx/geom/BaseBounds;)Lcom/sun/javafx/geom/BaseBounds;
astore 1
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.sun.javafx.geom.BaseBounds.isEmpty:()Z
ifne 9
5: aload 1
invokevirtual com.sun.javafx.geom.BaseBounds.roundOut:()V
6: aload 0
getfield com.sun.javafx.sg.prism.CacheFilter.node:Lcom/sun/javafx/sg/prism/NGNode;
aload 1
invokevirtual com.sun.javafx.sg.prism.NGNode.computePadding:(Lcom/sun/javafx/geom/BaseBounds;)Lcom/sun/javafx/geom/BaseBounds;
astore 1
7: 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
8: aload 3
aload 1
aload 1
invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.transform:(Lcom/sun/javafx/geom/BaseBounds;Lcom/sun/javafx/geom/BaseBounds;)Lcom/sun/javafx/geom/BaseBounds;
astore 1
9: StackMap locals:
StackMap stack:
aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/javafx/sg/prism/CacheFilter;
0 10 1 region Lcom/sun/javafx/geom/BaseBounds;
0 10 2 tx Lcom/sun/javafx/geom/transform/BaseTransform;
0 10 3 pvTx Lcom/sun/javafx/geom/transform/GeneralTransform3D;
MethodParameters:
Name Flags
region
tx
pvTx
}
SourceFile: "CacheFilter.java"
NestMembers:
com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState
InnerClasses:
private final ScrollCacheState = com.sun.javafx.sg.prism.CacheFilter$ScrollCacheState of com.sun.javafx.sg.prism.CacheFilter
public final WrapMode = com.sun.prism.Texture$WrapMode of com.sun.prism.Texture