Updated 2015.01.16
Each command is on one file line.
Any line that begins with any punctuation char is a comment, which is
discarded.
Any text after required arguments is discarded comment. No
delimiter is required.
The first word (case-insensitive) of a line is the command. Any arguments
after the command word are separated by white-space or comma.
WINDOW x,y,cx,cy,rel,dx,dy = set drawing window and control dialog position.
This is not normally included in a screencast but is to prepare for
recording.
Arguments x, y, cx, and cy are the drawing window information;
rel, dx, and dy are lens control dialog position information. x = -1 and
cx = -1 skip window position or size change. If dialog position is missing
or erroneous the dialog is not moved.
rel is INLT, INRT, INLB, INRB, OUTLT, OUTRT, OUTLB, or OUTRB. IN signifies
that the dialog is inside the dialog, OUT that it is outside, i.e. that the
position reference window is the screen. LT, RT, LB, and RB indicate the
reference window corner destination for the dialog.
The dialog arguments, dx
and dy tell how far the dialog is from the reference corner. Positive is
inside. Negative moves the dialog outside the window.
Examples:
window 100,10,860,720,INRB,4,4
CANVASS xmax ymax = set the lens drawing maximum X and Y dimensions. To change Y and not X use 0 for X.
DELAY msec = delay between commands. Delay 0 restores normal speed, i.e. as
fast as possible.
Delay is like a pragma. It doesn't do anything itself but
affects the operation of subsequent commands.
Examples:
delay 100 ; sleep for .1 second after each drawing change type command.
STOP = stop immediately. This is primarily used in development to examine some script intermediate state.
PAUSE = suspend until user presses the script button.
SLEEP msec = Sleep for given number of msec, e.g. sleep 1000 for 1 second.
Unlike DELAY, this executes immediately and only one time.
REPEAT number = repeat the entire script for number of times or forever if no argument.
LOOP number and ENDLOOP = repeat the enclosed script section a number of times or forever if number is blank. e.g. loop 10 .... endloop
SKIP and ENDSKIP = skip over all lines after SKIP until ENDSKIP. For script development.
RINDEX index, where index is a floating point number (treated as double) defining the index of refraction of the lens material.
LENS ivx, ivy, evx, evy, depth, cfg = Draw lens. Only cfg can be ommitted,
defaulting to CVCV.
Examples:
LENS 199,150,152,270,30,CVCV
FADE start_lens end_lens steps
= Draw start_lens and step toward the end_lens with each
lens parameter step equal to the range from start to end divided by steps
The delay between steps is established by a
preceding delay command. Fade itself has no specified delay.
Unlike Lens, cfg is not optional, as
it is needed to establish token sequence. However, only cfg of the first
lens is assigned. The second is a dummy place holder. It is not possible to
fade from one cfg to another.
User stop request during fade is ignored until the fade finishes.
Examples:
Fade 208,150,150,350,30,CVCV 225,168,197,197,40,CVCV 10 In this case,
ivx step is (225-208)/10 = 1.7, ivy step is 1.8, evx step is 4.7,
evy step is 4.7. and depth step is 1.
WIDTH assigns lens width and/or change behavior.
TRACE BEAM or MULTIBEAM = trace paraxial beam or multiple beam angles through the lens.