Frame instructions reference
- 
    Box definition - Synopsis: top_left_x,top_left_y,bottom_right_x,bottom_right_y
- A box definition is simply a pair of x y coordinates that form a rectangle within the frame
- In DemoEasel, the origin is always the top left corner of the frame
- It is entirely allowed for many instructions on one frame to use the same box coordinates
 
- Synopsis: 
- 
    LLeft click- Synopsis: box_definition L [> destination_frame]
- There may be multiple click instructions per frame, however, each click instruction should apply to a different box within one frame
- Specifying a frame that is currently hidden as a destination frame will throw a syntax error
- When the box specified is clicked, the demo jumps to the destination frame, or if one is not specified, the next visible frame
- For example, 100,200,300,400 Lcauses the demo to wait for the box to be clicked, then jumps to the next visible frame
 
- Synopsis: 
- 
    RRight click- Synopsis: box_definition R [> destination_frame]
- There may be multiple right click instructions per frame, however, each right click instruction should apply to a different box within one frame
- Specifying a frame that is currently hidden as a destination frame will throw a syntax error
- When the box specified is right clicked, the demo jumps to the destination frame, or if one is not specified, the next visible frame
- For example, 100,200,300,400 Rcauses the demo to wait for the box to be right clicked, then jumps to the next visible frame
 
- Synopsis: 
- 
    MMouseover- Synopsis: box_definition M [> destination_frame]
- There may be multiple mouseover instructions per frame, however, each mouseover instruction should apply to a different box within one frame
- Specifying a frame that is currently hidden as a destination frame will throw a syntax error
- When the mouse enters (hovers over) the specified box, the demo jumps to the destination frame, or if one is not specified, the next visible frame
- If the mouse was already inside the box when the frame was shown, the instruction would only trigger once the mouse leaves and then enters the box again
- For example, 100,200,300,400 Mcauses the demo to wait for the mouse to enter the box, then jumps to the next visible frame
 
- Synopsis: 
- 
    EMouseleave- Synopsis: box_definition E [> destination_frame]
- There may be multiple mouseleave instructions per frame, however, each mouseleave instruction should apply to a different box within one frame
- Specifying a frame that is currently hidden as a destination frame will throw a syntax error
- When the mouse leaves (stops hovering over) the specififed box, the demo jumps to the destination frame, or if one is not specified, the next visible frame
- If the mouse was already outside the box when the frame was shown, the instruction would only trigger once the mouse enters and then leaves the box again
- For example, 100,200,300,400 Ecauses the demo to wait for the mouse to leave the box, then jumps to the next visible frame
 
- Synopsis: 
- 
    TTimer- Synopsis: T delay_ms [> destination_frame]
- There should not be more than one timer instruction per frame
- Regardless of the order of the instructions, the timer starts immediately when the frame is shown
- Specifying a frame that is currently hidden as a destination frame will throw a syntax error
- When the timer expires, the demo jumps to the destination frame, or if one is not specified, the next visible frame
- Timers can be canceled by another action being triggered. For example, if a mouse click instruction is triggered before the timer expired, the demo would follow the mouse click instruction and cancel the timer
- For example, T 100causes the demo to wait at that point for 100 milliseconds, then jump to the next frame
- T 200 > 64would cause the demo to wait for 200 milliseconds at that frame, then jump to frame 64
 
- Synopsis: 
- 
    KKeypress- Synopsis: K keycode [> destination_frame]
- There may be multiple keypress instructions per frame, for example, to allow jumping to different frames based on what key was pressed
- Specifying a keycode of 0 will match all keycodes (any key press)
- Keycodes are not affected by modifier keys (shift, control, etc.)
- Specifying a frame that is currently hidden as a destination frame will throw a syntax error
- When a key matching the instructions keycode is pressed, the instruction is triggered, and the demo jumps to the destination frame, or if one is not specified, the next visible frame
- Keycodes can be determined by opening any interactive HTML demo and pressing keys whose keycodes you want to know. Keycodes of pressed keys will be printed to the console, in this format: keycode,keycode
- For example, K 70 > 128causes the demo to wait for theFkey to be pressed, then jump to frame 128
- K 0waits for any key to be pressed, then jumps to the next visible frame
 
- Synopsis: