class javafx.scene.Scene$ClickGenerator
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: javafx.scene.Scene$ClickGenerator
super_class: java.lang.Object
{
private javafx.scene.Scene$ClickCounter lastPress;
descriptor: Ljavafx/scene/Scene$ClickCounter;
flags: (0x0002) ACC_PRIVATE
private java.util.Map<javafx.scene.input.MouseButton, javafx.scene.Scene$ClickCounter> counters;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljavafx/scene/input/MouseButton;Ljavafx/scene/Scene$ClickCounter;>;
private java.util.List<javafx.event.EventTarget> pressedTargets;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljavafx/event/EventTarget;>;
private java.util.List<javafx.event.EventTarget> releasedTargets;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljavafx/event/EventTarget;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 // javafx.scene.Scene$ClickGenerator this
0: .line 3500
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 3493
aload 0 /* this */
aconst_null
putfield javafx.scene.Scene$ClickGenerator.lastPress:Ljavafx/scene/Scene$ClickCounter;
2: .line 3495
aload 0 /* this */
3: .line 3496
new java.util.EnumMap
dup
ldc Ljavafx/scene/input/MouseButton;
invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
putfield javafx.scene.Scene$ClickGenerator.counters:Ljava/util/Map;
4: .line 3497
aload 0 /* this */
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield javafx.scene.Scene$ClickGenerator.pressedTargets:Ljava/util/List;
5: .line 3498
aload 0 /* this */
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield javafx.scene.Scene$ClickGenerator.releasedTargets:Ljava/util/List;
6: .line 3501
invokestatic javafx.scene.input.MouseButton.values:()[Ljavafx/scene/input/MouseButton;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 11
StackMap locals: javafx.scene.Scene$ClickGenerator top int int javafx.scene.input.MouseButton[]
StackMap stack:
7: aload 4
iload 2
aaload
astore 1 /* mb */
start local 1 // javafx.scene.input.MouseButton mb
8: .line 3502
aload 1 /* mb */
getstatic javafx.scene.input.MouseButton.NONE:Ljavafx/scene/input/MouseButton;
if_acmpeq 10
9: .line 3503
aload 0 /* this */
getfield javafx.scene.Scene$ClickGenerator.counters:Ljava/util/Map;
aload 1 /* mb */
new javafx.scene.Scene$ClickCounter
dup
invokespecial javafx.scene.Scene$ClickCounter.<init>:()V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 1 // javafx.scene.input.MouseButton mb
10: .line 3501
StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
11: iload 2
iload 3
if_icmplt 7
12: .line 3506
return
end local 0 // javafx.scene.Scene$ClickGenerator this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljavafx/scene/Scene$ClickGenerator;
8 10 1 mb Ljavafx/scene/input/MouseButton;
private javafx.scene.input.MouseEvent preProcess(javafx.scene.input.MouseEvent);
descriptor: (Ljavafx/scene/input/MouseEvent;)Ljavafx/scene/input/MouseEvent;
flags: (0x0002) ACC_PRIVATE
Code:
stack=24, locals=4, args_size=2
start local 0 // javafx.scene.Scene$ClickGenerator this
start local 1 // javafx.scene.input.MouseEvent e
0: .line 3509
aload 0 /* this */
getfield javafx.scene.Scene$ClickGenerator.counters:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 3
StackMap locals: javafx.scene.Scene$ClickGenerator javafx.scene.input.MouseEvent top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javafx.scene.Scene$ClickCounter
astore 2 /* cc */
start local 2 // javafx.scene.Scene$ClickCounter cc
2: .line 3510
aload 2 /* cc */
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getSceneX:()D
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getSceneY:()D
invokevirtual javafx.scene.Scene$ClickCounter.moved:(DD)V
end local 2 // javafx.scene.Scene$ClickCounter cc
3: .line 3509
StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: .line 3513
aload 0 /* this */
getfield javafx.scene.Scene$ClickGenerator.counters:Ljava/util/Map;
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getButton:()Ljavafx/scene/input/MouseButton;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javafx.scene.Scene$ClickCounter
astore 2 /* cc */
start local 2 // javafx.scene.Scene$ClickCounter cc
5: .line 3514
aload 0 /* this */
getfield javafx.scene.Scene$ClickGenerator.lastPress:Ljavafx/scene/Scene$ClickCounter;
ifnull 6
aload 0 /* this */
getfield javafx.scene.Scene$ClickGenerator.lastPress:Ljavafx/scene/Scene$ClickCounter;
invokevirtual javafx.scene.Scene$ClickCounter.isStill:()Z
goto 7
StackMap locals: javafx.scene.Scene$ClickGenerator javafx.scene.input.MouseEvent javafx.scene.Scene$ClickCounter
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 3 /* still */
start local 3 // boolean still
8: .line 3516
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getEventType:()Ljavafx/event/EventType;
getstatic javafx.scene.input.MouseEvent.MOUSE_PRESSED:Ljavafx/event/EventType;
if_acmpne 16
9: .line 3518
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.isPrimaryButtonDown:()Z
ifne 10
aload 0 /* this */
getfield javafx.scene.Scene$ClickGenerator.counters:Ljava/util/Map;
getstatic javafx.scene.input.MouseButton.PRIMARY:Ljavafx/scene/input/MouseButton;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javafx.scene.Scene$ClickCounter
invokevirtual javafx.scene.Scene$ClickCounter.clear:()V
10: .line 3519
StackMap locals: int
StackMap stack:
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.isSecondaryButtonDown:()Z
ifne 11
aload 0 /* this */
getfield javafx.scene.Scene$ClickGenerator.counters:Ljava/util/Map;
getstatic javafx.scene.input.MouseButton.SECONDARY:Ljavafx/scene/input/MouseButton;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javafx.scene.Scene$ClickCounter
invokevirtual javafx.scene.Scene$ClickCounter.clear:()V
11: .line 3520
StackMap locals:
StackMap stack:
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.isMiddleButtonDown:()Z
ifne 12
aload 0 /* this */
getfield javafx.scene.Scene$ClickGenerator.counters:Ljava/util/Map;
getstatic javafx.scene.input.MouseButton.MIDDLE:Ljavafx/scene/input/MouseButton;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javafx.scene.Scene$ClickCounter
invokevirtual javafx.scene.Scene$ClickCounter.clear:()V
12: .line 3522
StackMap locals:
StackMap stack:
aload 2 /* cc */
invokevirtual javafx.scene.Scene$ClickCounter.applyOut:()V
13: .line 3523
aload 2 /* cc */
invokevirtual javafx.scene.Scene$ClickCounter.inc:()V
14: .line 3524
aload 2 /* cc */
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getSceneX:()D
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getSceneY:()D
invokevirtual javafx.scene.Scene$ClickCounter.start:(DD)V
15: .line 3525
aload 0 /* this */
aload 2 /* cc */
putfield javafx.scene.Scene$ClickGenerator.lastPress:Ljavafx/scene/Scene$ClickCounter;
16: .line 3528
StackMap locals:
StackMap stack:
new javafx.scene.input.MouseEvent
dup
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getEventType:()Ljavafx/event/EventType;
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getSceneX:()D
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getSceneY:()D
17: .line 3529
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getScreenX:()D
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getScreenY:()D
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getButton:()Ljavafx/scene/input/MouseButton;
18: .line 3530
aload 2 /* cc */
ifnull 19
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getEventType:()Ljavafx/event/EventType;
getstatic javafx.scene.input.MouseEvent.MOUSE_MOVED:Ljavafx/event/EventType;
if_acmpeq 19
aload 2 /* cc */
invokevirtual javafx.scene.Scene$ClickCounter.get:()I
goto 20
StackMap locals: javafx.scene.Scene$ClickGenerator javafx.scene.input.MouseEvent javafx.scene.Scene$ClickCounter int
StackMap stack: new 16 new 16 javafx.event.EventType double double double double javafx.scene.input.MouseButton
19: iconst_0
20: .line 3531
StackMap locals: javafx.scene.Scene$ClickGenerator javafx.scene.input.MouseEvent javafx.scene.Scene$ClickCounter int
StackMap stack: new 16 new 16 javafx.event.EventType double double double double javafx.scene.input.MouseButton int
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.isShiftDown:()Z
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.isControlDown:()Z
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.isAltDown:()Z
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.isMetaDown:()Z
21: .line 3532
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.isPrimaryButtonDown:()Z
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.isMiddleButtonDown:()Z
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.isSecondaryButtonDown:()Z
22: .line 3533
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.isSynthesized:()Z
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.isPopupTrigger:()Z
iload 3 /* still */
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getPickResult:()Ljavafx/scene/input/PickResult;
23: .line 3528
invokespecial javafx.scene.input.MouseEvent.<init>:(Ljavafx/event/EventType;DDDDLjavafx/scene/input/MouseButton;IZZZZZZZZZZLjavafx/scene/input/PickResult;)V
areturn
end local 3 // boolean still
end local 2 // javafx.scene.Scene$ClickCounter cc
end local 1 // javafx.scene.input.MouseEvent e
end local 0 // javafx.scene.Scene$ClickGenerator this
LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljavafx/scene/Scene$ClickGenerator;
0 24 1 e Ljavafx/scene/input/MouseEvent;
2 3 2 cc Ljavafx/scene/Scene$ClickCounter;
5 24 2 cc Ljavafx/scene/Scene$ClickCounter;
8 24 3 still Z
MethodParameters:
Name Flags
e
private void postProcess(javafx.scene.input.MouseEvent, javafx.scene.Scene$TargetWrapper, javafx.scene.Scene$TargetWrapper);
descriptor: (Ljavafx/scene/input/MouseEvent;Ljavafx/scene/Scene$TargetWrapper;Ljavafx/scene/Scene$TargetWrapper;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=26, locals=9, args_size=4
start local 0 // javafx.scene.Scene$ClickGenerator this
start local 1 // javafx.scene.input.MouseEvent e
start local 2 // javafx.scene.Scene$TargetWrapper target
start local 3 // javafx.scene.Scene$TargetWrapper pickedTarget
0: .line 3538
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getEventType:()Ljavafx/event/EventType;
getstatic javafx.scene.input.MouseEvent.MOUSE_RELEASED:Ljavafx/event/EventType;
if_acmpne 24
1: .line 3539
aload 0 /* this */
getfield javafx.scene.Scene$ClickGenerator.counters:Ljava/util/Map;
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getButton:()Ljavafx/scene/input/MouseButton;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javafx.scene.Scene$ClickCounter
astore 4 /* cc */
start local 4 // javafx.scene.Scene$ClickCounter cc
2: .line 3541
aload 2 /* target */
aload 0 /* this */
getfield javafx.scene.Scene$ClickGenerator.pressedTargets:Ljava/util/List;
invokevirtual javafx.scene.Scene$TargetWrapper.fillHierarchy:(Ljava/util/List;)V
3: .line 3542
aload 3 /* pickedTarget */
aload 0 /* this */
getfield javafx.scene.Scene$ClickGenerator.releasedTargets:Ljava/util/List;
invokevirtual javafx.scene.Scene$TargetWrapper.fillHierarchy:(Ljava/util/List;)V
4: .line 3543
aload 0 /* this */
getfield javafx.scene.Scene$ClickGenerator.pressedTargets:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 5 /* i */
start local 5 // int i
5: .line 3544
aload 0 /* this */
getfield javafx.scene.Scene$ClickGenerator.releasedTargets:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 6 /* j */
start local 6 // int j
6: .line 3546
aconst_null
astore 7 /* clickedTarget */
start local 7 // javafx.event.EventTarget clickedTarget
7: .line 3547
goto 11
8: .line 3548
StackMap locals: javafx.scene.Scene$ClickGenerator javafx.scene.input.MouseEvent javafx.scene.Scene$TargetWrapper javafx.scene.Scene$TargetWrapper javafx.scene.Scene$ClickCounter int int javafx.event.EventTarget
StackMap stack:
aload 0 /* this */
getfield javafx.scene.Scene$ClickGenerator.pressedTargets:Ljava/util/List;
iload 5 /* i */
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast javafx.event.EventTarget
astore 7 /* clickedTarget */
9: .line 3549
iinc 5 /* i */ -1
10: .line 3550
iinc 6 /* j */ -1
11: .line 3547
StackMap locals:
StackMap stack:
iload 5 /* i */
iflt 12
iload 6 /* j */
iflt 12
aload 0 /* this */
getfield javafx.scene.Scene$ClickGenerator.pressedTargets:Ljava/util/List;
iload 5 /* i */
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
aload 0 /* this */
getfield javafx.scene.Scene$ClickGenerator.releasedTargets:Ljava/util/List;
iload 6 /* j */
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
if_acmpeq 8
12: .line 3553
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield javafx.scene.Scene$ClickGenerator.pressedTargets:Ljava/util/List;
invokeinterface java.util.List.clear:()V
13: .line 3554
aload 0 /* this */
getfield javafx.scene.Scene$ClickGenerator.releasedTargets:Ljava/util/List;
invokeinterface java.util.List.clear:()V
14: .line 3556
aload 7 /* clickedTarget */
ifnull 24
aload 0 /* this */
getfield javafx.scene.Scene$ClickGenerator.lastPress:Ljavafx/scene/Scene$ClickCounter;
ifnull 24
15: .line 3557
new javafx.scene.input.MouseEvent
dup
aconst_null
aload 7 /* clickedTarget */
16: .line 3558
getstatic javafx.scene.input.MouseEvent.MOUSE_CLICKED:Ljavafx/event/EventType;
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getSceneX:()D
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getSceneY:()D
17: .line 3559
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getScreenX:()D
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getScreenY:()D
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getButton:()Ljavafx/scene/input/MouseButton;
18: .line 3560
aload 4 /* cc */
invokevirtual javafx.scene.Scene$ClickCounter.get:()I
19: .line 3561
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.isShiftDown:()Z
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.isControlDown:()Z
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.isAltDown:()Z
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.isMetaDown:()Z
20: .line 3562
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.isPrimaryButtonDown:()Z
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.isMiddleButtonDown:()Z
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.isSecondaryButtonDown:()Z
21: .line 3563
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.isSynthesized:()Z
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.isPopupTrigger:()Z
aload 0 /* this */
getfield javafx.scene.Scene$ClickGenerator.lastPress:Ljavafx/scene/Scene$ClickCounter;
invokevirtual javafx.scene.Scene$ClickCounter.isStill:()Z
aload 1 /* e */
invokevirtual javafx.scene.input.MouseEvent.getPickResult:()Ljavafx/scene/input/PickResult;
22: .line 3557
invokespecial javafx.scene.input.MouseEvent.<init>:(Ljava/lang/Object;Ljavafx/event/EventTarget;Ljavafx/event/EventType;DDDDLjavafx/scene/input/MouseButton;IZZZZZZZZZZLjavafx/scene/input/PickResult;)V
astore 8 /* click */
start local 8 // javafx.scene.input.MouseEvent click
23: .line 3564
aload 7 /* clickedTarget */
aload 8 /* click */
invokestatic javafx.event.Event.fireEvent:(Ljavafx/event/EventTarget;Ljavafx/event/Event;)V
end local 8 // javafx.scene.input.MouseEvent click
end local 7 // javafx.event.EventTarget clickedTarget
end local 6 // int j
end local 5 // int i
end local 4 // javafx.scene.Scene$ClickCounter cc
24: .line 3567
StackMap locals: javafx.scene.Scene$ClickGenerator javafx.scene.input.MouseEvent javafx.scene.Scene$TargetWrapper javafx.scene.Scene$TargetWrapper
StackMap stack:
return
end local 3 // javafx.scene.Scene$TargetWrapper pickedTarget
end local 2 // javafx.scene.Scene$TargetWrapper target
end local 1 // javafx.scene.input.MouseEvent e
end local 0 // javafx.scene.Scene$ClickGenerator this
LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Ljavafx/scene/Scene$ClickGenerator;
0 25 1 e Ljavafx/scene/input/MouseEvent;
0 25 2 target Ljavafx/scene/Scene$TargetWrapper;
0 25 3 pickedTarget Ljavafx/scene/Scene$TargetWrapper;
2 24 4 cc Ljavafx/scene/Scene$ClickCounter;
5 24 5 i I
6 24 6 j I
7 24 7 clickedTarget Ljavafx/event/EventTarget;
23 24 8 click Ljavafx/scene/input/MouseEvent;
MethodParameters:
Name Flags
e
target
pickedTarget
}
SourceFile: "Scene.java"
NestHost: javafx.scene.Scene
InnerClasses:
ClickCounter = javafx.scene.Scene$ClickCounter of javafx.scene.Scene
ClickGenerator = javafx.scene.Scene$ClickGenerator of javafx.scene.Scene
private TargetWrapper = javafx.scene.Scene$TargetWrapper of javafx.scene.Scene