final class javafx.scene.image.Image$Animation
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: javafx.scene.image.Image$Animation
super_class: java.lang.Object
{
final java.lang.ref.WeakReference<javafx.scene.image.Image> imageRef;
descriptor: Ljava/lang/ref/WeakReference;
flags: (0x0010) ACC_FINAL
Signature: Ljava/lang/ref/WeakReference<Ljavafx/scene/image/Image;>;
final javafx.animation.Timeline timeline;
descriptor: Ljavafx/animation/Timeline;
flags: (0x0010) ACC_FINAL
final javafx.beans.property.SimpleIntegerProperty frameIndex;
descriptor: Ljavafx/beans/property/SimpleIntegerProperty;
flags: (0x0010) ACC_FINAL
public void <init>(javafx.scene.image.Image, com.sun.javafx.tk.ImageLoader);
descriptor: (Ljavafx/scene/image/Image;Lcom/sun/javafx/tk/ImageLoader;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new javafx.scene.image.Image$Animation$1
dup
aload 0
invokespecial javafx.scene.image.Image$Animation$1.<init>:(Ljavafx/scene/image/Image$Animation;)V
putfield javafx.scene.image.Image$Animation.frameIndex:Ljavafx/beans/property/SimpleIntegerProperty;
2: aload 0
new java.lang.ref.WeakReference
dup
aload 1
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putfield javafx.scene.image.Image$Animation.imageRef:Ljava/lang/ref/WeakReference;
3: aload 0
new javafx.animation.Timeline
dup
invokespecial javafx.animation.Timeline.<init>:()V
putfield javafx.scene.image.Image$Animation.timeline:Ljavafx/animation/Timeline;
4: aload 2
invokeinterface com.sun.javafx.tk.ImageLoader.getLoopCount:()I
istore 3
start local 3 5: aload 0
getfield javafx.scene.image.Image$Animation.timeline:Ljavafx/animation/Timeline;
iload 3
ifne 6
iconst_m1
goto 7
StackMap locals: javafx.scene.image.Image$Animation javafx.scene.image.Image com.sun.javafx.tk.ImageLoader int
StackMap stack: javafx.animation.Timeline
6: iload 3
StackMap locals: javafx.scene.image.Image$Animation javafx.scene.image.Image com.sun.javafx.tk.ImageLoader int
StackMap stack: javafx.animation.Timeline int
7: invokevirtual javafx.animation.Timeline.setCycleCount:(I)V
8: aload 2
invokeinterface com.sun.javafx.tk.ImageLoader.getFrameCount:()I
istore 4
start local 4 9: iconst_0
istore 5
start local 5 10: iconst_0
istore 6
start local 6 11: goto 15
12: StackMap locals: int int int
StackMap stack:
aload 0
iload 6
iload 5
i2d
invokevirtual javafx.scene.image.Image$Animation.addKeyFrame:(ID)V
13: iload 5
aload 2
iload 6
invokeinterface com.sun.javafx.tk.ImageLoader.getFrameDelay:(I)I
iadd
istore 5
14: iinc 6 1
StackMap locals:
StackMap stack:
15: iload 6
iload 4
if_icmplt 12
end local 6 16: aload 0
getfield javafx.scene.image.Image$Animation.timeline:Ljavafx/animation/Timeline;
invokevirtual javafx.animation.Timeline.getKeyFrames:()Ljavafx/collections/ObservableList;
new javafx.animation.KeyFrame
dup
iload 5
i2d
invokestatic javafx.util.Duration.millis:(D)Ljavafx/util/Duration;
iconst_0
anewarray javafx.animation.KeyValue
invokespecial javafx.animation.KeyFrame.<init>:(Ljavafx/util/Duration;[Ljavafx/animation/KeyValue;)V
invokeinterface javafx.collections.ObservableList.add:(Ljava/lang/Object;)Z
pop
17: 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 18 0 this Ljavafx/scene/image/Image$Animation;
0 18 1 image Ljavafx/scene/image/Image;
0 18 2 loader Lcom/sun/javafx/tk/ImageLoader;
5 18 3 loopCount I
9 18 4 frameCount I
10 18 5 duration I
11 16 6 i I
MethodParameters:
Name Flags
image final
loader final
public void start();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javafx.scene.image.Image$Animation.timeline:Ljavafx/animation/Timeline;
invokevirtual javafx.animation.Timeline.play:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavafx/scene/image/Image$Animation;
public void stop();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javafx.scene.image.Image$Animation.timeline:Ljavafx/animation/Timeline;
invokevirtual javafx.animation.Timeline.stop:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljavafx/scene/image/Image$Animation;
private void updateImage(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield javafx.scene.image.Image$Animation.imageRef:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast javafx.scene.image.Image
astore 2
start local 2 1: aload 2
ifnull 6
2: aload 2
invokevirtual javafx.scene.image.Image.platformImagePropertyImpl:()Ljavafx/scene/image/Image$ObjectPropertyImpl;
3: aload 2
getfield javafx.scene.image.Image.animFrames:[Lcom/sun/javafx/tk/PlatformImage;
iload 1
aaload
4: invokevirtual javafx.scene.image.Image$ObjectPropertyImpl.set:(Ljava/lang/Object;)V
5: goto 7
6: StackMap locals: javafx.scene.image.Image
StackMap stack:
aload 0
getfield javafx.scene.image.Image$Animation.timeline:Ljavafx/animation/Timeline;
invokevirtual javafx.animation.Timeline.stop:()V
7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljavafx/scene/image/Image$Animation;
0 8 1 frameIndex I
1 8 2 image Ljavafx/scene/image/Image;
MethodParameters:
Name Flags
frameIndex final
private void addKeyFrame(int, double);
descriptor: (ID)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=12, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield javafx.scene.image.Image$Animation.timeline:Ljavafx/animation/Timeline;
invokevirtual javafx.animation.Timeline.getKeyFrames:()Ljavafx/collections/ObservableList;
1: new javafx.animation.KeyFrame
dup
dload 2
invokestatic javafx.util.Duration.millis:(D)Ljavafx/util/Duration;
iconst_1
anewarray javafx.animation.KeyValue
dup
iconst_0
2: new javafx.animation.KeyValue
dup
aload 0
getfield javafx.scene.image.Image$Animation.frameIndex:Ljavafx/beans/property/SimpleIntegerProperty;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
getstatic javafx.animation.Interpolator.DISCRETE:Ljavafx/animation/Interpolator;
invokespecial javafx.animation.KeyValue.<init>:(Ljavafx/beans/value/WritableValue;Ljava/lang/Object;Ljavafx/animation/Interpolator;)V
3: aastore
invokespecial javafx.animation.KeyFrame.<init>:(Ljavafx/util/Duration;[Ljavafx/animation/KeyValue;)V
4: invokeinterface javafx.collections.ObservableList.add:(Ljava/lang/Object;)Z
pop
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavafx/scene/image/Image$Animation;
0 6 1 index I
0 6 2 duration D
MethodParameters:
Name Flags
index final
duration final
}
SourceFile: "Image.java"
NestHost: javafx.scene.image.Image
InnerClasses:
private final Animation = javafx.scene.image.Image$Animation of javafx.scene.image.Image
javafx.scene.image.Image$Animation$1
private final ObjectPropertyImpl = javafx.scene.image.Image$ObjectPropertyImpl of javafx.scene.image.Image