home *** CD-ROM | disk | FTP | other *** search
/ Red Pages of the Internet / RedPagesInternet2000.iso / Other / Scala.InfoChannel.IC200.SP6-SHOCK / DOC / ScalaEX.txt < prev    next >
Encoding:
Text File  |  1997-08-13  |  163.3 KB  |  3,985 lines

  1. Scala EX Modules
  2. ================
  3.  
  4. Foreword
  5.  
  6. This document provides an overview of the EX modules that are shipped with
  7. MM200 and IC200.  Updates to this document will be made available at the
  8. web page:
  9.  
  10.     http://www.scala.com/scripting.
  11.  
  12. In general, users of Scala products should not have to resort to hand-editing
  13. scripts--the authoring system should provide all necessary features.  However,
  14. if a feature is required that is not supported by the authoring system, then
  15. manual updating of a script may be required.  It is posible to create new
  16. scripts outside of the authoring system, as well as hand-edit scripts that
  17. were created by the authoring system.
  18.  
  19. Note that loading an hand-edited or hand-authored script into the authoring
  20. system may produce unexpected results.
  21.  
  22. -------------------------------------------------------------------------------
  23.  
  24. Contents:
  25.  
  26. 1.  Launch EX Script Commands and Variables
  27. 2.  FileIO EX Script Commands and Variables
  28. 3.  Sound EX Script Commands and Variables
  29. 4.  Input EX Script Commands and Variables
  30. 5.  Time Script Functions and Variables
  31. 6.  MPEG EX Script Commands and Variables
  32. 7.  Screen Script Commands and Variables
  33.  
  34. -------------------------------------------------------------------------------
  35.  
  36. 1.  Launch EX Script Commands and Variables
  37. ===========================================
  38.  
  39. The Launch EX provides a single command that is used to start other programs
  40. outside of the Scala application.
  41.  
  42.     Launch (command_line, Minimized(state), Wait(state));
  43.  
  44. -------------------------------------------------------------------------------
  45.  
  46. 2.  FileIO EX Script Commands and Variables
  47. ==========================================
  48.  
  49. Overview
  50. --------
  51.  
  52. Function          Description
  53. --------          -----------
  54. Open()            Open a file or directory.
  55. Close()           Close a file or directory.
  56. ReadStr()         Read a line from an open file and return it as a string.
  57. ReadInt()         Read a line from an open file, convert it to an integer
  58.                   and return the integer.
  59. ReadBool()        Read a line from an open file, convert it to a boolean
  60.                   (where 1=TRUE and 0=FALSE) and return the boolean.
  61. ReadChars()       Read a number of characters from an open file and return
  62.                   it as a string.
  63. WriteStr()        Write a string to an open file.  The string is written
  64.                   as a complete line, with CR/LF appended.
  65. WriteInt()        Write an integer to an open file.  The integer is written
  66.                   as a complete line, with CR/LF appended.
  67. WriteBool()       Write a boolean to an open file.  The boolean is written
  68.                   as a complete line, with CR/LF appended.
  69. WriteChars()      Write a number of characters to an open file.  Only the
  70.                   characters are written, with no trailing CR/LF.
  71. MkDir()           Create a directory.
  72. FileSize()        Get the size of a file.
  73. RmDir()           Remove a directory.
  74. Eof()             Check for end-of-file condition on an open file.
  75. Erase()           Erase a file.
  76. Rename()          Rename a file.
  77. Copy()            Copy a file.
  78.  
  79. FileIO variable summary:
  80.  
  81. Variable          Description
  82. --------          -----------
  83. FileIO.Status     Contains the status returned by the last call to
  84.                   any of the FileIO functions.
  85.  
  86. Open Function
  87. --------------
  88.  
  89. This function will open a file or directory for processing.  It will
  90. return a filehandle that will be used in the future to reference the
  91. file until the file is closed.
  92.  
  93. Note that all File I/O access is restricted to the "Data" directory
  94. within the "Scala" directory.  You are not allowed to use full path
  95. names or drive letters when specifying file names.  All file names
  96. are expected to be relative to the Data directory.
  97.  
  98. Open has three different access modes.  The first mode is READ, when
  99. the file is opened for READ access only READs may occur.  If a Write
  100. is attempted and error is the result.
  101.  
  102. The second mode is WRITE, which implies READ access as well.  With this
  103. setting a file can be used for both READING and WRITING.
  104.  
  105. The third mode is APPEND, which applies both READ and WRITE Access.  The
  106. difference with APPEND is that the filepointer is not set to point at
  107. the end of the file as opposed to the beginning of the file as with all
  108. of the other modes.
  109.  
  110. Syntax:
  111. -------
  112.  
  113. FileHandle = INTEGER Open("filename", READ)
  114. FileHandle = INTEGER Open("filename", WRITE)
  115. FileHandle = INTEGER Open("filename", APPEND)
  116. DirHandle  = INTEGER Open("directory", DIR)
  117.  
  118. Returns
  119. -------
  120.  
  121. If successful a positive integer value is returned.  If there is a
  122. failure a zero will be returned.
  123.  
  124. Close Function
  125. --------------
  126.  
  127. The Close function will close the current open file or directory.  The
  128. user would pass the FileHandle or DirHandle to the close function.
  129.  
  130. Syntax
  131. ------
  132.  
  133. status = INTEGER Close(INTEGER FileHandle)
  134. status = INTEGER Close(INTEGER DirHandle)
  135.  
  136. Returns
  137. -------
  138.  
  139. If succesful Close() returns 0.
  140. This command also sets FileIO.Status.  The variable will
  141. contain 1 if successful, or 0 zero if not.
  142.  
  143. ReadStr Function
  144. ----------------
  145.  
  146. This function will read from the specified filehandle an entire line
  147. of text from the file.
  148.  
  149. Syntax
  150. ------
  151.  
  152. buffer = STRING ReadStr(INTEGER FileHandle)
  153.  
  154. Returns
  155. -------
  156.  
  157. Will return either a string or "" if it fails.
  158. This command also sets FileIO.Status.  The variable will
  159. contain 1 if successful, or 0 zero if not.
  160.  
  161. ReadInt Function
  162. ----------------
  163.  
  164. The ReadInt Function will read from the provided filehandle a single
  165. integer.
  166.  
  167. Syntax
  168. ------
  169.  
  170. value = INTEGER ReadInt(INTEGER FileHandle)
  171.  
  172. Returns
  173. -------
  174.  
  175. returns an integer value.
  176.  
  177. This command also sets FileIO.Status.  The variable will
  178. contain 1 if successful, or 0 zero if not.
  179.  
  180. ReadBool Function
  181. ------------------
  182.  
  183. Reads a single line of text from a file.  Then the text is converted
  184. into an integer.  If this succeeds then a 1 is returned otherwise
  185. a zero is returned.
  186.  
  187. Example text.dat file
  188.  
  189.     text              result
  190.     ------------      ------
  191.     80 some text ---> Returns 1 (because this converts to an 80)
  192.     1            ---> Returns 1
  193.     some text 4  ---> Returns 0 (because this does not convert to an integer)
  194.     0            ---> Returns 0
  195.  
  196. Syntax
  197. ------
  198.  
  199. value = BOOLEAN ReadBool(INTEGER FileHandle)
  200.  
  201. Returns
  202. -------
  203.  
  204. Returns either a 0 or a 1
  205.  
  206. This command also sets FileIO.Status.  The variable will
  207. contain 1 if successful, or 0 zero if not.
  208.  
  209. ReadChars Function
  210. ------------------
  211.  
  212. This function will read the specified number of characters from the
  213. file.  It should be noted that Scala STRING variables can not contain
  214. any illegal character data.  NO special characters or binary data
  215. may be held in this type of variable.
  216.  
  217. Syntax
  218. ------
  219.  
  220. buffer = STRING ReadChars(INTEGER FileHandle, INTEGER BytesToRead)
  221.  
  222. Returns
  223. -------
  224.  
  225. Returns either a string or NULL.
  226.  
  227. This command also sets FileIO.Status.  The variable will
  228. contain 1 if successful, or 0 zero if not.
  229.  
  230. WriteStr Function
  231. -----------------
  232.  
  233. This function will write the specified string into the opened
  234. text file.  It will add a CR/LF to the end of the line before
  235. it is written to the file.
  236.  
  237. Syntax
  238. ------
  239.  
  240. status = BOOLEAN WriteStr(INTEGER FileHandle, STRING buffer)
  241.  
  242. Returns
  243. -------
  244.  
  245. Returns TRUE if succesful, FALSE if failure.
  246.  
  247. WriteInt Function
  248. ------------------
  249.  
  250. This function will convert the specified integer into a string
  251. and write that string to a text file appending a CR/LF sequence
  252. to the end of the string.
  253.  
  254. Syntax
  255. ------
  256.  
  257. status = BOOLEAN WriteInt(INTEGER FileHandle, INTEGER value)
  258.  
  259. Returns
  260. -------
  261.  
  262. Returns TRUE if successful, FALSE if failure.
  263.  
  264. WriteBool Function
  265. ------------------
  266.  
  267. This function will convert the specified boolean value into a
  268. string (either a "1" or a "0") and append a CR/LF to the string
  269. and write the string to the file specified.
  270.  
  271. Syntax
  272. ------
  273.  
  274. status = BOOLEAN WriteBool(INTEGER FileHandle, BOOLEAN value)
  275.  
  276. Returns
  277. -------
  278.  
  279. Returns TRUE if successful, FALSE if failure.
  280.  
  281. WriteChars Function
  282. -------------------
  283.  
  284. Writes the specified number of bytes from the variable specified to
  285. a file.  It will NOT add a CR/LF sequence to the end of the string
  286. prior to writing to the file.
  287.  
  288. Syntax
  289. ------
  290.  
  291. bytes = INTEGER WriteChars(INTEGER FileHandle, STRING buffer,
  292.                 INTEGER BytesToWrite)
  293.  
  294. Returns
  295. -------
  296.  
  297. Number of bytes written.
  298.  
  299. This command also sets FileIO.Status.  The variable will
  300. contain 1 if successful, or 0 zero if not.
  301.  
  302. MkDir Function
  303. --------------
  304.  
  305. Creates the specified directory.  The function will accept any valid
  306. Scala filename.
  307.  
  308. Syntax
  309. ------
  310.  
  311. status = BOOLEAN MkDir("filename")
  312.  
  313. Returns
  314. -------
  315.  
  316. Returns TRUE if successful, FALSE if failure.
  317.  
  318. FileSize Function
  319. -----------------
  320.  
  321. Returns the number of bytes a specified file uses on a disk.
  322.  
  323. Syntax
  324. ------
  325.  
  326. bytes = INTEGER FileSize("filename")
  327.  
  328. Returns
  329. -------
  330.  
  331. Byte count.
  332.  
  333. This command also sets FileIO.Status.  The variable will
  334. contain 1 if successful, or 0 zero if not.
  335.  
  336. RmDir Function
  337. ---------------
  338.  
  339. Deletes the directory specified.  In order for this function to be
  340. successful the directory must be empty first.
  341.  
  342. Syntax
  343. ------
  344.  
  345. status = BOOLEAN RmDir("filename")
  346.  
  347. Returns
  348. -------
  349.  
  350. TRUE successful, FALSE if failure
  351.  
  352. Eof Function
  353. -------------
  354.  
  355. This function will return a 1 if you have read all of the data contained
  356. in the file.  It will return a zero otherwise.
  357.  
  358. Syntax
  359. ------
  360.  
  361. status = BOOLEAN Eof(INTEGER FileHandle)
  362.  
  363. Returns
  364. -------
  365.  
  366. TRUE if End of File
  367. FALSE if not at end of file
  368.  
  369. This command also sets FileIO.Status.  The variable will
  370. contain 1 if successful, or 0 zero if not.
  371.  
  372. Erase function
  373. --------------
  374.  
  375. This function will delete a file.
  376.  
  377. Syntax
  378. ------
  379.  
  380. status = BOOLEAN Erase("filename")
  381.  
  382. Returns
  383. -------
  384.  
  385. TRUE if successful, FALSE if failure
  386.  
  387. Rename Function
  388. ---------------
  389.  
  390. Renames the source file to the specified destination file.
  391.  
  392. Syntax
  393. ------
  394.  
  395. status = BOOLEAN Rename("filename1", "filename2")
  396.  
  397. Returns
  398. -------
  399.  
  400. TRUE if successful, FALSE if failure
  401.  
  402. Copy Function
  403. --------------
  404.  
  405. Copies the source file to the specified destrination file.
  406.  
  407. Syntax
  408. ------
  409.  
  410. status = BOOLEAN Copy("filename1", "filename2")
  411.  
  412. Returns
  413. -------
  414.  
  415. TRUE if successful, FALSE if failure
  416.  
  417. -------------------------------------------------------------------------------
  418.  
  419. 3.  Sound EX Script Commands and Variables
  420. ==========================================
  421.  
  422. The Sound EX supports pre-seek/buffering/loading and sound spooling from disk.
  423. This EX provides a set of commands, functions and variables for controlling and
  424. configuring sound from in Scala Scripts.
  425.  
  426. The Sound EX supports playback of Audio CD's on a CD-ROM drive, Wave files
  427. (.WAV 8/16-bit mono or stereo digital audio files, also ADPCM), IFF 8SVX files
  428. (8-bit mono uncompressed digital audio files) and General MIDI files (.MID
  429. files, only type 0 and 1 are supported).
  430.  
  431. MIDI playback is done entirely by the Sound EX.
  432.  
  433. Sound EX Commands
  434.  
  435. Below is a list of all Scala Script commands provided by the Sound EX.
  436. Parameters within brackets are optional.
  437.  
  438. Overview
  439.  
  440. CD Commands
  441.  
  442.     CD.Eject([FADE(secs)] [,UNIT(unit)])
  443.     CD.Pan(Panning [,UNIT(unit)])
  444.     CD.Pause([FADE(secs)] [,UNIT(unit)])
  445.     CD.Play(InTrack, OutTrack [,WAIT(bool)] [,LOOPS(loops)]
  446.             [,PAN(panval)] [,FADE(vol,secs)] [,UNIT(unit)])
  447.     CD.PlayMSF(InMSF, OutMSF [,WAIT(bool)] [,LOOPS(loops)]
  448.             [,PAN(panval)] [,FADE(vol,secs)] [,UNIT(unit)])
  449.     CD.ReadToc([UNIT(unit)])
  450.     CD.Resume([FADE(vol,secs)] [,WAIT(bool)] [,UNIT(unit)])
  451.     CD.Stop([FADE(secs)] [,UNIT(unit)])
  452.     CD.Sync(SyncMSF [,TRACK(bool)] [,UNIT(unit)])
  453.     CD.Volume(FadeTo, FadeTime [,WAIT(bool)] [,UNIT(unit)])
  454.     CD.Wait([UNIT(unit)])
  455.  
  456. Midi Commands
  457.  
  458.     Midi.Pan(Panning)
  459.     Midi.Pause([FADE(secs)])
  460.     Midi.Play(FileName [,RATE(rate)] [,WAIT(bool)] [,LOOPS(loops)]
  461.             [,PAN(panval)] [,FADE(vol,secs)])
  462.     Midi.Resume([FADE(vol,secs)] [,WAIT(bool)])
  463.     Midi.Stop([FADE(secs)])
  464.     Midi.Volume(FadeTo, FadeTime [,WAIT(bool)])
  465.     Midi.Wait()
  466.  
  467. Mixer Commands
  468.  
  469.     Mixer.Pan([MASTER(MasterPan)] [,VOICE(VoicePan)] [,FM(FMPan)]
  470.             [,CD(CDPan)] [,LINEIN(LineInPan)])
  471.     Mixer.Volume(FadeTime [,MASTER(MasterVol)] [,VOICE(VoiceVol)] [,FM(FMVol)]
  472.             [,CD(CDVol)] [,LINEIN(LineInVol)] [,MICIN(MicInVol)])
  473.  
  474. Sample Commands
  475.  
  476.     Sample.Pan(Panning)
  477.     Sample.Play(FileName [,RATE(rate)] [,SIGNED(bool)] [,WAIT(bool)]
  478.             [,LOOPS(loops)] [,PAN(panval)] [,FADE(vol,secs)])
  479.     Sample.Stop([FADE(secs)])
  480.     Sample.Volume(FadeTo, FadeTime [,WAIT(bool)])
  481.     Sample.Wait()
  482.  
  483. Details
  484.  
  485. CD.PLAY
  486.     InTrack             integer  Play from track number 'InTrack'
  487.     OutTrack            integer  Play until track number 'OutTrack'
  488.     [WAIT(bool)]        boolean  Wait for playback to complete before
  489.                                  continuing?
  490.     [LOOPS(loops)]      integer  Play the sequence/track 'loops' number of
  491.                                  times
  492.     [PAN(panval)]       integer  Set panning value to 'panval'
  493.                                  (range -255 to 255)
  494.     [FADE(vol,secs)]    integer  Fade from zero to 'vol' volume
  495.                         integer  Fade in 'secs' seconds
  496.     [UNIT(unit)]        integer  Command is related to CD-ROM unit 'unit'
  497.  
  498.  
  499. CD.PLAYMSF
  500.     InMSF               string   Play from 'InMSF'
  501.                                  format "MM:SS.FF" (mins/secs/frames)
  502.     OutMSF              string   Play until 'OutMSF'
  503.                                  format "MM:SS.FF" (mins/secs/frames)
  504.     [WAIT(bool)]        boolean  Wait for playback to complete before
  505.                                  continuing?
  506.     [LOOPS(loops)]      integer  Play the sequence/track 'loops'
  507.                                  number of times
  508.     [PAN(panval)]       integer  Set panning value to 'panval'
  509.                                  (range -255 to 255)
  510.     [FADE(vol,secs)]    integer  Fade from zero to 'vol' volume
  511.                         integer  Fade in 'secs' seconds
  512.     [UNIT(unit)]        integer  Command is related to CD-ROM unit 'unit'
  513.  
  514.  
  515. CD.SYNC
  516.     SyncMSF             string   Halt script until 'SyncMSF' is reached
  517.                                  format "MM:SS.FF"
  518.     [TRACK(bool)]       boolean  Set to 'TRUE' if relative to start of track
  519.                                  rather than start of disk.
  520.     [UNIT(unit)]        integer  Command is related to CD-ROM unit 'unit'
  521.  
  522.  
  523. CD.WAIT - Wait for playback to complete before continuing.
  524.     [UNIT(unit)]        integer  Command is related to CD-ROM unit 'unit'
  525.  
  526.  
  527. CD.STOP - Stop playback (playback can not be resumed)
  528.     [FADE(secs)]        integer  Fade down to zero during 'secs' secs
  529.                                  before stopping
  530.     [UNIT(unit)]        integer  Command is related to CD-ROM unit 'unit'
  531.  
  532.  
  533. CD.PAUSE - Pause playback (playback can be resumed if playing)
  534.     [FADE(secs)]        integer  Fade down to zero during 'secs' secs
  535.                                  before stopping
  536.     [UNIT(unit)]        integer  Command is related to CD-ROM unit 'unit'
  537.  
  538.  
  539. CD.RESUME - Resume playback (if stopped during playback)
  540.     [FADE(vol,secs)]    integer  Fade upto 'vol' volume
  541.                         integer  Fade in 'secs' seconds
  542.     [WAIT(bool)]        boolean  Wait for fade to complete before continuing?
  543.     [UNIT(unit)]        integer  Command is related to CD-ROM unit 'unit'
  544.  
  545.  
  546. CD.EJECT - Eject the CD (not supported by all drives)
  547.     [FADE(secs)]        integer  Fade down to zero during 'secs' secs
  548.                                  before ejecting
  549.     [UNIT(unit)]        integer  Command is related to CD-ROM unit 'unit'
  550.  
  551.  
  552. CD.READTOC - Rereads the table of contents if the user has inserted a CD
  553.     [UNIT(unit)]        integer  Command is related to CD-ROM unit 'unit'
  554.  
  555.  
  556. CD.VOLUME
  557.     FadeTo              integer  Set the new volume to 'FadeTo'
  558.                                  (range 0 to 255)
  559.     FadeTime            integer  The fade should take 'FadeTime' secs
  560.                                  (0 if no fade)
  561.     [WAIT(bool)]        boolean  Wait for fade to complete before continuing?
  562.     [UNIT(unit)]        integer  Command is related to CD-ROM unit 'unit'
  563. SEE ALSO: CD.HWVOL
  564.  
  565.  
  566. CD.PAN
  567.     Panning             integer  Set the new panning to 'Panning'
  568.                                  (range -255 to 255)
  569.     [UNIT(unit)]        integer  Command is related to CD-ROM unit 'unit'
  570. SEE ALSO: CD.HWVOL
  571.  
  572.  
  573. SAMPLE.PLAY
  574.     FileName            string   Play the sample indicated by 'FileName'
  575.     [RATE(rate)]        integer  Override the default rate, set to 'Rate' Hz
  576.     [SIGNED(bool)]      boolean  Override the default sign
  577.                                  (file contains signed data?)
  578.     [WAIT(bool)]        boolean  Wait for playback to complete
  579.                                  before continuing?
  580.     [LOOPS(loops)]      integer  Play the sample 'loops' number of times
  581.     [PAN(panval)]       integer  Set panning value to 'panval'
  582.                                  (range -255 to 255)
  583.     [FADE(vol,secs)]    integer  Fade from zero to 'vol' volume
  584.                         integer  Fade in 'secs' seconds
  585.  
  586.  
  587. SAMPLE.WAIT - Wait for playback to complete before continuing
  588.  
  589.  
  590. SAMPLE.STOP - Stop playback (playback can be resumed if playing)
  591.     [FADE(secs)]        integer  Fade down to zero during 'secs'
  592.                                  seconds before stopping
  593.  
  594.  
  595. SAMPLE.VOLUME
  596.     FadeTo              integer  Set the new volume to 'FadeTo'
  597.                                  (range 0 to 255)
  598.     FadeTime            integer  The fade should take 'FadeTime' secs
  599.                                  (0 if no fade)
  600.     [WAIT(bool)]        boolean  Wait for fade to complete before continuing?
  601.  
  602.  
  603. SAMPLE.PAN
  604.     Panning             integer  Set the new panning to 'Panning'
  605.                                  (range -255 to 255)
  606.  
  607.  
  608. MIXER.VOLUME
  609.     FadeTime            integer  The fade should take 'FadeTime' secs
  610.                                  (0 if no fade)
  611.     [MASTER(MasterVol)] integer  The new Master volume (range 0 to 255)
  612.     [VOICE(VoiceVol)]   integer  The new Voice/Sample volume (range 0 to 255)
  613.     [FM(FMVol)]         integer  The new FM/Midi volume (range 0 to 255)
  614.     [CD(CDVol)]         integer  The new CD volume (range 0 to 255)
  615.     [LINEIN(LineInVol)] integer  The new Line In volume (range 0 to 255)
  616.     [MICIN(MicInVol)]   integer  The new Mic In volume (range 0 to 255)
  617.  
  618.  
  619. MIXER.PAN
  620.     [MASTER(MasterPan)] integer  The new Master panning (range -255 to 255)
  621.     [VOICE(VoicePan)]   integer  The new Voice/Sample panning
  622.                                  (range -255 to 255)
  623.     [FM(FMPan)]         integer  The new FM/Midi panning (range -255 to 255)
  624.     [CD(CDPan)]         integer  The new CD panning (range -255 to 255)
  625.     [LINEIN(LineInPan)] integer  The new Line In panning (range -255 to 255)
  626.  
  627.  
  628.  
  629. MIDI.PLAY
  630.     FileName            string   Play the Midi file indicated by 'FileName'
  631.     [RATE(rate)]        integer  Override the default rate, set to 'Rate' bpm
  632.     [WAIT(bool)]        boolean  Wait for playback to complete before
  633.                                  continuing?
  634.     [LOOPS(loops)]      integer  Play the Midi file 'loops' number of times
  635.     [PAN(panval)]       integer  Set panning value to 'panval'
  636.                                  (range -255 to 255)
  637.     [FADE(vol,secs)]    integer  Fade from zero to 'vol' volume
  638.                         integer  Fade in 'secs' seconds
  639.  
  640.  
  641. MIDI.WAIT - Wait for playback to complete before continuing
  642.  
  643.  
  644. MIDI.STOP - Stop playback (playback can not be resumed)
  645.     [FADE(secs)]        integer  Fade down to zero during 'secs'
  646.                                  seconds before stopping
  647.  
  648.  
  649. MIDI.PAUSE - Stop playback (playback can be resumed if playing)
  650.     [FADE(secs)]        integer  Fade down to zero during 'secs'
  651.                                  seconds before stopping
  652.  
  653.  
  654. MIDI.RESUME - Resume playback (if playback was previously stopped)
  655.     [FADE(vol,secs)]    integer  Fade up to 'vol' volume
  656.                         integer  Fade in 'secs' seconds
  657.     [WAIT(bool)]        boolean  Wait for fade to complete before continuing?
  658.  
  659.  
  660. MIDI.VOLUME
  661.     FadeTo              integer  Set the new volume to 'FadeTo'
  662.                                  (range 0 to 255)
  663.     FadeTime            integer  The fade should take 'FadeTime' secs
  664.                                  (0 if no fade)
  665.     [WAIT(bool)]        boolean  Wait for fade to complete before continuing?
  666.  
  667.  
  668. MIDI.PAN
  669.     Panning             integer  Set the new panning to 'Panning'
  670.                                  (range -255 to 255)
  671.  
  672.  
  673. Sound Variables and Functions
  674.  
  675. FUNCTIONS:
  676.  
  677. Name                            Type    Description
  678. ------------------------------------------------------------------------
  679. CD.LengthTrack(tracknumber)     String  Length of any given tracknumber
  680.  
  681. VARIABLES:
  682.  
  683. Name            Type    Example         Description
  684. -----------------------------------------------------------------------
  685. CD.DiscLength   String  "54:32"         Total playing time whole disc
  686. CD.DiscTime     String  "23:45"         Elapsed time whole disc
  687. CD.FirstDrive   String  "D"             Drive letter of first CD drive
  688. CD.MaxTracks    Integer 12              Number of tracks on disc
  689. CD.NumDrives    Integer 1               Number of CD drives on this PC
  690. CD.Track        Integer 3               Current track number
  691. CD.TrackLength  String  "04:56"         Length this track
  692. CD.TrackTime    String  "01:23"         Elapsed time this track
  693.  
  694. CD variables are Read Only. You cannot assign values to them.
  695.  
  696.  
  697. Name            Type    Range           Description
  698. -----------------------------------------------------------------------
  699. Mixer.CDPan     Integer -255...255      CD Pan
  700. Mixer.CDVol     Integer 0..255          CD Volume
  701. Mixer.LinePan   Integer -255...255      Line Pan
  702. Mixer.LineVol   Integer 0..255          Line Volume
  703. Mixer.MasterPan Integer -255...255      Master Pan
  704. Mixer.MasterVol Integer 0..255          Master Volume
  705. Mixer.MicVol    Integer 0..255          Microphone Volume
  706. Mixer.MIDIPan   Integer -255...255      MIDI Pan
  707. Mixer.MIDIVol   Integer 0..255          MIDI Volume
  708. Mixer.SamplePan Integer -255...255      Sample Pan
  709. Mixer.SampleVol Integer 0..255          Sample Volume
  710.  
  711. Mixer variables are Read/Write. You can read their current value
  712. or set a new value.
  713.  
  714. All volume settings range from 0 to 255, while all panning settings range from
  715. -255 to 255 (-255 equals full left channel, 0 equals full left and right
  716. channel, 255 equals full right channel.)
  717.  
  718. Sound Environment variables
  719.  
  720. The sound for MM200 is processed through Microsoft DirectX support, and does
  721. not depend on proprietary hardware drivers.  Most of the variables listed
  722. in this section are now obsolete.
  723.  
  724. Environment variables are used to configure the Sound EX. Below is a sample
  725. configuration file for the Sound EX (sound.sca). This file should be placed
  726. into the "config" directory of the system.
  727.  
  728.     !ScalaScript
  729.     EVENT
  730.         CD.Hwvol    = FALSE;
  731.         Sample.Type = "NONE";
  732.         Sample.Addr = $220;
  733.         Sample.Irq  = 5;
  734.         Sample.Dma  = 1;
  735.         Midi.Type   = "NONE";
  736.         Midi.Addr   = $330;
  737.         Midi.Patch  = "NONE";
  738.     END
  739.  
  740. Here is a brief description of the Sound EX module's Environment variables.
  741.  
  742. CD.HWVOL = FALSE;
  743.  
  744. The CD volume can be controlled in two ways: Either by using the CD-ROM hardware
  745. for controlling the volume (not supported by all manufacturers), or by using the
  746. soundcard's mixer functions. Set this boolean variable to TRUE if you would like
  747. to use the CD-ROM hardware for controlling the volume.
  748.  
  749. SAMPLE.TYPE = "NONE";
  750.  
  751. This variable defines the type of soundcard installed in your machine (for
  752. sample playback).
  753.  
  754.     "NONE"        No card has been installed.
  755.     "SB1.X"       SoundBlaster version 1.x.
  756.     "SB1.5"       SoundBlaster version 1.5.
  757.     "SB2.0"       SoundBlaster version 2.0.
  758.     "SBPRO"       SoundBlaster Pro series.
  759.     "SB16"        SoundBlaster 16-bit cards.
  760.     "AWE32"       SoundBlaster 16-bit cards.
  761.     "MEDIAVISION" MediaVision - use MVSOUND.
  762.  
  763. SAMPLE.ADDR = $220;
  764.  
  765. This variable defines the address of the soundcard. The dollar sign prefixes a
  766. hexa-decimal address.
  767.  
  768. SAMPLE.IRQ = 5;
  769.  
  770. This variable defines the soundcard's irq number. Most Blaster cards do not need
  771. this setting.
  772.  
  773. SAMPLE.DMA = 1;
  774.  
  775. This variable defines the soundcard 's dma channel. Most cards do not need this
  776. setting.
  777.  
  778. MIDI.TYPE = "NONE";
  779.  
  780. This variable defines the type of MIDI card installed in your machine (for MIDI
  781. playback).
  782.  
  783.     "NONE"   No card has been installed.
  784.     "MPU401" General Midi chip used by most cards for communication
  785.              with external equipment - also used by the Roland RAP-10
  786.              and Roland LAPC1/MT32 cards for internal audio.
  787.     "AWE32"  SoundBlaster AWE32 / EMU8000.
  788.     "GUS"    Gravis UltraSound - use ULTRAMID.EXE.
  789.  
  790. MIDI.ADDR = $330;
  791.  
  792. This variable defines the address of your MIDI card, which is normally $330 for
  793. MPU401 and $620 for the AWE32. The dollar sign prefixes a hexadecimal address.
  794.  
  795. MIDI.PATCH = "NONE";
  796.  
  797. This variable defines the name of a patch or soundfonts (SBK) file that should
  798. automatically be loaded upon startup .
  799.  
  800.  
  801. Example scripts
  802.  
  803. The following "intro" script plays the first 10 seconds of each track on the CD.
  804.  
  805. EVENT
  806. Group:
  807.     INTEGER(track);
  808. Sequence:
  809.     EVENT
  810.     Group:
  811.         WHILE(track < CD.MAXTRACK)
  812.     Sequence:
  813.         track = track + 1;
  814.         CD.PLAY(track, track, Wait(FALSE));
  815.         CD.SYNC("00:10.00", Track(TRUE));
  816.     END
  817. END
  818.  
  819. The following "jukebox" script uses the Console EX for reading input and writing
  820. messages onto the screen.
  821.  
  822. EVENT
  823. Group:
  824.     INTEGER(track);
  825.     track = 1;
  826. Sequence:
  827.     EVENT
  828.     Group:
  829.         WHILE(track > 0)
  830.     Sequence:
  831.         ECHO("\nEnter track number: ");
  832.         ASK(track);
  833.         CD.PLAY(track, track, Wait(FALSE));
  834.     END
  835. END
  836.  
  837. The following script plays track one on the CD and crossfades to the WAV file
  838. indicated, waiting for completion.
  839.  
  840. EVENT
  841. Sequence:
  842.     MIXER.VOLUME(Voice(0), CD(255));
  843.     CD.PLAY(1, 1, Wait(FALSE));
  844.     SAMPLE.PLAY(":n/archive/sounds/jazzriff.wav", Wait(FALSE));
  845.     MIXER.FADE(10, Voice(255), CD(0));
  846.     SAMPLE.WAIT();
  847. END
  848.  
  849. -------------------------------------------------------------------------------
  850.  
  851. 4.  Input EX Script Commands
  852. ============================
  853.  
  854. Input():
  855.  
  856.     Input(
  857.         [ Mouse( BOOLEAN ) ]
  858.         [ TouchScreen( BOOLEAN ) ]
  859.         [ Keyboard( BOOLEAN ) ]
  860.         [ MouseControls( BOOLEAN ) ]
  861.         [ KeyboardControls( BOOLEAN ) ]
  862.         [ MousePointer( STRING ) ]
  863.         [ MouseBusyPointer( STRING ) ]
  864.         [ PointerSelectionOnly( BOOLEAN ) ]
  865.         )
  866.     
  867.     Button Input
  868.     ------------
  869.     
  870.     - Mouse( BOOLEAN )
  871.         Use a mouse as the ButtonsEX input device.  This option is mutually
  872.         exclusive with the TouchScreen option.
  873.     
  874.     - TouchScreen( BOOLEAN )
  875.         Use a touch screen as the ButtonsEX input device.  This option is
  876.         mutually exclusive with the Mouse option.
  877.     
  878.     - Keyboard( BOOLEAN )
  879.         Use the keyboard as the ButtonsEX input device.  This can be used
  880.         with Mouse or TouchScreen.
  881.     
  882.     
  883.     Slideshow Controls
  884.     ------------------
  885.     
  886.     - MouseControls( BOOLEAN )
  887.         Allows the mouse to navigate through a slideshow.  This option will
  888.         be ignored while the Mouse() option is on AND there are buttons on
  889.         the current page.  
  890.     
  891.     - KeyboardControls( BOOLEAN )
  892.         Allow the keyboard to navigate through a slideshow.
  893.     
  894.     
  895.     Mouse Pointer
  896.     -------------
  897.     
  898.     - MousePointer( STRING )
  899.         Filename of normal mouse pointer image.  The image file can be a .bmp
  900.         or other image file format that Scala supports for Clips.  By
  901.         default, Scala will use Scala:\pointers\stdptr.bmp.
  902.     
  903.     - MouseBusyPointer( STRING )
  904.         Filename of busy mouse pointer image.  The image file can be a .bmp
  905.         or other image file format that Scala supports for Clips.  A busy
  906.         pointer will appear when buttons are on the page but are not yet
  907.         active.  If PointerSelectionOnly (see below) is On, a busy pointer
  908.         can appear while the player is in an idle state and there are no
  909.         wipes in progress.  By default, Scala will not show a busy pointer.
  910.     
  911.     - PointerSelectionOnly( BOOLEAN )
  912.         If this is On, a mouse pointer will only appear while there are
  913.         buttons on the current page.  If this is Off, a pointer will
  914.         appear on all pages.  Of course, if the user has not set the busy
  915.         pointer image,  there will be no pointer when the player is idle.
  916.  
  917. -------------------------------------------------------------------------------
  918.  
  919. 5.  Time Script Functions and Variables
  920. =======================================
  921.  
  922. Time
  923.     string TIME
  924.  
  925.     Environment variable containing the current time in the current format
  926.     (defined by a system setting).
  927.  
  928. Date
  929.     string DATE
  930.  
  931.     Environment variable containing the current date in the current format
  932.     (defined by a system setting).
  933.  
  934. Clock
  935.     integer CLOCK
  936.  
  937.     Environment variable containing the number of seconds since some magic date.
  938.  
  939. SysTime
  940.     integer SYSTIME(enum Mode)
  941.  
  942.     Where Mode can be:
  943.         Mode     Returned Range
  944.         ----     --------------
  945.         Year     1995, 1996, ...
  946.         Month    [1...12]
  947.         Day      [1...31]
  948.         Hour     [0...23]
  949.         Minute   [0...59]
  950.         Second   [0...59]
  951.         Weekday  [1...7]
  952.  
  953.     For example:
  954.         SysTime(Weekday) might return 5 (Thursday).
  955.         SysTime(Year) might return 1996.
  956.  
  957. -------------------------------------------------------------------------------
  958.  
  959. 6.  MPEG EX Script Commands
  960. ===========================
  961.  
  962. MPEG.Stop();
  963.  
  964. MPEG.Wait();
  965.  
  966. MPEG.Play(filename, <options>);
  967.  
  968.     MPEG.Play() required parameters:
  969.  
  970.         -filename
  971.  
  972.     MPEG.Play() optional parameters:
  973.  
  974.         - Pos(x,y),
  975.     
  976.         - Size(width,height),
  977.     
  978.         - Wait(boolean)
  979.  
  980. -------------------------------------------------------------------------------
  981.  
  982. 7.  Screen Script Commands and Variables
  983. ===========================================
  984.  
  985. This is a description of the EX commands and variables supported by
  986. the Screen Book and related EXes.
  987.  
  988. EX Variables
  989. ------------
  990.  
  991. Various EX variables may be set to configure certain aspects of Screen
  992. EX operation. These include:
  993.  
  994. Screen.ViewMode (string)
  995.     If set, this tells the system to force all background elements
  996.     to use a specific View mode, as if the View Mode suboption was
  997.     specified in each background command. This overrides any View
  998.     option specified in the background command.
  999.  
  1000. Screen.ViewWidth (integer)
  1001.     If set, this tells the system to force all background elements
  1002.     to use a specific View width, as if the View Size suboption was
  1003.     specified in each background command. This overrides any View
  1004.     option specified in the background command.
  1005.  
  1006. Screen.ViewHeight (integer)
  1007.     If set, this tells the system to force all background elements
  1008.     to use a specific View height, as if the View Size suboption was
  1009.     specified in each background command. This overrides any View
  1010.     option specified in the background command.
  1011.  
  1012. Screen.Switched (boolean)
  1013.     This variable changes to TRUE when the Scala application is
  1014.     switched in, and to FALSE when it is switched out. A script can
  1015.     resume execution at a specific position by setting up
  1016.     notification on this variable. Without this notification, the
  1017.     script will exit when playback is switched out.
  1018.  
  1019. Screen.ViewColorModel (string)
  1020.     If set, this tells the system to force all background elements
  1021.     to use a specific View ColorModel, as if the View ColorModel
  1022.     suboption was specified in each background command. This can be
  1023.     PaletteMapped, HiColor, or TrueColor. This overrides any View
  1024.     option specified in the background command.
  1025.  
  1026. Screen.ViewRefreshRate (integer)
  1027.     It takes an integer, and determines the refresh rate used by all pages.
  1028.     Zero uses the system default.
  1029.  
  1030. Element and Style Commands
  1031. --------------------------
  1032.  
  1033. An element is an on-screen object created by a Scala Script command.
  1034. An element may be either a background or a foreground element. Each
  1035. background element replaces any background element that appeared
  1036. previously. Foreground elements appear in front of the current
  1037. background element, and may overlap each other. Each foreground
  1038. element will always obscure any overlapping elements that appeared
  1039. previously. When a background element is replaced by a new one, all
  1040. foreground elements that were shown on it are removed automatically.
  1041.  
  1042. Each Scala Script command that creates an element is known as an
  1043. element command. Each element command may have required parameters
  1044. that it expects, and/or optional parameters that it supports. This
  1045. section describes each of these element commands and the parameters
  1046. that it uses.
  1047.  
  1048. A style is a command that can be used to set up commonly used options
  1049. for reference by one or more element commands. Each element command
  1050. has an associated style command. A Scala Script author may choose to
  1051. use or not to use a style command for any given element command,
  1052. depending on the needs of the script. Style commands can be used to
  1053. reduce RAM and CPU utilization during Scala Script playback, by
  1054. specifying common options on the style commands and referencing those
  1055. styles by name on element commands.
  1056.  
  1057. Note that styles are not supported by the authoring system at this time.
  1058. They may, however, be hand authored. Scripts created with styles will
  1059. probably not be able to be loaded into the current authoring system.
  1060.  
  1061. An element command may reference a style command, and override some of
  1062. the options specified in the style command by re-specifying the same
  1063. option again in the element command. If an option is overridden this
  1064. way, all suboptions for that option are also overridden (unless
  1065. otherwise noted), whether or not they were specified on the element
  1066. command. Suboptions that are not specified for an overridden option
  1067. will use default values. All element and style commands, unless
  1068. otherwise noted, evaluate their parameters only once, when an element
  1069. is created.
  1070.  
  1071. Background Commands
  1072. -------------------
  1073.  
  1074. AnimStyle():
  1075.  
  1076.     This command creates a style object that can be used to specify a
  1077.     common set of options used by one or more Anim commands.
  1078.  
  1079.     Synopsis:
  1080.  
  1081.         AnimStyle( stylename
  1082.                 [, Loops(loops) ]
  1083.                 [, Margin(left, right, top, bottom) ]
  1084.                 [, Operation(state, <operation options>) ]
  1085.                 [, Palette( Clear(state), <palette options> ) ]
  1086.                 [, PlayAfter(state) ]
  1087.                 [, Speed(speed) ]
  1088.                 [, StopAtFirstFrame(state) ]
  1089.                 [, Style(stylename) ]
  1090.                 [, Tabs(Implicit(width), Explicit(tab, ...)) ]
  1091.                 [, UserPalette( Clear(state), <palette options> ) ]
  1092.                 [, View(Mode(name), Size(width, height), ColorModel(colors)) ]
  1093.                 [, Wipe(wipename, <wipe options>) ]
  1094.                 );
  1095.  
  1096.     Examples:
  1097.  
  1098.         AnimStyle(Barnum, Speed(40));
  1099.         AnimStyle(Bailey, Style(Barnum), Speed(60), Wipe("FlyLeft"));
  1100.  
  1101.     Required Parameters Used by This Class:
  1102.  
  1103.         - stylename
  1104.             The name of the style being defined.
  1105.  
  1106.     Optional Parameters Supported by This Class:
  1107.  
  1108.         - Loops(loops)
  1109.             How may times to play the animation in a loop.
  1110.  
  1111.         - Margin(left, right, top, bottom)
  1112.             This sets margins in the Background element to be used for
  1113.             positioning foreground elements on that background. The
  1114.             margin values may be 0 or greater, and all default to 0.
  1115.  
  1116.         - Operation(state, <operation options>)
  1117.             Specifies the operations done before drawing this image.
  1118.             The state defaults to off.
  1119.  
  1120.         - Palette( Clear(state), <palette options> )
  1121.             The palette used for this background. This defines
  1122.             specific colors to be mapped to specific pens at playback
  1123.             time.
  1124.  
  1125.             Clear(state) determines whether pens from the style
  1126.             (if any) are cleared before applying pens specified in
  1127.             this Palette option.
  1128.  
  1129.         - PlayAfter(state)
  1130.             Whether the animation shall stop after the first frame
  1131.             and let the sequence list be played before resuming the
  1132.             animation. Default to FALSE. If FALSE then the animation
  1133.             will be played first, then the element in the sequence
  1134.             list will be played.
  1135.  
  1136.         - Speed(speed)
  1137.             The speed of the animation in frames per second.
  1138.  
  1139.         - StopAtFirstFrame(state)
  1140.             Whether to stop the animation on the first frame after
  1141.             completion of the animation. If this is on, the first
  1142.             frame will be the last one shown. If this is off, the
  1143.             animation's last frame will be the last one shown. The
  1144.             state defaults to off.
  1145.  
  1146.         - Style(stylename)
  1147.             The name of a style style being defined is derived from.
  1148.  
  1149.         - Tabs(Implicit(width), Explicit(tab, ...))
  1150.             A description of tab stops, relative to the background. If
  1151.             both Implicit and Explicit tabs are specified, explicit
  1152.             tabs are used first, and implicit tabs are used once the
  1153.             explicit tabs are used up.
  1154.  
  1155.             Implicit(width) set the distance between implied tab
  1156.             stops. This represents the number of pixels from each tab
  1157.             stop to the next. The width may be 1 or greater, and
  1158.             defaults to 50.
  1159.  
  1160.             Explicit(tab, ...) sets a list of one or more explicit tab
  1161.             stops. Each tab stop represents a number of pixels from
  1162.             the tab reference point, and may be 0 or greater. Any
  1163.             number of tab stops may be specified, but they must be
  1164.             listed in increasing order. There are no default Explicit
  1165.             tabs.
  1166.  
  1167.         - UserPalette( Clear(state), <palette options> )
  1168.             The user palette for this background. This defines
  1169.             specific colors to be mapped to user pen numbers during
  1170.             playback. These user pen numbers are used by other
  1171.             commands via the 'Pen' fill option to select colors for
  1172.             elements to be drawn in. During playback, these user pens
  1173.             may end up mapped to any playback pens, and the screen
  1174.             book will take care of converting one to the other. The
  1175.             net result is that elements may refer to a user pen
  1176.             number, and get the desired color, no matter which
  1177.             playback pen the user pen number is actually mapped to.
  1178.  
  1179.             Clear(state) determines whether user pens from the style
  1180.             (if any) are cleared before applying user pens specified
  1181.             in this UserPalette option.
  1182.  
  1183.         - View(Mode(name), Size(width, height), ColorModel(colors))
  1184.             This describes the View used for this background. Any
  1185.             combination of suboptions may be specified to uniquely
  1186.             describe the View to be used.
  1187.  
  1188.             Mode(name) identifies the mode by a name (in string form).
  1189.  
  1190.             Size(w,h) identifies the View by the maximum display size
  1191.             it supports. this is the size of the ViewPort that is created.
  1192.  
  1193.             ColorModel(colors) identifies the View by
  1194.             the maximum number of colors it supports. This can be
  1195.             PaletteMapped, HiColor, or TrueColor, and defaults to
  1196.             PaletteMapped.
  1197.  
  1198.         - Wipe(wipename, <wipe options>)
  1199.             A description of the wipe used for wiping in the element.
  1200.             If no wipe is specified, the "Cut" wipe is used.
  1201.  
  1202. Anim():
  1203.  
  1204.     This command creates an animation background.
  1205.  
  1206.     All <operation options> are available for Anim() with the exception
  1207.     of TransparentRGB. In most cases, performance will not be good enough
  1208.     for any of the <operation options> to be used.
  1209.  
  1210.     Synopsis:
  1211.  
  1212.         Anim( filename
  1213.                 [, Loops(loops) ]
  1214.                 [, Margin(left, right, top, bottom) ]
  1215.                 [, Operation(state, <operation options>) ]
  1216.                 [, Palette( Clear(state), <palette options> ) ]
  1217.                 [, PlayAfter(state) ]
  1218.                 [, Speed(speed) ]
  1219.                 [, StopAtFirstFrame(state) ]
  1220.                 [, Style(stylename) ]
  1221.                 [, Tabs(Implicit(width), Explicit(tab, ...)) ]
  1222.                 [, UserPalette( Clear(state), <palette options> ) ]
  1223.                 [, View(Mode(name), Size(width, height), ColorModel(colors)) ]
  1224.                 [, Wipe(wipename, <wipe options>) ]
  1225.                 );
  1226.  
  1227.     Examples:
  1228.  
  1229.         Anim("show.flc");
  1230.         Anim("show2.flc", Style(Barnum), Loops(5));
  1231.  
  1232.     Required Parameters Used by This Class:
  1233.  
  1234.         - filename
  1235.             The name of the file containing the image data.
  1236.  
  1237.     Optional Parameters Supported by This Class:
  1238.  
  1239.         - Loops(loops)
  1240.             How may times to play the animation in a loop.
  1241.  
  1242.         - Margin(left, right, top, bottom)
  1243.             This sets margins in the Background element to be used for
  1244.             positioning foreground elements on that background. The
  1245.             margin values may be 0 or greater, and all default to 0.
  1246.  
  1247.         - Operation(state, <operation options>)
  1248.             Specifies the operations done before drawing this image.
  1249.             The state defaults to off.
  1250.  
  1251.         - Palette( Clear(state), <palette options> )
  1252.             The palette used for this background. This defines
  1253.             specific colors to be mapped to specific pens at playback
  1254.             time.
  1255.  
  1256.             Clear(state) determines whether pens from the style
  1257.             (if any) are cleared before applying pens specified in
  1258.             this Palette option.
  1259.  
  1260.         - PlayAfter(state)
  1261.             Whether the animation shall stop after the first frame
  1262.             and let the sequence list be played before resuming the
  1263.             animation. Default to FALSE. If FALSE then the animation
  1264.             will be played first, then the element in the sequence
  1265.             list will be played.
  1266.  
  1267.         - Speed(speed)
  1268.             The speed of the animation in frames per second.
  1269.  
  1270.         - StopAtFirstFrame(state)
  1271.             Whether to stop the animation on the first frame after
  1272.             completion of the animation. If this is on, the first
  1273.             frame will be the last one shown. If this is off, the
  1274.             animation's last frame will be the last one shown. The
  1275.             state defaults to off.
  1276.  
  1277.         - Style(stylename)
  1278.             The name of a style style being defined is derived from.
  1279.  
  1280.         - Tabs(Implicit(width), Explicit(tab, ...))
  1281.             A description of tab stops, relative to the background. If
  1282.             both Implicit and Explicit tabs are specified, explicit
  1283.             tabs are used first, and implicit tabs are used once the
  1284.             explicit tabs are used up.
  1285.  
  1286.             Implicit(width) set the distance between implied tab
  1287.             stops. This represents the number of pixels from each tab
  1288.             stop to the next. The width may be 1 or greater, and
  1289.             defaults to 50.
  1290.  
  1291.             Explicit(tab, ...) sets a list of one or more explicit tab
  1292.             stops. Each tab stop represents a number of pixels from
  1293.             the tab reference point, and may be 0 or greater. Any
  1294.             number of tab stops may be specified, but they must be
  1295.             listed in increasing order. There are no default Explicit
  1296.             tabs.
  1297.  
  1298.         - UserPalette( Clear(state), <palette options> )
  1299.             The user palette for this background. This defines
  1300.             specific colors to be mapped to user pen numbers during
  1301.             playback. These user pen numbers are used by other
  1302.             commands via the 'Pen' fill option to select colors for
  1303.             elements to be drawn in. During playback, these user pens
  1304.             may end up mapped to any playback pens, and the screen
  1305.             book will take care of converting one to the other. The
  1306.             net result is that elements may refer to a user pen
  1307.             number, and get the desired color, no matter which
  1308.             playback pen the user pen number is actually mapped to.
  1309.  
  1310.             Clear(state) determines whether user pens from the style
  1311.             (if any) are cleared before applying user pens specified
  1312.             in this UserPalette option.
  1313.  
  1314.         - View(Mode(name), Size(width, height), ColorModel(colors))
  1315.             This describes the View used for this background. Any
  1316.             combination of suboptions may be specified to uniquely
  1317.             describe the View to be used.
  1318.  
  1319.             Mode(name) identifies the mode by a name (in string form).
  1320.  
  1321.             Size(w,h) identifies the View by the maximum display size
  1322.             it supports. this is the size of the ViewPort that is created.
  1323.  
  1324.             ColorModel(colors) identifies the View by
  1325.             the maximum number of colors it supports. This can be
  1326.             PaletteMapped, HiColor, or TrueColor, and defaults to
  1327.             PaletteMapped.
  1328.  
  1329.         - Wipe(wipename, <wipe options>)
  1330.             A description of the wipe used for wiping in the element.
  1331.             If no wipe is specified, the "Cut" wipe is used.
  1332.  
  1333. DisplayStyle():
  1334.  
  1335.     This command creates a style object that can be used to specify a
  1336.     common set of options used by one or more Display commands.
  1337.  
  1338.     Synopsis:
  1339.  
  1340.         DisplayStyle( stylename
  1341.                 [, Face(<fill options>) ]
  1342.                 [, Margin(left, right, top, bottom) ]
  1343.                 [, Palette( Clear(state), <palette options> ) ]
  1344.                 [, Size(width, height) ]
  1345.                 [, Style(stylename) ]
  1346.                 [, Tabs(Implicit(width), Explicit(tab, ...)) ]
  1347.                 [, UserPalette( Clear(state), <palette options> ) ]
  1348.                 [, View(Mode(name), Size(width, height), ColorModel(colors)) ]
  1349.                 [, Wipe(wipename, <wipe options>) ]
  1350.                 );
  1351.  
  1352.     Examples:
  1353.  
  1354.         DisplayStyle(Fred, View(Mode("NTSC 704")));
  1355.         DisplayStyle(Wilma, Style(Fred), Face(RGB(0)));
  1356.  
  1357.     Required Parameters Used by This Class:
  1358.  
  1359.         - stylename
  1360.             The name of the style being defined.
  1361.  
  1362.     Optional Parameters Supported by This Class:
  1363.  
  1364.         - Face(<fill options>)
  1365.             The appearance of the face of the element. For images,
  1366.             <fill options> defaults to nothing. For other elements,
  1367.             <fill options> defaults to RGB($ffffff).
  1368.  
  1369.         - Margin(left, right, top, bottom)
  1370.             This sets margins in the Background element to be used for
  1371.             positioning foreground elements on that background. The
  1372.             margin values may be 0 or greater, and all default to 0.
  1373.  
  1374.         - Palette( Clear(state), <palette options> )
  1375.             The palette used for this background. This defines
  1376.             specific colors to be mapped to specific pens at playback
  1377.             time.
  1378.  
  1379.             Clear(state) determines whether pens from the style
  1380.             (if any) are cleared before applying pens specified in
  1381.             this Palette option.
  1382.  
  1383.         - Size(width, height)
  1384.             This may be used to force a visual display size that is
  1385.             different than the ViewPort size. If no Display size is
  1386.             specified, the display will be the same size as the
  1387.             ViewPort (or View). If the display size is smaller than
  1388.             the ViewPort size, the display will be centered in the
  1389.             ViewPort.
  1390.  
  1391.         - Style(stylename)
  1392.             The name of a style style being defined is derived from.
  1393.  
  1394.         - Tabs(Implicit(width), Explicit(tab, ...))
  1395.             A description of tab stops, relative to the background. If
  1396.             both Implicit and Explicit tabs are specified, explicit
  1397.             tabs are used first, and implicit tabs are used once the
  1398.             explicit tabs are used up.
  1399.  
  1400.             Implicit(width) set the distance between implied tab
  1401.             stops. This represents the number of pixels from each tab
  1402.             stop to the next. The width may be 1 or greater, and
  1403.             defaults to 50.
  1404.  
  1405.             Explicit(tab, ...) sets a list of one or more explicit tab
  1406.             stops. Each tab stop represents a number of pixels from
  1407.             the tab reference point, and may be 0 or greater. Any
  1408.             number of tab stops may be specified, but they must be
  1409.             listed in increasing order. There are no default Explicit
  1410.             tabs.
  1411.  
  1412.         - UserPalette( Clear(state), <palette options> )
  1413.             The user palette for this background. This defines
  1414.             specific colors to be mapped to user pen numbers during
  1415.             playback. These user pen numbers are used by other
  1416.             commands via the 'Pen' fill option to select colors for
  1417.             elements to be drawn in. During playback, these user pens
  1418.             may end up mapped to any playback pens, and the screen
  1419.             book will take care of converting one to the other. The
  1420.             net result is that elements may refer to a user pen
  1421.             number, and get the desired color, no matter which
  1422.             playback pen the user pen number is actually mapped to.
  1423.  
  1424.             Clear(state) determines whether user pens from the style
  1425.             (if any) are cleared before applying user pens specified
  1426.             in this UserPalette option.
  1427.  
  1428.         - View(Mode(name), Size(width, height), ColorModel(colors))
  1429.  
  1430.         - Wipe(wipename, <wipe options>)
  1431.             A description of the wipe used for wiping in the element.
  1432.             If no wipe is specified, the "Cut" wipe is used.
  1433.  
  1434. Display():
  1435.  
  1436.     This command creates a solid color or a patterned background.
  1437.  
  1438.     Synopsis:
  1439.  
  1440.         Display(
  1441.                 [, Face(<fill options>) ]
  1442.                 [, Margin(left, right, top, bottom) ]
  1443.                 [, Palette( Clear(state), <palette options> ) ]
  1444.                 [, Size(width, height) ]
  1445.                 [, Style(stylename) ]
  1446.                 [, Tabs(Implicit(width), Explicit(tab, ...)) ]
  1447.                 [, UserPalette( Clear(state), <palette options> ) ]
  1448.                 [, View(Mode(name), Size(width, height), ColorModel(colors)) ]
  1449.                 [, Wipe(wipename, <wipe options>) ]
  1450.                 );
  1451.  
  1452.     Examples:
  1453.  
  1454.         Display(Face(RGB($ffffff)));
  1455.         Display(Style(Fred), Face(Tile("scalabang.bmp")), Size(608,400));
  1456.  
  1457.     Optional Parameters Supported by This Class:
  1458.  
  1459.         - Face(<fill options>)
  1460.             The appearance of the face of the element. For images,
  1461.             <fill options> defaults to nothing. For other elements,
  1462.             <fill options> defaults to RGB($ffffff).
  1463.  
  1464.         - Margin(left, right, top, bottom)
  1465.             This sets margins in the Background element to be used for
  1466.             positioning foreground elements on that background. The
  1467.             margin values may be 0 or greater, and all default to 0.
  1468.  
  1469.         - Palette( Clear(state), <palette options> )
  1470.             The palette used for this background. This defines
  1471.             specific colors to be mapped to specific pens at playback
  1472.             time.
  1473.  
  1474.             Clear(state) determines whether pens from the style
  1475.             (if any) are cleared before applying pens specified in
  1476.             this Palette option.
  1477.  
  1478.         - Size(width, height)
  1479.             This may be used to force a visual display size that is
  1480.             different than the ViewPort size. If no Display size is
  1481.             specified, the display will be the same size as the
  1482.             ViewPort (or View). If the display size is smaller than
  1483.             the ViewPort size, the display will be centered in the
  1484.             ViewPort.
  1485.  
  1486.         - Style(stylename)
  1487.             The name of a style style being defined is derived from.
  1488.  
  1489.         - Tabs(Implicit(width), Explicit(tab, ...))
  1490.             A description of tab stops, relative to the background. If
  1491.             both Implicit and Explicit tabs are specified, explicit
  1492.             tabs are used first, and implicit tabs are used once the
  1493.             explicit tabs are used up.
  1494.  
  1495.             Implicit(width) set the distance between implied tab
  1496.             stops. This represents the number of pixels from each tab
  1497.             stop to the next. The width may be 1 or greater, and
  1498.             defaults to 50.
  1499.  
  1500.             Explicit(tab, ...) sets a list of one or more explicit tab
  1501.             stops. Each tab stop represents a number of pixels from
  1502.             the tab reference point, and may be 0 or greater. Any
  1503.             number of tab stops may be specified, but they must be
  1504.             listed in increasing order. There are no default Explicit
  1505.             tabs.
  1506.  
  1507.         - UserPalette( Clear(state), <palette options> )
  1508.             The user palette for this background. This defines
  1509.             specific colors to be mapped to user pen numbers during
  1510.             playback. These user pen numbers are used by other
  1511.             commands via the 'Pen' fill option to select colors for
  1512.             elements to be drawn in. During playback, these user pens
  1513.             may end up mapped to any playback pens, and the screen
  1514.             book will take care of converting one to the other. The
  1515.             net result is that elements may refer to a user pen
  1516.             number, and get the desired color, no matter which
  1517.             playback pen the user pen number is actually mapped to.
  1518.  
  1519.             Clear(state) determines whether user pens from the style
  1520.             (if any) are cleared before applying user pens specified
  1521.             in this UserPalette option.
  1522.  
  1523.         - View(Mode(name), Size(width, height), ColorModel(colors))
  1524.             This describes the View used for this background. Any
  1525.             combination of suboptions may be specified to uniquely
  1526.             describe the View to be used.
  1527.  
  1528.             Mode(name) identifies the mode by a name (in string form).
  1529.  
  1530.             Size(w,h) identifies the View by the maximum display size
  1531.             it supports. this is the size of the ViewPort that is created.
  1532.  
  1533.             ColorModel(colors) identifies the View by
  1534.             the maximum number of colors it supports. This can be
  1535.             PaletteMapped, HiColor, or TrueColor, and defaults to
  1536.             PaletteMapped.
  1537.  
  1538.         - Wipe(wipename, <wipe options>)
  1539.             A description of the wipe used for wiping in the element.
  1540.             If no wipe is specified, the "Cut" wipe is used.
  1541.  
  1542. MovieStyle():
  1543.  
  1544.      MovieStyle() creates a style object that can be used to specify a
  1545.      common set of options used by one or more Movie commands.
  1546.  
  1547.     Synopsis:
  1548.  
  1549.         MovieStyle(stylename,
  1550.                 [, Loops(loops) ]
  1551.                 [, Margin(left, right, top, bottom) ]
  1552.                 [, Operation(state, <operation options>) ]
  1553.                 [, Palette( Clear(state), <palette options> ) ]
  1554.                 [, PlayAfter(state) ]
  1555.                 [, Style(stylename) ]
  1556.                 [, Tabs(Implicit(width), Explicit(tab, ...)) ]
  1557.                 [, UserPalette( Clear(state), <palette options> ) ]
  1558.                 [, View(Mode(name), Size(width, height), ColorModel(colors)) ]
  1559.                 [, Volume(volume) ]
  1560.                 [, Wipe(wipename, <wipe options>) ]
  1561.                 );
  1562.  
  1563.     Examples:
  1564.  
  1565.         MovieStyle(Barnum, Speed(40));
  1566.         MovieStyle(Bailey, Style(Barnum), Speed(60), Wipe("FlyLeft"));
  1567.  
  1568.     Required Parameters Used by This Class:
  1569.  
  1570.         - stylename
  1571.             The name of the style being defined.
  1572.         
  1573.     Optional Parameters Supported by This Class:
  1574.  
  1575.         - Loops(loops)
  1576.             How may times to play the animation in a loop.
  1577.  
  1578.         - Margin(left, right, top, bottom)
  1579.             This sets margins in the Background element to be used for
  1580.             positioning foreground elements on that background. The
  1581.             margin values may be 0 or greater, and all default to 0.
  1582.  
  1583.         - Operation(state, <operation options>)
  1584.             Specifies the operations done before drawing this image.
  1585.             The state defaults to off.
  1586.  
  1587.         - Palette( Clear(state), <palette options> )
  1588.             The palette used for this background. This defines
  1589.             specific colors to be mapped to specific pens at playback
  1590.             time.
  1591.  
  1592.             Clear(state) determines whether pens from the style
  1593.             (if any) are cleared before applying pens specified in
  1594.             this Palette option.
  1595.  
  1596.         - PlayAfter(state)
  1597.             Whether the animation shall stop after the first frame
  1598.             and let the sequence list be played before resuming the
  1599.             animation. Default to FALSE. If FALSE then the animation
  1600.             will be played first, then the element in the sequence
  1601.             list will be played.
  1602.  
  1603.         - Style(stylename)
  1604.             The name of a style style being defined is derived from.
  1605.  
  1606.         - Tabs(Implicit(width), Explicit(tab, ...))
  1607.             A description of tab stops, relative to the background. If
  1608.             both Implicit and Explicit tabs are specified, explicit
  1609.             tabs are used first, and implicit tabs are used once the
  1610.             explicit tabs are used up.
  1611.  
  1612.             Implicit(width) set the distance between implied tab
  1613.             stops. This represents the number of pixels from each tab
  1614.             stop to the next. The width may be 1 or greater, and
  1615.             defaults to 50.
  1616.  
  1617.             Explicit(tab, ...) sets a list of one or more explicit tab
  1618.             stops. Each tab stop represents a number of pixels from
  1619.             the tab reference point, and may be 0 or greater. Any
  1620.             number of tab stops may be specified, but they must be
  1621.             listed in increasing order. There are no default Explicit
  1622.             tabs.
  1623.  
  1624.         - UserPalette( Clear(state), <palette options> )
  1625.             The user palette for this background. This defines
  1626.             specific colors to be mapped to user pen numbers during
  1627.             playback. These user pen numbers are used by other
  1628.             commands via the 'Pen' fill option to select colors for
  1629.             elements to be drawn in. During playback, these user pens
  1630.             may end up mapped to any playback pens, and the screen
  1631.             book will take care of converting one to the other. The
  1632.             net result is that elements may refer to a user pen
  1633.             number, and get the desired color, no matter which
  1634.             playback pen the user pen number is actually mapped to.
  1635.  
  1636.             Clear(state) determines whether user pens from the style
  1637.             (if any) are cleared before applying user pens specified
  1638.             in this UserPalette option.
  1639.  
  1640.         - View(Mode(name), Size(width, height), ColorModel(colors))
  1641.             This describes the View used for this background. Any
  1642.             combination of suboptions may be specified to uniquely
  1643.             describe the View to be used.
  1644.  
  1645.             Mode(name) identifies the mode by a name (in string form).
  1646.  
  1647.             Size(w,h) identifies the View by the maximum display size
  1648.             it supports. this is the size of the ViewPort that is created.
  1649.  
  1650.             ColorModel(colors) identifies the View by
  1651.             the maximum number of colors it supports. This can be
  1652.             PaletteMapped, HiColor, or TrueColor, and defaults to
  1653.             PaletteMapped.
  1654.  
  1655.         - Volume(volume)
  1656.             This specifies the volume for the movie / movieclip.
  1657.             Range is 0 to 255. Defaults to 255 meaning full
  1658.             volume. 0 is silence.
  1659.  
  1660.         - Wipe(wipename, <wipe options>)
  1661.             A description of the wipe used for wiping in the element.
  1662.             If no wipe is specified, the "Cut" wipe is used.
  1663.  
  1664. Movie()
  1665.  
  1666.     Movie() creates an movie background.
  1667.  
  1668.     All <operation options> are available for Movie() with the exception
  1669.     of TransparentRGB. In most cases, performance will not be good enough
  1670.     for any of the <operation options> to be used.
  1671.  
  1672.     Synopsis:
  1673.  
  1674.         Movie(filename,
  1675.                 [, Loops(loops) ]
  1676.                 [, Margin(left, right, top, bottom) ]
  1677.                 [, Operation(state, <operation options>) ]
  1678.                 [, Palette( Clear(state), <palette options> ) ]
  1679.                 [, PlayAfter(state) ]
  1680.                 [, Style(stylename) ]
  1681.                 [, Tabs(Implicit(width), Explicit(tab, ...)) ]
  1682.                 [, UserPalette( Clear(state), <palette options> ) ]
  1683.                 [, View(Mode(name), Size(width, height), ColorModel(colors)) ]
  1684.                 [, Volume(volume) ]
  1685.                 [, Wipe(wipename, <wipe options>) ]
  1686.                 );
  1687.  
  1688.  
  1689.     Examples:
  1690.  
  1691.         Movie("show.avi");
  1692.         Movie("show2.avi", Style(Barnum), Loops(5));
  1693.  
  1694.     Required Parameters Used by This Class:
  1695.  
  1696.         - filename
  1697.             The name of the file containing the image data.
  1698.  
  1699.     Optional Parameters Supported by This Class:
  1700.  
  1701.         - Loops(loops)
  1702.             How may times to play the animation in a loop.
  1703.  
  1704.         - Margin(left, right, top, bottom)
  1705.             This sets margins in the Background element to be used for
  1706.             positioning foreground elements on that background. The
  1707.             margin values may be 0 or greater, and all default to 0.
  1708.  
  1709.         - Operation(state, <operation options>)
  1710.             Specifies the operations done before drawing this image.
  1711.             The state defaults to off.
  1712.  
  1713.         - Palette( Clear(state), <palette options> )
  1714.             The palette used for this background. This defines
  1715.             specific colors to be mapped to specific pens at playback
  1716.             time.
  1717.  
  1718.             Clear(state) determines whether pens from the style
  1719.             (if any) are cleared before applying pens specified in
  1720.             this Palette option.
  1721.  
  1722.         - PlayAfter(state)
  1723.             Whether the animation shall stop after the first frame
  1724.             and let the sequence list be played before resuming the
  1725.             animation. Default to FALSE. If FALSE then the animation
  1726.             will be played first, then the element in the sequence
  1727.             list will be played.
  1728.  
  1729.         - Style(stylename)
  1730.             The name of a style style being defined is derived from.
  1731.  
  1732.         - Tabs(Implicit(width), Explicit(tab, ...))
  1733.             A description of tab stops, relative to the background. If
  1734.             both Implicit and Explicit tabs are specified, explicit
  1735.             tabs are used first, and implicit tabs are used once the
  1736.             explicit tabs are used up.
  1737.  
  1738.             Implicit(width) set the distance between implied tab
  1739.             stops. This represents the number of pixels from each tab
  1740.             stop to the next. The width may be 1 or greater, and
  1741.             defaults to 50.
  1742.  
  1743.             Explicit(tab, ...) sets a list of one or more explicit tab
  1744.             stops. Each tab stop represents a number of pixels from
  1745.             the tab reference point, and may be 0 or greater. Any
  1746.             number of tab stops may be specified, but they must be
  1747.             listed in increasing order. There are no default Explicit
  1748.             tabs.
  1749.  
  1750.         - UserPalette( Clear(state), <palette options> )
  1751.             The user palette for this background. This defines
  1752.             specific colors to be mapped to user pen numbers during
  1753.             playback. These user pen numbers are used by other
  1754.             commands via the 'Pen' fill option to select colors for
  1755.             elements to be drawn in. During playback, these user pens
  1756.             may end up mapped to any playback pens, and the screen
  1757.             book will take care of converting one to the other. The
  1758.             net result is that elements may refer to a user pen
  1759.             number, and get the desired color, no matter which
  1760.             playback pen the user pen number is actually mapped to.
  1761.  
  1762.             Clear(state) determines whether user pens from the style
  1763.             (if any) are cleared before applying user pens specified
  1764.             in this UserPalette option.
  1765.  
  1766.         - View(Mode(name), Size(width, height), ColorModel(colors))
  1767.             This describes the View used for this background. Any
  1768.             combination of suboptions may be specified to uniquely
  1769.             describe the View to be used.
  1770.  
  1771.             Mode(name) identifies the mode by a name (in string form).
  1772.  
  1773.             Size(w,h) identifies the View by the maximum display size
  1774.             it supports. this is the size of the ViewPort that is created.
  1775.  
  1776.             ColorModel(colors) identifies the View by
  1777.             the maximum number of colors it supports. This can be
  1778.             PaletteMapped, HiColor, or TrueColor, and defaults to
  1779.             PaletteMapped.
  1780.  
  1781.         - Volume(volume)
  1782.             This specifies the volume for the movie / movieclip.
  1783.             Range is 0 to 255. Defaults to 255 meaning full
  1784.             volume. 0 is silence.
  1785.  
  1786.         - Wipe(wipename, <wipe options>)
  1787.             A description of the wipe used for wiping in the element.
  1788.             If no wipe is specified, the "Cut" wipe is used.
  1789.  
  1790. PictureStyle():
  1791.  
  1792.     This command creates a style object that can be used to specify a
  1793.     common set of options used by one or more Picture commands.
  1794.  
  1795.     Synopsis:
  1796.  
  1797.         PictureStyle( stylename
  1798.                 [, Face(<fill options>) ]
  1799.                 [, Margin(left, right, top, bottom) ]
  1800.                 [, Operation(state, <operation options>) ]
  1801.                 [, Palette( Clear(state), <palette options> ) ]
  1802.                 [, Style(stylename) ]
  1803.                 [, Tabs(Implicit(width), Explicit(tab, ...)) ]
  1804.                 [, UserPalette( Clear(state), <palette options> ) ]
  1805.                 [, View(Mode(name), Size(width, height), ColorModel(colors)) ]
  1806.                 [, Wipe(wipename, <wipe options>) ]
  1807.                 );
  1808.  
  1809.     Examples:
  1810.  
  1811.         PictureStyle(MaryAnn,
  1812.             Operation(On, ImagePalette(RGBPen(1, $ff00ff, $ffff00))));
  1813.         PictureStyle(Ginger, Style(MaryAnn));
  1814.  
  1815.     Required Parameters Used by This Class:
  1816.  
  1817.         - stylename
  1818.             The name of the style being defined.
  1819.  
  1820.     Optional Parameters Supported by This Class:
  1821.  
  1822.         - Face(<fill options>)
  1823.             The appearance of the face of the element. For images,
  1824.             <fill options> defaults to nothing. For other elements,
  1825.             <fill options> defaults to RGB($ffffff).
  1826.  
  1827.         - Margin(left, right, top, bottom)
  1828.             This sets margins in the Background element to be used for
  1829.             positioning foreground elements on that background. The
  1830.             margin values may be 0 or greater, and all default to 0.
  1831.  
  1832.         - Operation(state, <operation options>)
  1833.             Specifies the operations done before drawing this image.
  1834.             The state defaults to off.
  1835.  
  1836.         - Palette( Clear(state), <palette options> )
  1837.             The palette used for this background. This defines
  1838.             specific colors to be mapped to specific pens at playback
  1839.             time.
  1840.  
  1841.             Clear(state) determines whether pens from the style
  1842.             (if any) are cleared before applying pens specified in
  1843.             this Palette option.
  1844.  
  1845.         - Style(stylename)
  1846.             The name of a style style being defined is derived from.
  1847.  
  1848.         - Tabs(Implicit(width), Explicit(tab, ...))
  1849.             A description of tab stops, relative to the background. If
  1850.             both Implicit and Explicit tabs are specified, explicit
  1851.             tabs are used first, and implicit tabs are used once the
  1852.             explicit tabs are used up.
  1853.  
  1854.             Implicit(width) set the distance between implied tab
  1855.             stops. This represents the number of pixels from each tab
  1856.             stop to the next. The width may be 1 or greater, and
  1857.             defaults to 50.
  1858.  
  1859.             Explicit(tab, ...) sets a list of one or more explicit tab
  1860.             stops. Each tab stop represents a number of pixels from
  1861.             the tab reference point, and may be 0 or greater. Any
  1862.             number of tab stops may be specified, but they must be
  1863.             listed in increasing order. There are no default Explicit
  1864.             tabs.
  1865.  
  1866.         - UserPalette( Clear(state), <palette options> )
  1867.             The user palette for this background. This defines
  1868.             specific colors to be mapped to user pen numbers during
  1869.             playback. These user pen numbers are used by other
  1870.             commands via the 'Pen' fill option to select colors for
  1871.             elements to be drawn in. During playback, these user pens
  1872.             may end up mapped to any playback pens, and the screen
  1873.             book will take care of converting one to the other. The
  1874.             net result is that elements may refer to a user pen
  1875.             number, and get the desired color, no matter which
  1876.             playback pen the user pen number is actually mapped to.
  1877.  
  1878.             Clear(state) determines whether user pens from the style
  1879.             (if any) are cleared before applying user pens specified
  1880.             in this UserPalette option.
  1881.  
  1882.         - View(Mode(name), Size(width, height), ColorModel(colors))
  1883.             This describes the View used for this background. Any
  1884.             combination of suboptions may be specified to uniquely
  1885.             describe the View to be used.
  1886.  
  1887.             Mode(name) identifies the mode by a name (in string form).
  1888.  
  1889.             Size(w,h) identifies the View by the maximum display size
  1890.             it supports. this is the size of the ViewPort that is created.
  1891.  
  1892.             ColorModel(colors) identifies the View by
  1893.             the maximum number of colors it supports. This can be
  1894.             PaletteMapped, HiColor, or TrueColor, and defaults to
  1895.             PaletteMapped.
  1896.  
  1897.         - Wipe(wipename, <wipe options>)
  1898.             A description of the wipe used for wiping in the element.
  1899.             If no wipe is specified, the "Cut" wipe is used.
  1900.  
  1901. Picture():
  1902.  
  1903.     This command creates a still image background.
  1904.  
  1905.     Synopsis:
  1906.  
  1907.         Picture( filename
  1908.                 [, Face(<fill options>) ]
  1909.                 [, Margin(left, right, top, bottom) ]
  1910.                 [, Operation(state, <operation options>) ]
  1911.                 [, Palette( Clear(state), <palette options> ) ]
  1912.                 [, Style(stylename) ]
  1913.                 [, Tabs(Implicit(width), Explicit(tab, ...)) ]
  1914.                 [, UserPalette( Clear(state), <palette options> ) ]
  1915.                 [, View(Mode(name), Size(width, height), ColorModel(colors)) ]
  1916.                 [, Wipe(wipename, <wipe options>) ]
  1917.                 );
  1918.  
  1919.     Examples:
  1920.  
  1921.         Picture("pic1.bmp");
  1922.         Picture("pic2.bmp", Style(Ginger), Operation(On, Resize(800, 600)));
  1923.  
  1924.     Required Parameters Used by This Class:
  1925.  
  1926.         - filename
  1927.             The name of the file containing the image data.
  1928.  
  1929.     Optional Parameters Supported by This Class:
  1930.  
  1931.         - Face(<fill options>)
  1932.             The appearance of the face of the element. For images,
  1933.             <fill options> defaults to nothing. For other elements,
  1934.             <fill options> defaults to RGB($ffffff).
  1935.  
  1936.         - Margin(left, right, top, bottom)
  1937.             This sets margins in the Background element to be used for
  1938.             positioning foreground elements on that background. The
  1939.             margin values may be 0 or greater, and all default to 0.
  1940.  
  1941.         - Operation(state, <operation options>)
  1942.             Specifies the operations done before drawing this image.
  1943.             The state defaults to off.
  1944.  
  1945.         - Palette( Clear(state), <palette options> )
  1946.             The palette used for this background. This defines
  1947.             specific colors to be mapped to specific pens at playback
  1948.             time.
  1949.  
  1950.             Clear(state) determines whether pens from the style
  1951.             (if any) are cleared before applying pens specified in
  1952.             this Palette option.
  1953.  
  1954.         - Style(stylename)
  1955.             The name of a style style being defined is derived from.
  1956.  
  1957.         - Tabs(Implicit(width), Explicit(tab, ...))
  1958.             A description of tab stops, relative to the background. If
  1959.             both Implicit and Explicit tabs are specified, explicit
  1960.             tabs are used first, and implicit tabs are used once the
  1961.             explicit tabs are used up.
  1962.  
  1963.             Implicit(width) set the distance between implied tab
  1964.             stops. This represents the number of pixels from each tab
  1965.             stop to the next. The width may be 1 or greater, and
  1966.             defaults to 50.
  1967.  
  1968.             Explicit(tab, ...) sets a list of one or more explicit tab
  1969.             stops. Each tab stop represents a number of pixels from
  1970.             the tab reference point, and may be 0 or greater. Any
  1971.             number of tab stops may be specified, but they must be
  1972.             listed in increasing order. There are no default Explicit
  1973.             tabs.
  1974.  
  1975.         - UserPalette( Clear(state), <palette options> )
  1976.             The user palette for this background. This defines
  1977.             specific colors to be mapped to user pen numbers during
  1978.             playback. These user pen numbers are used by other
  1979.             commands via the 'Pen' fill option to select colors for
  1980.             elements to be drawn in. During playback, these user pens
  1981.             may end up mapped to any playback pens, and the screen
  1982.             book will take care of converting one to the other. The
  1983.             net result is that elements may refer to a user pen
  1984.             number, and get the desired color, no matter which
  1985.             playback pen the user pen number is actually mapped to.
  1986.  
  1987.             Clear(state) determines whether user pens from the style
  1988.             (if any) are cleared before applying user pens specified
  1989.             in this UserPalette option.
  1990.  
  1991.         - View(Mode(name), Size(width, height), ColorModel(colors))
  1992.             This describes the View used for this background. Any
  1993.             combination of suboptions may be specified to uniquely
  1994.             describe the View to be used.
  1995.  
  1996.             Mode(name) identifies the mode by a name (in string form).
  1997.  
  1998.             Size(w,h) identifies the View by the maximum display size
  1999.             it supports. this is the size of the ViewPort that is created.
  2000.  
  2001.             ColorModel(colors) identifies the View by
  2002.             the maximum number of colors it supports. This can be
  2003.             PaletteMapped, HiColor, or TrueColor, and defaults to
  2004.             PaletteMapped.
  2005.  
  2006.         - Wipe(wipename, <wipe options>)
  2007.             A description of the wipe used for wiping in the element.
  2008.             If no wipe is specified, the "Cut" wipe is used.
  2009.  
  2010. Foreground Commands
  2011. -------------------
  2012.  
  2013. AnimClipStyle():
  2014.  
  2015.     AnimClipStyle() creates a style object that can be used to specify a
  2016.     common set of options used by one or more AnimClip commands.
  2017.  
  2018.     Synopsis:
  2019.  
  2020.          AnimClipStyle( stylename,
  2021.                 [, Loops(loops) ]
  2022.                 [, Margin(left, right, top, bottom) ]
  2023.                 [, Operation(state, <operation options>) ]
  2024.                 [, Palette( Clear(state), <palette options> ) ]
  2025.                 [, Speed(speed) ]
  2026.                 [, StopAtFirstFrame(state) ]
  2027.                 [, Style(stylename) ]
  2028.                 [, Tabs(Implicit(width), Explicit(tab, ...)) ]
  2029.                 [, Transparent(state) ]
  2030.                 [, UserPalette( Clear(state), <palette options> ) ]
  2031.                 [, View(Mode(name), Size(width, height), ColorModel(colors)) ]
  2032.                 [, Wait(state) ]
  2033.                 [, Wipe(wipename, <wipe options>) ]
  2034.                 );
  2035.  
  2036.     Examples:
  2037.  
  2038.          AnimClipStyle(Barnum, Speed(40));
  2039.          AnimClipStyle(Bailey, Style(Barnum), Speed(60), Wipe("FlyLeft"));
  2040.  
  2041.     Required Parameters Used by This Class:
  2042.  
  2043.         - stylename
  2044.             The name of the style being defined.
  2045.  
  2046.     Optional Parameters Supported by This Class:
  2047.  
  2048.         - Loops(loops)
  2049.             How may times to play the animation in a loop.
  2050.  
  2051.         - Margin(left, right, top, bottom)
  2052.             This sets margins in the Background element to be used for
  2053.             positioning foreground elements on that background. The
  2054.             margin values may be 0 or greater, and all default to 0.
  2055.  
  2056.         - Operation(state, <operation options>)
  2057.             Specifies the operations done before drawing this image.
  2058.             The state defaults to off.
  2059.  
  2060.         - Palette( Clear(state), <palette options> )
  2061.             The palette used for this background. This defines
  2062.             specific colors to be mapped to specific pens at playback
  2063.             time.
  2064.  
  2065.             Clear(state) determines whether pens from the style
  2066.             (if any) are cleared before applying pens specified in
  2067.             this Palette option.
  2068.  
  2069.         - Speed(speed)
  2070.             The speed of the animation in frames per second.
  2071.  
  2072.         - StopAtFirstFrame(state)
  2073.             Whether to stop the animation on the first frame after
  2074.             completion of the animation. If this is on, the first
  2075.             frame will be the last one shown. If this is off, the
  2076.             animation's last frame will be the last one shown. The
  2077.             state defaults to off.
  2078.  
  2079.         - Style(stylename)
  2080.             The name of a style style being defined is derived from.
  2081.  
  2082.         - Tabs(Implicit(width), Explicit(tab, ...))
  2083.             A description of tab stops, relative to the background. If
  2084.             both Implicit and Explicit tabs are specified, explicit
  2085.             tabs are used first, and implicit tabs are used once the
  2086.             explicit tabs are used up.
  2087.  
  2088.             Implicit(width) set the distance between implied tab
  2089.             stops. This represents the number of pixels from each tab
  2090.             stop to the next. The width may be 1 or greater, and
  2091.             defaults to 50.
  2092.  
  2093.             Explicit(tab, ...) sets a list of one or more explicit tab
  2094.             stops. Each tab stop represents a number of pixels from
  2095.             the tab reference point, and may be 0 or greater. Any
  2096.             number of tab stops may be specified, but they must be
  2097.             listed in increasing order. There are no default Explicit
  2098.             tabs.
  2099.  
  2100.         - Transparent(state)
  2101.             This specifies if there should be any transparent areas
  2102.             in the front image. This option is used with the
  2103.             Operation(TransparentRGB()) option to turn on
  2104.             transparency.
  2105.  
  2106.         - UserPalette( Clear(state), <palette options> )
  2107.             The user palette for this background. This defines
  2108.             specific colors to be mapped to user pen numbers during
  2109.             playback. These user pen numbers are used by other
  2110.             commands via the 'Pen' fill option to select colors for
  2111.             elements to be drawn in. During playback, these user pens
  2112.             may end up mapped to any playback pens, and the screen
  2113.             book will take care of converting one to the other. The
  2114.             net result is that elements may refer to a user pen
  2115.             number, and get the desired color, no matter which
  2116.             playback pen the user pen number is actually mapped to.
  2117.  
  2118.             Clear(state) determines whether user pens from the style
  2119.             (if any) are cleared before applying user pens specified
  2120.             in this UserPalette option.
  2121.  
  2122.         - View(Mode(name), Size(width, height), ColorModel(colors))
  2123.             This describes the View used for this background. Any
  2124.             combination of suboptions may be specified to uniquely
  2125.             describe the View to be used.
  2126.  
  2127.             Mode(name) identifies the mode by a name (in string form).
  2128.  
  2129.             Size(w,h) identifies the View by the maximum display size
  2130.             it supports. this is the size of the ViewPort that is created.
  2131.  
  2132.             ColorModel(colors) identifies the View by
  2133.             the maximum number of colors it supports. This can be
  2134.             PaletteMapped, HiColor, or TrueColor, and defaults to
  2135.             PaletteMapped.
  2136.  
  2137.         - Wait(state)
  2138.             Whether the player shall wait until the animation is
  2139.             finished before continuing with the sequence list.
  2140.             Defaults to FALSE. If FALSE we will not wait until the
  2141.             current animclip is finished before continuing the script.
  2142.  
  2143.         - Wipe(wipename, <wipe options>)
  2144.             A description of the wipe used for wiping in the element.
  2145.             If no wipe is specified, the "Cut" wipe is used.
  2146.  
  2147. AnimClip()
  2148.  
  2149.     AnimClip() creates an animated object that may be placed on a page.
  2150.  
  2151.     All <operation options> are available for AnimClip(), but, in most cases,
  2152.     performance will not be good enough for them to be used.
  2153.     
  2154.     Synopsis:
  2155.  
  2156.         AnimClip( filename,
  2157.                 [, Loops(loops) ]
  2158.                 [, Margin(left, right, top, bottom) ]
  2159.                 [, Operation(state, <operation options>) ]
  2160.                 [, Palette( Clear(state), <palette options> ) ]
  2161.                 [, Speed(speed) ]
  2162.                 [, StopAtFirstFrame(state) ]
  2163.                 [, Style(stylename) ]
  2164.                 [, Tabs(Implicit(width), Explicit(tab, ...)) ]
  2165.                 [, Transparent(state) ]
  2166.                 [, UserPalette( Clear(state), <palette options> ) ]
  2167.                 [, View(Mode(name), Size(width, height), ColorModel(colors)) ]
  2168.                 [, Wait(state) ]
  2169.                 [, Wipe(wipename, <wipe options>) ]
  2170.                 );
  2171.         
  2172.     Examples:
  2173.  
  2174.         AnimClip("show.flc");
  2175.         AnimClip("show2.flc", Style(Barnum), Loops(5));
  2176.         
  2177.     Required Parameters Used by This Class:
  2178.  
  2179.         - filename
  2180.             The name of the file containing the image data.
  2181.  
  2182.     Optional Parameters Supported by This Class:
  2183.  
  2184.         - Loops(loops)
  2185.             How may times to play the animation in a loop.
  2186.  
  2187.         - Margin(left, right, top, bottom)
  2188.             This sets margins in the Background element to be used for
  2189.             positioning foreground elements on that background. The
  2190.             margin values may be 0 or greater, and all default to 0.
  2191.  
  2192.         - Operation(state, <operation options>)
  2193.             Specifies the operations done before drawing this image.
  2194.             The state defaults to off.
  2195.  
  2196.         - Palette( Clear(state), <palette options> )
  2197.             The palette used for this background. This defines
  2198.             specific colors to be mapped to specific pens at playback
  2199.             time.
  2200.  
  2201.             Clear(state) determines whether pens from the style
  2202.             (if any) are cleared before applying pens specified in
  2203.             this Palette option.
  2204.  
  2205.         - Speed(speed)
  2206.             The speed of the animation in frames per second.
  2207.  
  2208.         - StopAtFirstFrame(state)
  2209.             Whether to stop the animation on the first frame after
  2210.             completion of the animation. If this is on, the first
  2211.             frame will be the last one shown. If this is off, the
  2212.             animation's last frame will be the last one shown. The
  2213.             state defaults to off.
  2214.  
  2215.         - Style(stylename)
  2216.             The name of a style style being defined is derived from.
  2217.  
  2218.         - Tabs(Implicit(width), Explicit(tab, ...))
  2219.             A description of tab stops, relative to the background. If
  2220.             both Implicit and Explicit tabs are specified, explicit
  2221.             tabs are used first, and implicit tabs are used once the
  2222.             explicit tabs are used up.
  2223.  
  2224.             Implicit(width) set the distance between implied tab
  2225.             stops. This represents the number of pixels from each tab
  2226.             stop to the next. The width may be 1 or greater, and
  2227.             defaults to 50.
  2228.  
  2229.             Explicit(tab, ...) sets a list of one or more explicit tab
  2230.             stops. Each tab stop represents a number of pixels from
  2231.             the tab reference point, and may be 0 or greater. Any
  2232.             number of tab stops may be specified, but they must be
  2233.             listed in increasing order. There are no default Explicit
  2234.             tabs.
  2235.  
  2236.         - Transparent(state)
  2237.             This specifies if there should be any transparent areas
  2238.             in the front image. This option is used with the
  2239.             Operation(TransparentRGB()) option to turn on
  2240.             transparency.
  2241.  
  2242.         - UserPalette( Clear(state), <palette options> )
  2243.             The user palette for this background. This defines
  2244.             specific colors to be mapped to user pen numbers during
  2245.             playback. These user pen numbers are used by other
  2246.             commands via the 'Pen' fill option to select colors for
  2247.             elements to be drawn in. During playback, these user pens
  2248.             may end up mapped to any playback pens, and the screen
  2249.             book will take care of converting one to the other. The
  2250.             net result is that elements may refer to a user pen
  2251.             number, and get the desired color, no matter which
  2252.             playback pen the user pen number is actually mapped to.
  2253.  
  2254.             Clear(state) determines whether user pens from the style
  2255.             (if any) are cleared before applying user pens specified
  2256.             in this UserPalette option.
  2257.  
  2258.         - View(Mode(name), Size(width, height), ColorModel(colors))
  2259.             This describes the View used for this background. Any
  2260.             combination of suboptions may be specified to uniquely
  2261.             describe the View to be used.
  2262.  
  2263.             Mode(name) identifies the mode by a name (in string form).
  2264.  
  2265.             Size(w,h) identifies the View by the maximum display size
  2266.             it supports. this is the size of the ViewPort that is created.
  2267.  
  2268.             ColorModel(colors) identifies the View by
  2269.             the maximum number of colors it supports. This can be
  2270.             PaletteMapped, HiColor, or TrueColor, and defaults to
  2271.             PaletteMapped.
  2272.  
  2273.         - Wait(state)
  2274.             Whether the player shall wait until the animation is
  2275.             finished before continuing with the sequence list.
  2276.             Defaults to FALSE. If FALSE we will not wait until the
  2277.             current animclip is finished before continuing the script.
  2278.  
  2279.         - Wipe(wipename, <wipe options>)
  2280.             A description of the wipe used for wiping in the element.
  2281.             If no wipe is specified, the "Cut" wipe is used.
  2282.  
  2283. BoxStyle():
  2284.  
  2285.     This command creates a style object that can be used to specify a
  2286.     common set of options used by one or more Box commands.
  2287.  
  2288.     Synopsis:
  2289.  
  2290.         BoxStyle( stylename
  2291.                 [, Align(horizontal, vertical) ]
  2292.                 [, Antialias(state) ]
  2293.                 [, Backdrop(state, <fill options>) ]
  2294.                 [, Bevel(state, Thickness(pixels), Base(color),
  2295.                         Left(<fill options>), Right(<fill options>),
  2296.                         Top(<fill options>), Bottom(<fill options>)) ]
  2297.                 [, Border(left, right, top, bottom) ]
  2298.                 [, Face(state, <fill options>) ]
  2299.                 [, Focus(state, <fill options>) ]
  2300.                 [, Outline(state, Thickness(pixels), <fill options>) ]
  2301.                 [, Replace(state) ]
  2302.                 [, Shadow(state, Offset(horizontal, vertical), <fill options>) ]
  2303.                 [, Shift(x, y) ]
  2304.                 [, Style(stylename) ]
  2305.                 [, Transparent(state) ]
  2306.                 [, Wipe(wipename, <wipe options>) ]
  2307.                 );
  2308.  
  2309.     Examples:
  2310.  
  2311.         BoxStyle(Rowan, Wipe("Center", Speed(7)));
  2312.         BoxStyle(Martin, Style(Rowan), Outline(on, Thickness(2), Pen(3)));
  2313.  
  2314.     Required Parameters Used by This Class:
  2315.  
  2316.         - stylename
  2317.             The name of the style being defined.
  2318.  
  2319.     Optional Parameters Supported by This Class:
  2320.  
  2321.         - Align(horizontal, vertical)
  2322.             This determines whether the element is positioned based on
  2323.             its X,Y values, or by the Background's size and margins.
  2324.             These tables describe the alignment values and their
  2325.             meanings:
  2326.  
  2327.             Horizontal  Description
  2328.             ----------  -----------
  2329.             None        The left edge of the element's face is
  2330.                         positioned relative to the left edge of the
  2331.                         background. The element's X value and the
  2332.                         cumulative effect of all applicable Offset
  2333.                         commands are used for positioning the element.
  2334.  
  2335.             Left        The left edge of the element's face is
  2336.                         positioned at the Background's left margin.
  2337.                         The element's X value and all applicable
  2338.                         Offset commands are ignored.
  2339.  
  2340.             Center      The vertical centerline of the element's face
  2341.                         is positioned midway between the Background's
  2342.                         left and right margins. The element's X value
  2343.                         and all applicable Offset commands are
  2344.                         ignored.
  2345.  
  2346.             Right       The right edge of the element's face is
  2347.                         positioned at the Background's right margin.
  2348.                         The element's X value and all applicable
  2349.                         Offset commands are ignored.
  2350.  
  2351.             Vertical    Description
  2352.             --------    -----------
  2353.             None        The top edge of the element's face is
  2354.                         positioned relative to the left edge of the
  2355.                         background. The element's Y value and the
  2356.                         cumulative effect of all applicable Offset
  2357.                         commands are used for positioning the element.
  2358.  
  2359.             Top         The top edge of the element's face is
  2360.                         positioned at the Background's top margin. The
  2361.                         element's Y value and all applicable Offset
  2362.                         commands are ignored.
  2363.  
  2364.             Middle      The horizontal centerline of the element's
  2365.                         face is positioned midway between the
  2366.                         Background's top and bottom margins. The
  2367.                         element's Y value and all applicable Offset
  2368.                         commands are ignored.
  2369.  
  2370.             Bottom      The bottom edge of the element's face is
  2371.                         positioned at the Background's bottom margin.
  2372.                         The element's Y value and all applicable
  2373.                         Offset commands are ignored.
  2374.  
  2375.             If this option is not specified, the element's alignment
  2376.             defaults to (None, None).
  2377.  
  2378.         - Antialias(state)
  2379.             This determines if the element is antialiased. The state
  2380.             defaults to off.
  2381.  
  2382.         - Backdrop(state, <fill options>)
  2383.             The appearance of the bounding box of the element behind
  2384.             the face and other style options applied to the element.
  2385.             The state defaults to off. <fill options> defaults to
  2386.             RGB($7f7f7f).
  2387.  
  2388.         - Bevel(state, Thickness(pixels), Base(color),
  2389.                 Left(<fill options>), Right(<fill options>),
  2390.                 Top(<fill options>), Bottom(<fill options>))
  2391.             A beveled edge added outside the element's bounding box.
  2392.             The state defaults to off. Thickness may be 1 or greater,
  2393.             and defaults to 2. Base is a hint to the authoring station
  2394.             to assist with choosing bevel colors, and is not used by
  2395.             the system otherwise. The Base color is specified as a
  2396.             4-byte hexadecimal number, where each byte encodes zero,
  2397.             red, green, and blue, from MSB to LSB. The bevel colors
  2398.             default to shades of grey.
  2399.  
  2400.         - Border(left, right, top, bottom)
  2401.             Extra space added to the edges of the element, measured in
  2402.             pixels. This effectively extends the element's bounding
  2403.             box without affecting the position of the element's face
  2404.             or the size of its face image. The border values may be 0
  2405.             or greater, and all default to 0.
  2406.  
  2407.         - Face(state, <fill options>)
  2408.             The appearance of the face of the element. The state
  2409.             defaults to on. For images, <fill options> defaults to
  2410.             nothing. For other elements, <fill options> defaults to
  2411.             RGB($ffffff).
  2412.  
  2413.         - Focus(state, <fill options>)
  2414.             How to highlight the face of the last-wiped-in element.
  2415.             When a new element gets wiped in, the face of this element
  2416.             reverts to its normal face appearance. If a group of
  2417.             elements are wiped in together, each element with this
  2418.             option specified will be highlighted. The state defaults
  2419.             to off. <fill options> defaults to RGB($ffff7f).
  2420.  
  2421.         - Outline(state, Thickness(pixels), <fill options>)
  2422.             A colored outline added to the element. The state defaults
  2423.             to off. Thickness may be 1 or greater, and defaults to 1.
  2424.             <fill options> defaults to RGB(0).
  2425.  
  2426.         - Replace(state)
  2427.             This determines whether an element command will create a
  2428.             new element or replace an existing element previously
  2429.             created by the same command. If the state is On, the
  2430.             element command will replace the previous element created
  2431.             by the same command. If the state is Off, a new element
  2432.             will be created, and any previous elements created by the
  2433.             same command will remain on the screen. This defaults to
  2434.             Replace(On).
  2435.  
  2436.         - Shadow(state, Offset(horizontal, vertical), <fill options>)
  2437.             A drop shadow drawn behind the element, drawn in a solid
  2438.             color. The state defaults to off. Either or both of the
  2439.             offsets can be positive or negative, and are measured in
  2440.             pixels. <fill options> defaults to RGB(0).
  2441.  
  2442.         - Shift(x, y)
  2443.             The amount the element's face, outline, and shadow are
  2444.             shifted from the specified element position. This is
  2445.             intended to be used for different button states to move
  2446.             the face without moving the backdrop or bevel. The offset
  2447.             values may be any numbers, and default to (0, 0).
  2448.  
  2449.         - Style(stylename)
  2450.             The name of a style style being defined is derived from.
  2451.  
  2452.         - Transparent(state)
  2453.             Whether or not pen zero is transparent. The state defaults
  2454.             to off. If this is on, any portion of the foreground
  2455.             element drawn in pen zero will not be visible, but will
  2456.             show through to the image beneath this foreground element.
  2457.  
  2458.         - Wipe(wipename, <wipe options>)
  2459.             A description of the wipe used for wiping in the element.
  2460.             If no wipe is specified, the "Cut" wipe is used.
  2461.  
  2462. Box():
  2463.  
  2464.     This command creates a foreground object that is a rectangle drawn
  2465.     in a solid color or a pattern.
  2466.  
  2467.     Synopsis:
  2468.  
  2469.         Box( X, Y , width, height
  2470.                 [, Align(horizontal, vertical) ]
  2471.                 [, Antialias(state) ]
  2472.                 [, Backdrop(state, <fill options>) ]
  2473.                 [, Bevel(state, Thickness(pixels), Base(color),
  2474.                         Left(<fill options>), Right(<fill options>),
  2475.                         Top(<fill options>), Bottom(<fill options>)) ]
  2476.                 [, Border(left, right, top, bottom) ]
  2477.                 [, Face(state, <fill options>) ]
  2478.                 [, Focus(state, <fill options>) ]
  2479.                 [, Outline(state, Thickness(pixels), <fill options>) ]
  2480.                 [, Replace(state) ]
  2481.                 [, Shadow(state, Offset(horizontal, vertical), <fill options>) ]
  2482.                 [, Shift(x, y) ]
  2483.                 [, Style(stylename) ]
  2484.                 [, Transparent(state) ]
  2485.                 [, Wipe(wipename, <wipe options>) ]
  2486.                 );
  2487.  
  2488.     Examples:
  2489.  
  2490.         Box(x, y, width, height, Face(Pen(4)));
  2491.         Box(x, y, width, height, Style(Martin), Face(on, RGB($326496)));
  2492.  
  2493.     Required Parameters Used by This Class:
  2494.  
  2495.         - X
  2496.             The horizontal position of the element's face. This
  2497.             position may be modified by the effects of Offset commands
  2498.             in containing clusters, and by Foreground's Align option.
  2499.             See those options' descriptions for more details.
  2500.  
  2501.         - Y 
  2502.             The vertical position of the element's face. This position
  2503.             may be modified by the effects of Offset commands in
  2504.             containing clusters, and by Foreground's Align option. See
  2505.             those options' descriptions for more details.
  2506.  
  2507.         - width
  2508.             The horizontal dimension of the rectangle.
  2509.  
  2510.         - height
  2511.             The vertical dimension of the rectangle.
  2512.  
  2513.     Optional Parameters Supported by This Class:
  2514.  
  2515.         - Align(horizontal, vertical)
  2516.             This determines whether the element is positioned based on
  2517.             its X,Y values, or by the Background's size and margins.
  2518.             These tables describe the alignment values and their
  2519.             meanings:
  2520.  
  2521.             Horizontal  Description
  2522.             ----------  -----------
  2523.             None        The left edge of the element's face is
  2524.                         positioned relative to the left edge of the
  2525.                         background. The element's X value and the
  2526.                         cumulative effect of all applicable Offset
  2527.                         commands are used for positioning the element.
  2528.  
  2529.             Left        The left edge of the element's face is
  2530.                         positioned at the Background's left margin.
  2531.                         The element's X value and all applicable
  2532.                         Offset commands are ignored.
  2533.  
  2534.             Center      The vertical centerline of the element's face
  2535.                         is positioned midway between the Background's
  2536.                         left and right margins. The element's X value
  2537.                         and all applicable Offset commands are
  2538.                         ignored.
  2539.  
  2540.             Right       The right edge of the element's face is
  2541.                         positioned at the Background's right margin.
  2542.                         The element's X value and all applicable
  2543.                         Offset commands are ignored.
  2544.  
  2545.             Vertical    Description
  2546.             --------    -----------
  2547.             None        The top edge of the element's face is
  2548.                         positioned relative to the left edge of the
  2549.                         background. The element's Y value and the
  2550.                         cumulative effect of all applicable Offset
  2551.                         commands are used for positioning the element.
  2552.  
  2553.             Top         The top edge of the element's face is
  2554.                         positioned at the Background's top margin. The
  2555.                         element's Y value and all applicable Offset
  2556.                         commands are ignored.
  2557.  
  2558.             Middle      The horizontal centerline of the element's
  2559.                         face is positioned midway between the
  2560.                         Background's top and bottom margins. The
  2561.                         element's Y value and all applicable Offset
  2562.                         commands are ignored.
  2563.  
  2564.             Bottom      The bottom edge of the element's face is
  2565.                         positioned at the Background's bottom margin.
  2566.                         The element's Y value and all applicable
  2567.                         Offset commands are ignored.
  2568.  
  2569.             If this option is not specified, the element's alignment
  2570.             defaults to (None, None).
  2571.  
  2572.         - Antialias(state)
  2573.             This determines if the element is antialiased. The state
  2574.             defaults to off.
  2575.  
  2576.         - Backdrop(state, <fill options>)
  2577.             The appearance of the bounding box of the element behind
  2578.             the face and other style options applied to the element.
  2579.             The state defaults to off. <fill options> defaults to
  2580.             RGB($7f7f7f).
  2581.  
  2582.         - Bevel(state, Thickness(pixels), Base(color),
  2583.                 Left(<fill options>), Right(<fill options>),
  2584.                 Top(<fill options>), Bottom(<fill options>))
  2585.             A beveled edge added outside the element's bounding box.
  2586.             The state defaults to off. Thickness may be 1 or greater,
  2587.             and defaults to 2. Base is a hint to the authoring station
  2588.             to assist with choosing bevel colors, and is not used by
  2589.             the system otherwise. The Base color is specified as a
  2590.             4-byte hexadecimal number, where each byte encodes zero,
  2591.             red, green, and blue, from MSB to LSB. The bevel colors
  2592.             default to shades of grey.
  2593.  
  2594.         - Border(left, right, top, bottom)
  2595.             Extra space added to the edges of the element, measured in
  2596.             pixels. This effectively extends the element's bounding
  2597.             box without affecting the position of the element's face
  2598.             or the size of its face image. The border values may be 0
  2599.             or greater, and all default to 0.
  2600.  
  2601.         - Face(state, <fill options>)
  2602.             The appearance of the face of the element. The state
  2603.             defaults to on. For images, <fill options> defaults to
  2604.             nothing. For other elements, <fill options> defaults to
  2605.             RGB($ffffff).
  2606.  
  2607.         - Focus(state, <fill options>)
  2608.             How to highlight the face of the last-wiped-in element.
  2609.             When a new element gets wiped in, the face of this element
  2610.             reverts to its normal face appearance. If a group of
  2611.             elements are wiped in together, each element with this
  2612.             option specified will be highlighted. The state defaults
  2613.             to off. <fill options> defaults to RGB($ffff7f).
  2614.  
  2615.         - Outline(state, Thickness(pixels), <fill options>)
  2616.             A colored outline added to the element. The state defaults
  2617.             to off. Thickness may be 1 or greater, and defaults to 1.
  2618.             <fill options> defaults to RGB(0).
  2619.  
  2620.         - Replace(state)
  2621.             This determines whether an element command will create a
  2622.             new element or replace an existing element previously
  2623.             created by the same command. If the state is On, the
  2624.             element command will replace the previous element created
  2625.             by the same command. If the state is Off, a new element
  2626.             will be created, and any previous elements created by the
  2627.             same command will remain on the screen. This defaults to
  2628.             Replace(On).
  2629.  
  2630.         - Shadow(state, Offset(horizontal, vertical), <fill options>)
  2631.             A drop shadow drawn behind the element, drawn in a solid
  2632.             color. The state defaults to off. Either or both of the
  2633.             offsets can be positive or negative, and are measured in
  2634.             pixels. <fill options> defaults to RGB(0).
  2635.  
  2636.         - Shift(x, y)
  2637.             The amount the element's face, outline, and shadow are
  2638.             shifted from the specified element position. This is
  2639.             intended to be used for different button states to move
  2640.             the face without moving the backdrop or bevel. The offset
  2641.             values may be any numbers, and default to (0, 0).
  2642.             The amount the element's face, outline, and shadow are
  2643.             shifted from the specified element position. This is
  2644.             intended to be used for different button states to move
  2645.             the face without moving the backdrop or bevel. The offset
  2646.             values may be any numbers, and default to (0, 0).
  2647.  
  2648.         - Style(stylename)
  2649.             The name of a style style being defined is derived from.
  2650.  
  2651.         - Transparent(state)
  2652.             Whether or not pen zero is transparent. The state defaults
  2653.             to off. If this is on, any portion of the foreground
  2654.             element drawn in pen zero will not be visible, but will
  2655.             show through to the image beneath this foreground element.
  2656.  
  2657.         - Wipe(wipename, <wipe options>)
  2658.             A description of the wipe used for wiping in the element.
  2659.             If no wipe is specified, the "Cut" wipe is used.
  2660.  
  2661. Button():
  2662.  
  2663.     Button() creates an interactive element on the display.
  2664.     Buttons do not support styles.
  2665.  
  2666.     Synopsis:
  2667.  
  2668.         Button(
  2669.                 [ Wipe(wipename, <wipe options>) ]
  2670.                 [ HotKey( [shift-][alt-][ctrl-]<keyname> ) ]
  2671.                 [ BoxedHit(on|off) ]
  2672.                 [ LinkPositions(on|off) ]
  2673.                 [ MatchSize(on|off) ]
  2674.                 [ Normal(
  2675.                     [ Text|Clip|AnimClip|MovieClip|Box( <command params here> ), ]
  2676.                     [ Use|Goto(<branch parameters>) ] ) ]
  2677.                 [ Highlight( [ MousePointer( <filename> ), ]
  2678.                     [ Text|Clip|AnimClip|MovieClip|Box( <command params here> ), ]
  2679.                     [ Use|Goto(<branch parameters>) ] ) ]
  2680.                 [ Select( [ MousePointer( <filename> ), ]
  2681.                     [ Text|Clip|AnimClip|MovieClip|Box( <command params here> ), ]
  2682.                     [ Use|Goto(<branch parameters>) ] ) ]
  2683.                 [ SelectDown( [ Use|Goto(<branch parameters>) ] ) ]
  2684.                 );
  2685.  
  2686.     Examples:
  2687.  
  2688.         Button(HotKey("F"), MatchSize(On),
  2689.             Normal(Text(20, 20, "hello", Wrap(Off, Auto(610)))),
  2690.             Select(Goto("btn: hello", Bookmark(On))));
  2691.         Button(HotKey("F12"), MatchSize(On),
  2692.             Normal(Text(20, 20, "Test button",
  2693.                 Backdrop(On, Image("Scala:\buttons\steel\steel01.bmp")),
  2694.                 Wrap(Off, Auto(610)))),
  2695.             Highlight(Text(20, 20, "Test button",
  2696.                 Backdrop(On, Image("Scala:\buttons\steel\steel02.bmp")),
  2697.                 Wrap(Off, Auto(610)))),
  2698.             Select(Text(20, 20, "Test button",
  2699.                 Backdrop(On, Image("Scala:\buttons\steel\steel03.bmp")),
  2700.                 Shift(10, 10), Wrap(Off, Auto(610))), Goto("_TempName1")));
  2701.         Button(Wipe("Flyon", Direction(0)), HotKey("Space"), MatchSize(On),
  2702.             Normal(Text(20, 20, "foo", Wrap(Off, Auto(610)))),
  2703.             Select(Text(20, 20, "foo", Wrap(Off, Auto(610))), Return()));
  2704.  
  2705.     Optional parameters:
  2706.  
  2707.         - Wipe(wipename, <wipe options>)
  2708.             A description of the wipe used for wiping in the element.
  2709.             If no wipe is specified, the "Cut" wipe is used.
  2710.  
  2711.         - HotKey( [shift-][alt-][ctrl-]<keyname> )
  2712.             Specifies the key that triggers the button's selection. Buttons
  2713.             support all the keys below along with all of the qualifiers,
  2714.             although many of them don't really make sense to use
  2715.             (shift-1, ctrl-alt-DEL).
  2716.  
  2717.                 UP, DOWN, LEFT, RIGHT, ENTER, HELP, TAB,
  2718.                 SPACE, BACKSPACE, ESCAPE, F1-F12, A-Z,
  2719.                 !\#$%&'()*+,-./:;<=>?@[\]^_`{|}~
  2720.  
  2721.             The authoring station only allows A-Z, 0-9, F1-F12, and SPACE,
  2722.             and doesn't permit modifiers.
  2723.  
  2724.             Keys are specified in double quotes (they are string parameters).
  2725.             For example:
  2726.  
  2727.                 HotKey("SHIFT-ENTER"),
  2728.                 HotKey("ALT-F1"),
  2729.                 HotKey("&"),
  2730.                 HotKey("CTRL-R"),
  2731.  
  2732.         - BoxedHit(on|off)
  2733.             Tells the button to use the bounding box as the hit area
  2734.             for the mouse.
  2735.  
  2736.         - LinkPositions(on|off)
  2737.             Pertains only to authoring.
  2738.  
  2739.         - MatchSize(on|off)
  2740.             If on, all faces will have the same rectangular size.
  2741.  
  2742.         - Normal(
  2743.                 [ Text|Clip|AnimClip|MovieClip|Box( <command params here> ), ]
  2744.                 [ Use|Goto(<branch parameters>) ]*
  2745.                 ),
  2746.             The Text, Clip, AnimClip, MovieClip, or Box option is an
  2747.             embedded Element command.  With the exception of the Wipe
  2748.             options, the embedded Element command supports all normal
  2749.             options. Wipe options will be ignored.
  2750.  
  2751.             The Use|Goto branches are embedded player branches and accept
  2752.             their normal parameters.
  2753.  
  2754.         - Highlight(
  2755.                 [ MousePointer( <filename> ), ]
  2756.                 [ Text|Clip|AnimClip|MovieClip|Box( <command params here> ), ]
  2757.                 [ Use|Goto(<branch parameters>) ]*
  2758.                 ),
  2759.             The Text, Clip, AnimClip, MovieClip, or Box option is an
  2760.             embedded Element command.  With the exception of the Wipe
  2761.             options, the embedded Element command supports all normal
  2762.             options. Wipe options will be ignored.
  2763.  
  2764.             The Use|Goto branches are embedded player branches and accept
  2765.             their normal parameters.
  2766.  
  2767.         - Select(
  2768.                 [ MousePointer( <filename> ), ]
  2769.                 [ Text|Clip|AnimClip|MovieClip|Box( <command params here> ), ]
  2770.                 [ Use|Goto(<branch parameters>) ]*
  2771.                 ),
  2772.             The Text, Clip, AnimClip, MovieClip, or Box option is an
  2773.             embedded Element command.  With the exception of the Wipe
  2774.             options, the embedded Element command supports all normal
  2775.             options. Wipe options will be ignored.
  2776.  
  2777.             The Use|Goto branches are embedded player branches and accept
  2778.             their normal parameters.
  2779.  
  2780.         - SelectDown(
  2781.                 [ Use|Goto(<branch parameters>) ]*
  2782.                 ),
  2783.             The Use|Goto branches are embedded player branches and accept
  2784.             their normal parameters.
  2785.  
  2786. ClipStyle():
  2787.  
  2788.     This command creates a style object that can be used to specify a
  2789.     common set of options used by one or more Clip commands.
  2790.  
  2791.     Synopsis:
  2792.  
  2793.         ClipStyle( stylename
  2794.                 [, Align(horizontal, vertical) ]
  2795.                 [, Antialias(state) ]
  2796.                 [, Backdrop(state, <fill options>) ]
  2797.                 [, Bevel(state, Thickness(pixels), Base(color),
  2798.                         Left(<fill options>), Right(<fill options>),
  2799.                         Top(<fill options>), Bottom(<fill options>)) ]
  2800.                 [, Border(left, right, top, bottom) ]
  2801.                 [, Face(state, <fill options>) ]
  2802.                 [, Focus(state, <fill options>) ]
  2803.                 [, Operation(state, <operation options>) ]
  2804.                 [, Outline(state, Thickness(pixels), <fill options>) ]
  2805.                 [, Replace(state) ]
  2806.                 [, Shadow(state, Offset(horizontal, vertical), <fill options>) ]
  2807.                 [, Shift(x, y) ]
  2808.                 [, Style(stylename) ]
  2809.                 [, Transparent(state) ]
  2810.                 [, Wipe(wipename, <wipe options>) ]
  2811.                 );
  2812.  
  2813.     Examples:
  2814.  
  2815.         ClipStyle(Ricky, Operation(On, Crop(10, 10, 80, 80)));
  2816.         ClipStyle(Lucy, Style(Ricky), Operation(On, Resize(100, 100)));
  2817.  
  2818.     Required Parameters Used by This Class:
  2819.  
  2820.         - stylename
  2821.             The name of the style being defined.
  2822.  
  2823.     Optional Parameters Supported by This Class:
  2824.  
  2825.         - Align(horizontal, vertical)
  2826.             This determines whether the element is positioned based on
  2827.             its X,Y values, or by the Background's size and margins.
  2828.             These tables describe the alignment values and their
  2829.             meanings:
  2830.  
  2831.             Horizontal  Description
  2832.             ----------  -----------
  2833.             None        The left edge of the element's face is
  2834.                         positioned relative to the left edge of the
  2835.                         background. The element's X value and the
  2836.                         cumulative effect of all applicable Offset
  2837.                         commands are used for positioning the element.
  2838.  
  2839.             Left        The left edge of the element's face is
  2840.                         positioned at the Background's left margin.
  2841.                         The element's X value and all applicable
  2842.                         Offset commands are ignored.
  2843.  
  2844.             Center      The vertical centerline of the element's face
  2845.                         is positioned midway between the Background's
  2846.                         left and right margins. The element's X value
  2847.                         and all applicable Offset commands are
  2848.                         ignored.
  2849.  
  2850.             Right       The right edge of the element's face is
  2851.                         positioned at the Background's right margin.
  2852.                         The element's X value and all applicable
  2853.                         Offset commands are ignored.
  2854.  
  2855.             Vertical    Description
  2856.             --------    -----------
  2857.             None        The top edge of the element's face is
  2858.                         positioned relative to the left edge of the
  2859.                         background. The element's Y value and the
  2860.                         cumulative effect of all applicable Offset
  2861.                         commands are used for positioning the element.
  2862.  
  2863.             Top         The top edge of the element's face is
  2864.                         positioned at the Background's top margin. The
  2865.                         element's Y value and all applicable Offset
  2866.                         commands are ignored.
  2867.  
  2868.             Middle      The horizontal centerline of the element's
  2869.                         face is positioned midway between the
  2870.                         Background's top and bottom margins. The
  2871.                         element's Y value and all applicable Offset
  2872.                         commands are ignored.
  2873.  
  2874.             Bottom      The bottom edge of the element's face is
  2875.                         positioned at the Background's bottom margin.
  2876.                         The element's Y value and all applicable
  2877.                         Offset commands are ignored.
  2878.  
  2879.             If this option is not specified, the element's alignment
  2880.             defaults to (None, None).
  2881.  
  2882.         - Antialias(state)
  2883.             This determines if the element is antialiased. The state
  2884.             defaults to off.
  2885.  
  2886.         - Backdrop(state, <fill options>)
  2887.             The appearance of the bounding box of the element behind
  2888.             the face and other style options applied to the element.
  2889.             The state defaults to off. <fill options> defaults to
  2890.             RGB($7f7f7f).
  2891.  
  2892.         - Bevel(state, Thickness(pixels), Base(color),
  2893.                 Left(<fill options>), Right(<fill options>),
  2894.                 Top(<fill options>), Bottom(<fill options>))
  2895.             A beveled edge added outside the element's bounding box.
  2896.             The state defaults to off. Thickness may be 1 or greater,
  2897.             and defaults to 2. Base is a hint to the authoring station
  2898.             to assist with choosing bevel colors, and is not used by
  2899.             the system otherwise. The Base color is specified as a
  2900.             4-byte hexadecimal number, where each byte encodes zero,
  2901.             red, green, and blue, from MSB to LSB. The bevel colors
  2902.             default to shades of grey.
  2903.  
  2904.         - Border(left, right, top, bottom)
  2905.             Extra space added to the edges of the element, measured in
  2906.             pixels. This effectively extends the element's bounding
  2907.             box without affecting the position of the element's face
  2908.             or the size of its face image. The border values may be 0
  2909.             or greater, and all default to 0.
  2910.  
  2911.         - Face(state, <fill options>)
  2912.             The appearance of the face of the element. The state
  2913.             defaults to on. For images, <fill options> defaults to
  2914.             nothing. For other elements, <fill options> defaults to
  2915.             RGB($ffffff).
  2916.  
  2917.         - Focus(state, <fill options>)
  2918.             How to highlight the face of the last-wiped-in element.
  2919.             When a new element gets wiped in, the face of this element
  2920.             reverts to its normal face appearance. If a group of
  2921.             elements are wiped in together, each element with this
  2922.             option specified will be highlighted. The state defaults
  2923.             to off. <fill options> defaults to RGB($ffff7f).
  2924.  
  2925.         - Operation(state, <operation options>)
  2926.             Specifies the operations done before drawing this image.
  2927.             The state defaults to off.
  2928.  
  2929.         - Outline(state, Thickness(pixels), <fill options>)
  2930.             A colored outline added to the element. The state defaults
  2931.             to off. Thickness may be 1 or greater, and defaults to 1.
  2932.             <fill options> defaults to RGB(0).
  2933.  
  2934.         - Replace(state)
  2935.             This determines whether an element command will create a
  2936.             new element or replace an existing element previously
  2937.             created by the same command. If the state is On, the
  2938.             element command will replace the previous element created
  2939.             by the same command. If the state is Off, a new element
  2940.             will be created, and any previous elements created by the
  2941.             same command will remain on the screen. This defaults to
  2942.             Replace(On).
  2943.  
  2944.         - Shadow(state, Offset(horizontal, vertical), <fill options>)
  2945.             A drop shadow drawn behind the element, drawn in a solid
  2946.             color. The state defaults to off. Either or both of the
  2947.             offsets can be positive or negative, and are measured in
  2948.             pixels. <fill options> defaults to RGB(0).
  2949.  
  2950.         - Shift(x, y)
  2951.             The amount the element's face, outline, and shadow are
  2952.             shifted from the specified element position. This is
  2953.             intended to be used for different button states to move
  2954.             the face without moving the backdrop or bevel. The offset
  2955.             values may be any numbers, and default to (0, 0).
  2956.  
  2957.         - Style(stylename)
  2958.             The name of a style style being defined is derived from.
  2959.  
  2960.         - Transparent(state)
  2961.             Whether or not pen zero is transparent. The state defaults
  2962.             to off. If this is on, any portion of the foreground
  2963.             element drawn in pen zero will not be visible, but will
  2964.             show through to the image beneath this foreground element.
  2965.  
  2966.         - Wipe(wipename, <wipe options>)
  2967.             A description of the wipe used for wiping in the element.
  2968.             If no wipe is specified, the "Cut" wipe is used.
  2969.  
  2970. Clip():
  2971.  
  2972.     This command creates a foreground object that is a rectangle
  2973.     drawn with a still image.
  2974.  
  2975.     Synopsis:
  2976.  
  2977.         Clip( X, Y , filename
  2978.                 [, Align(horizontal, vertical) ]
  2979.                 [, Antialias(state) ]
  2980.                 [, Backdrop(state, <fill options>) ]
  2981.                 [, Bevel(state, Thickness(pixels), Base(color),
  2982.                         Left(<fill options>), Right(<fill options>),
  2983.                         Top(<fill options>), Bottom(<fill options>)) ]
  2984.                 [, Border(left, right, top, bottom) ]
  2985.                 [, Face(state, <fill options>) ]
  2986.                 [, Focus(state, <fill options>) ]
  2987.                 [, Operation(state, <operation options>) ]
  2988.                 [, Outline(state, Thickness(pixels), <fill options>) ]
  2989.                 [, Replace(state) ]
  2990.                 [, Shadow(state, Offset(horizontal, vertical), <fill options>) ]
  2991.                 [, Shift(x, y) ]
  2992.                 [, Style(stylename) ]
  2993.                 [, Transparent(state) ]
  2994.                 [, Wipe(wipename, <wipe options>) ]
  2995.                 );
  2996.  
  2997.     Examples:
  2998.  
  2999.         Clip(x, y, "pic3.bmp");
  3000.         Clip(x, y, "pic3.bmp", Style(Lucy), Bevel(on));
  3001.  
  3002.     Required Parameters Used by This Class:
  3003.  
  3004.         - X
  3005.             The horizontal position of the element's face. This
  3006.             position may be modified by the effects of Offset commands
  3007.             in containing clusters, and by Foreground's Align option.
  3008.             See those options' descriptions for more details.
  3009.  
  3010.         - Y 
  3011.             The vertical position of the element's face. This position
  3012.             may be modified by the effects of Offset commands in
  3013.             containing clusters, and by Foreground's Align option. See
  3014.             those options' descriptions for more details.
  3015.  
  3016.         - filename
  3017.             The name of the file containing the image data.
  3018.  
  3019.     Optional Parameters Supported by This Class:
  3020.  
  3021.         - Align(horizontal, vertical)
  3022.             This determines whether the element is positioned based on
  3023.             its X,Y values, or by the Background's size and margins.
  3024.             These tables describe the alignment values and their
  3025.             meanings:
  3026.  
  3027.             Horizontal  Description
  3028.             ----------  -----------
  3029.             None        The left edge of the element's face is
  3030.                         positioned relative to the left edge of the
  3031.                         background. The element's X value and the
  3032.                         cumulative effect of all applicable Offset
  3033.                         commands are used for positioning the element.
  3034.  
  3035.             Left        The left edge of the element's face is
  3036.                         positioned at the Background's left margin.
  3037.                         The element's X value and all applicable
  3038.                         Offset commands are ignored.
  3039.  
  3040.             Center      The vertical centerline of the element's face
  3041.                         is positioned midway between the Background's
  3042.                         left and right margins. The element's X value
  3043.                         and all applicable Offset commands are
  3044.                         ignored.
  3045.  
  3046.             Right       The right edge of the element's face is
  3047.                         positioned at the Background's right margin.
  3048.                         The element's X value and all applicable
  3049.                         Offset commands are ignored.
  3050.  
  3051.             Vertical    Description
  3052.             --------    -----------
  3053.             None        The top edge of the element's face is
  3054.                         positioned relative to the left edge of the
  3055.                         background. The element's Y value and the
  3056.                         cumulative effect of all applicable Offset
  3057.                         commands are used for positioning the element.
  3058.  
  3059.             Top         The top edge of the element's face is
  3060.                         positioned at the Background's top margin. The
  3061.                         element's Y value and all applicable Offset
  3062.                         commands are ignored.
  3063.  
  3064.             Middle      The horizontal centerline of the element's
  3065.                         face is positioned midway between the
  3066.                         Background's top and bottom margins. The
  3067.                         element's Y value and all applicable Offset
  3068.                         commands are ignored.
  3069.  
  3070.             Bottom      The bottom edge of the element's face is
  3071.                         positioned at the Background's bottom margin.
  3072.                         The element's Y value and all applicable
  3073.                         Offset commands are ignored.
  3074.  
  3075.             If this option is not specified, the element's alignment
  3076.             defaults to (None, None).
  3077.  
  3078.         - Antialias(state)
  3079.             This determines if the element is antialiased. The state
  3080.             defaults to off.
  3081.  
  3082.         - Backdrop(state, <fill options>)
  3083.             The appearance of the bounding box of the element behind
  3084.             the face and other style options applied to the element.
  3085.             The state defaults to off. <fill options> defaults to
  3086.             RGB($7f7f7f).
  3087.  
  3088.         - Bevel(state, Thickness(pixels), Base(color),
  3089.                 Left(<fill options>), Right(<fill options>),
  3090.                 Top(<fill options>), Bottom(<fill options>))
  3091.             A beveled edge added outside the element's bounding box.
  3092.             The state defaults to off. Thickness may be 1 or greater,
  3093.             and defaults to 2. Base is a hint to the authoring station
  3094.             to assist with choosing bevel colors, and is not used by
  3095.             the system otherwise. The Base color is specified as a
  3096.             4-byte hexadecimal number, where each byte encodes zero,
  3097.             red, green, and blue, from MSB to LSB. The bevel colors
  3098.             default to shades of grey.
  3099.  
  3100.         - Border(left, right, top, bottom)
  3101.             Extra space added to the edges of the element, measured in
  3102.             pixels. This effectively extends the element's bounding
  3103.             box without affecting the position of the element's face
  3104.             or the size of its face image. The border values may be 0
  3105.             or greater, and all default to 0.
  3106.  
  3107.         - Face(state, <fill options>)
  3108.             The appearance of the face of the element. The state
  3109.             defaults to on. For images, <fill options> defaults to
  3110.             nothing. For other elements, <fill options> defaults to
  3111.             RGB($ffffff).
  3112.  
  3113.         - Focus(state, <fill options>)
  3114.             How to highlight the face of the last-wiped-in element.
  3115.             When a new element gets wiped in, the face of this element
  3116.             reverts to its normal face appearance. If a group of
  3117.             elements are wiped in together, each element with this
  3118.             option specified will be highlighted. The state defaults
  3119.             to off. <fill options> defaults to RGB($ffff7f).
  3120.  
  3121.         - Operation(state, <operation options>)
  3122.             Specifies the operations done before drawing this image.
  3123.             The state defaults to off.
  3124.  
  3125.         - Outline(state, Thickness(pixels), <fill options>)
  3126.             A colored outline added to the element. The state defaults
  3127.             to off. Thickness may be 1 or greater, and defaults to 1.
  3128.             <fill options> defaults to RGB(0).
  3129.  
  3130.         - Replace(state)
  3131.             This determines whether an element command will create a
  3132.             new element or replace an existing element previously
  3133.             created by the same command. If the state is On, the
  3134.             element command will replace the previous element created
  3135.             by the same command. If the state is Off, a new element
  3136.             will be created, and any previous elements created by the
  3137.             same command will remain on the screen. This defaults to
  3138.             Replace(On).
  3139.  
  3140.         - Shadow(state, Offset(horizontal, vertical), <fill options>)
  3141.             A drop shadow drawn behind the element, drawn in a solid
  3142.             color. The state defaults to off. Either or both of the
  3143.             offsets can be positive or negative, and are measured in
  3144.             pixels. <fill options> defaults to RGB(0).
  3145.  
  3146.         - Shift(x, y)
  3147.             The amount the element's face, outline, and shadow are
  3148.             shifted from the specified element position. This is
  3149.             intended to be used for different button states to move
  3150.             the face without moving the backdrop or bevel. The offset
  3151.             values may be any numbers, and default to (0, 0).
  3152.  
  3153.         - Style(stylename)
  3154.             The name of a style style being defined is derived from.
  3155.  
  3156.         - Transparent(state)
  3157.             Whether or not pen zero is transparent. The state defaults
  3158.             to off. If this is on, any portion of the foreground
  3159.             element drawn in pen zero will not be visible, but will
  3160.             show through to the image beneath this foreground element.
  3161.  
  3162.         - Wipe(wipename, <wipe options>)
  3163.             A description of the wipe used for wiping in the element.
  3164.             If no wipe is specified, the "Cut" wipe is used.
  3165.  
  3166. MovieClipStyle():
  3167.  
  3168.     MovieClipStyle() creates a style object that can be used to specify a
  3169.     common set of options used by one or more MovieClip commands.
  3170.     
  3171.     Synopsis:
  3172.     
  3173.         MovieClipStyle(stylename,
  3174.                 [, Loops(loops) ]
  3175.                 [, Margin(left, right, top, bottom) ]
  3176.                 [, Operation(state, <operation options>) ]
  3177.                 [, Palette( Clear(state), <palette options> ) ]
  3178.                 [, Style(stylename) ]
  3179.                 [, Tabs(Implicit(width), Explicit(tab, ...)) ]
  3180.                 [, Transparent(state) ]
  3181.                 [, UserPalette( Clear(state), <palette options> ) ]
  3182.                 [, View(Mode(name), Size(width, height), ColorModel(colors)) ]
  3183.                 [, Volume(volume) ]
  3184.                 [, Wait(state) ]
  3185.                 [, Wipe(wipename, <wipe options>) ]
  3186.                 );
  3187.         
  3188.     Examples:
  3189.         
  3190.         MovieClipStyle(Barnum, Speed(40));
  3191.         MovieClipStyle(Bailey, Style(Barnum), Speed(60), Wipe("FlyLeft"));
  3192.         
  3193.     Required Parameters Used by This Class:
  3194.         
  3195.         - stylename
  3196.             The name of the style being defined.
  3197.  
  3198.     Optional Parameters Supported by This Class:
  3199.  
  3200.         - Loops(loops)
  3201.             How may times to play the animation in a loop.
  3202.  
  3203.         - Margin(left, right, top, bottom)
  3204.             This sets margins in the Background element to be used for
  3205.             positioning foreground elements on that background. The
  3206.             margin values may be 0 or greater, and all default to 0.
  3207.  
  3208.         - Operation(state, <operation options>)
  3209.             Specifies the operations done before drawing this image.
  3210.             The state defaults to off.
  3211.  
  3212.         - Palette( Clear(state), <palette options> )
  3213.             The palette used for this background. This defines
  3214.             specific colors to be mapped to specific pens at playback
  3215.             time.
  3216.  
  3217.             Clear(state) determines whether pens from the style
  3218.             (if any) are cleared before applying pens specified in
  3219.             this Palette option.
  3220.  
  3221.         - Style(stylename)
  3222.             The name of a style style being defined is derived from.
  3223.  
  3224.         - Tabs(Implicit(width), Explicit(tab, ...))
  3225.             A description of tab stops, relative to the background. If
  3226.             both Implicit and Explicit tabs are specified, explicit
  3227.             tabs are used first, and implicit tabs are used once the
  3228.             explicit tabs are used up.
  3229.  
  3230.             Implicit(width) set the distance between implied tab
  3231.             stops. This represents the number of pixels from each tab
  3232.             stop to the next. The width may be 1 or greater, and
  3233.             defaults to 50.
  3234.  
  3235.             Explicit(tab, ...) sets a list of one or more explicit tab
  3236.             stops. Each tab stop represents a number of pixels from
  3237.             the tab reference point, and may be 0 or greater. Any
  3238.             number of tab stops may be specified, but they must be
  3239.             listed in increasing order. There are no default Explicit
  3240.             tabs.
  3241.  
  3242.         - Transparent(state)
  3243.             This specifies if there should be any transparent areas
  3244.             in the front image. This option is used with the
  3245.             Operation(TransparentRGB()) option to turn on
  3246.             transparency.
  3247.  
  3248.         - UserPalette( Clear(state), <palette options> )
  3249.             The user palette for this background. This defines
  3250.             specific colors to be mapped to user pen numbers during
  3251.             playback. These user pen numbers are used by other
  3252.             commands via the 'Pen' fill option to select colors for
  3253.             elements to be drawn in. During playback, these user pens
  3254.             may end up mapped to any playback pens, and the screen
  3255.             book will take care of converting one to the other. The
  3256.             net result is that elements may refer to a user pen
  3257.             number, and get the desired color, no matter which
  3258.             playback pen the user pen number is actually mapped to.
  3259.  
  3260.             Clear(state) determines whether user pens from the style
  3261.             (if any) are cleared before applying user pens specified
  3262.             in this UserPalette option.
  3263.  
  3264.         - View(Mode(name), Size(width, height), ColorModel(colors))
  3265.             This describes the View used for this background. Any
  3266.             combination of suboptions may be specified to uniquely
  3267.             describe the View to be used.
  3268.  
  3269.             Mode(name) identifies the mode by a name (in string form).
  3270.  
  3271.             Size(w,h) identifies the View by the maximum display size
  3272.             it supports. this is the size of the ViewPort that is created.
  3273.  
  3274.             ColorModel(colors) identifies the View by
  3275.             the maximum number of colors it supports. This can be
  3276.             PaletteMapped, HiColor, or TrueColor, and defaults to
  3277.             PaletteMapped.
  3278.  
  3279.         - Volume(volume)
  3280.             This specifies the volume for the movie / movieclip.
  3281.             Range is 0 to 255. Defaults to 255 meaning full
  3282.             volume. 0 is silence.
  3283.  
  3284.         - Wait(state)
  3285.             Whether the player shall wait until the animation is
  3286.             finished before continuing with the sequence list.
  3287.             Defaults to FALSE. If FALSE we will not wait until the
  3288.             current animclip is finished before continuing the script.
  3289.  
  3290.         - Wipe(wipename, <wipe options>)
  3291.             A description of the wipe used for wiping in the element.
  3292.             If no wipe is specified, the "Cut" wipe is used.
  3293.  
  3294. MovieClip()
  3295.         
  3296.     MovieClip() creates an movie background.
  3297.  
  3298.     All <operation options> are available for MovieClip(), but, in most cases,
  3299.     performance will not be good enough for them to be used.
  3300.         
  3301.     Synopsis:
  3302.         
  3303.         MovieClip(filename,
  3304.                 [, Loops(loops) ]
  3305.                 [, Margin(left, right, top, bottom) ]
  3306.                 [, Operation(state, <operation options>) ]
  3307.                 [, Palette( Clear(state), <palette options> ) ]
  3308.                 [, Style(stylename) ]
  3309.                 [, Tabs(Implicit(width), Explicit(tab, ...)) ]
  3310.                 [, Transparent(state) ]
  3311.                 [, UserPalette( Clear(state), <palette options> ) ]
  3312.                 [, View(Mode(name), Size(width, height), ColorModel(colors)) ]
  3313.                 [, Volume(volume) ]
  3314.                 [, Wait(state) ]
  3315.                 [, Wipe(wipename, <wipe options>) ]
  3316.                 );
  3317.         
  3318.     Examples:
  3319.         
  3320.         MovieClip("show.avi");
  3321.         MovieClip("show2.avi", Style(Barnum), Loops(5));
  3322.         
  3323.     MovieClip() required parameters:
  3324.         
  3325.         - filename
  3326.             The name of the file containing the image data.
  3327.  
  3328.     Optional Parameters Supported by This Class:
  3329.  
  3330.         - Loops(loops)
  3331.             How may times to play the animation in a loop.
  3332.  
  3333.         - Margin(left, right, top, bottom)
  3334.             This sets margins in the Background element to be used for
  3335.             positioning foreground elements on that background. The
  3336.             margin values may be 0 or greater, and all default to 0.
  3337.  
  3338.         - Operation(state, <operation options>)
  3339.             Specifies the operations done before drawing this image.
  3340.             The state defaults to off.
  3341.  
  3342.         - Palette( Clear(state), <palette options> )
  3343.             The palette used for this background. This defines
  3344.             specific colors to be mapped to specific pens at playback
  3345.             time.
  3346.  
  3347.             Clear(state) determines whether pens from the style
  3348.             (if any) are cleared before applying pens specified in
  3349.             this Palette option.
  3350.  
  3351.         - Style(stylename)
  3352.             The name of a style style being defined is derived from.
  3353.  
  3354.         - Tabs(Implicit(width), Explicit(tab, ...))
  3355.             A description of tab stops, relative to the background. If
  3356.             both Implicit and Explicit tabs are specified, explicit
  3357.             tabs are used first, and implicit tabs are used once the
  3358.             explicit tabs are used up.
  3359.  
  3360.             Implicit(width) set the distance between implied tab
  3361.             stops. This represents the number of pixels from each tab
  3362.             stop to the next. The width may be 1 or greater, and
  3363.             defaults to 50.
  3364.  
  3365.             Explicit(tab, ...) sets a list of one or more explicit tab
  3366.             stops. Each tab stop represents a number of pixels from
  3367.             the tab reference point, and may be 0 or greater. Any
  3368.             number of tab stops may be specified, but they must be
  3369.             listed in increasing order. There are no default Explicit
  3370.             tabs.
  3371.  
  3372.         - Transparent(state)
  3373.             This specifies if there should be any transparent areas
  3374.             in the front image. This option is used with the
  3375.             Operation(TransparentRGB()) option to turn on
  3376.             transparency.
  3377.  
  3378.         - UserPalette( Clear(state), <palette options> )
  3379.             The user palette for this background. This defines
  3380.             specific colors to be mapped to user pen numbers during
  3381.             playback. These user pen numbers are used by other
  3382.             commands via the 'Pen' fill option to select colors for
  3383.             elements to be drawn in. During playback, these user pens
  3384.             may end up mapped to any playback pens, and the screen
  3385.             book will take care of converting one to the other. The
  3386.             net result is that elements may refer to a user pen
  3387.             number, and get the desired color, no matter which
  3388.             playback pen the user pen number is actually mapped to.
  3389.  
  3390.             Clear(state) determines whether user pens from the style
  3391.             (if any) are cleared before applying user pens specified
  3392.             in this UserPalette option.
  3393.  
  3394.         - View(Mode(name), Size(width, height), ColorModel(colors))
  3395.             This describes the View used for this background. Any
  3396.             combination of suboptions may be specified to uniquely
  3397.             describe the View to be used.
  3398.  
  3399.             Mode(name) identifies the mode by a name (in string form).
  3400.  
  3401.             Size(w,h) identifies the View by the maximum display size
  3402.             it supports. this is the size of the ViewPort that is created.
  3403.  
  3404.             ColorModel(colors) identifies the View by
  3405.             the maximum number of colors it supports. This can be
  3406.             PaletteMapped, HiColor, or TrueColor, and defaults to
  3407.             PaletteMapped.
  3408.  
  3409.         - Volume(volume)
  3410.             This specifies the volume for the movie / movieclip.
  3411.             Range is 0 to 255. Defaults to 255 meaning full
  3412.             volume. 0 is silence.
  3413.  
  3414.         - Wait(state)
  3415.             Whether the player shall wait until the animation is
  3416.             finished before continuing with the sequence list.
  3417.             Defaults to FALSE. If FALSE we will not wait until the
  3418.             current animclip is finished before continuing the script.
  3419.  
  3420.         - Wipe(wipename, <wipe options>)
  3421.             A description of the wipe used for wiping in the element.
  3422.             If no wipe is specified, the "Cut" wipe is used.
  3423.  
  3424. Text():
  3425.  
  3426.     This command creates a foreground object that is one or more words
  3427.     of text drawn with a specified font and effects.
  3428.  
  3429.     Synopsis:
  3430.  
  3431.         Text( X, Y , string
  3432.                 [, Append( string,
  3433.                     Font(typeface, size),
  3434.                     Bold(state, Delta(value)),
  3435.                     Italic(state, Delta(value)),
  3436.                     Spacing(pixels),
  3437.                     Kerning(state),
  3438.                     Face(state, <fill options>),
  3439.                     Focus(state, <fill options>),
  3440.                     Outline(state, Thickness(pixels), <fill options>),
  3441.                     Shadow(state, Offset(h, v), <fill options>),
  3442.                     Under(state, Position(top), Thickness(height),
  3443.                         Air(size), <fill options>) ]
  3444.                 [, Align(horizontal, vertical) ]
  3445.                 [, Antialias(state) ]
  3446.                 [, Backdrop(state, <fill options>) ]
  3447.                 [, Bevel(state, Thickness(pixels), Base(color),
  3448.                         Left(<fill options>), Right(<fill options>),
  3449.                         Top(<fill options>), Bottom(<fill options>)) ]
  3450.                 [, Bold(state, Delta(value)) ]
  3451.                 [, Border(left, right, top, bottom) ]
  3452.                 [, Face(state, <fill options>) ]
  3453.                 [, Focus(state, <fill options>) ]
  3454.                 [, Font(typeface, size) ]
  3455.                 [, Italic(state, Delta(value)) ]
  3456.                 [, Justify(horizontal, vertical) ]
  3457.                 [, Kerning(state) ]
  3458.                 [, Leading(pixels) ]
  3459.                 [, Outline(state, Thickness(pixels), <fill options>) ]
  3460.                 [, Replace(state) ]
  3461.                 [, Shadow(state, Offset(horizontal, vertical), <fill options>) ]
  3462.                 [, Shift(x, y) ]
  3463.                 [, Size(width, height) ]
  3464.                 [, Spacing(pixels) ]
  3465.                 [, Tabs(Relative(state), Implicit(width), Explicit(tab, ...)) ]
  3466.                 [, Transparent(state) ]
  3467.                 [, Under(state, Position(top), Thickness(height), Air(size),
  3468.                         <fill options>) ]
  3469.                 [, Update(type) ]
  3470.                 [, Wipe(wipename, <wipe options>) ]
  3471.                 [, Wrap(state) ]
  3472.                 );
  3473.  
  3474.     Examples:
  3475.  
  3476.         Text(x, y, "Larry");
  3477.         Text(x, y, "Curly", Face(on, Pen(3)));
  3478.         Text(x, y, "",
  3479.             Transparent(on), Under(on, Pen(1)),
  3480.             Append("John,", Face(on, RGB($ff0000))),
  3481.             Append(" Paul,", Face(on, RGB($00ff00))),
  3482.             Append(" George,", Face(on, RGB($0000ff))),
  3483.             Append(" and Ringo!", Face(on, RGB($ffff00))))
  3484.  
  3485.     Required Parameters Used by This Class:
  3486.  
  3487.         - X
  3488.             The horizontal position of the element's face. This
  3489.             position may be modified by the effects of Offset commands
  3490.             in containing clusters, and by Foreground's Align option.
  3491.             See those options' descriptions for more details.
  3492.  
  3493.         - Y 
  3494.             The vertical position of the element's face. This position
  3495.             may be modified by the effects of Offset commands in
  3496.             containing clusters, and by Foreground's Align option. See
  3497.             those options' descriptions for more details.
  3498.  
  3499.         - string
  3500.             The text string to be displayed. If this is an expression,
  3501.             and the Live option is turned on, the string displayed by
  3502.             the Text element will change each time this expression
  3503.             changes.
  3504.  
  3505.  
  3506.     Optional repeatable Parameters Supported by This Class:
  3507.  
  3508.         - Append(string,
  3509.                 Font(typeface, size),
  3510.                 Bold(state, Delta(value)),
  3511.                 Italic(state, Delta(value)),
  3512.                 Spacing(pixels),
  3513.                 Kerning(state),
  3514.                 Face(state, <fill options>),
  3515.                 Focus(state, <fill options>),
  3516.                 Outline(state, Thickness(pixels), <fill options>),
  3517.                 Shadow(state, Offset(h, v), <fill options>),
  3518.                 Under(state, Position(top), Thickness(height),
  3519.                     Air(size), <fill options>)
  3520.  
  3521.             This may be repeated in a Text command to create Text
  3522.             elements with in-line style changes. Each occurrence of
  3523.             the Append option creates a text segment. A text segment
  3524.             is also created by the string provided to the Text command
  3525.             itself. All text segments will be concatenated together in
  3526.             the same order as they appear in the Text command.
  3527.  
  3528.     Optional Parameters Supported by This Class:
  3529.  
  3530.         - Align(horizontal, vertical)
  3531.             This determines whether the element is positioned based on
  3532.             its X,Y values, or by the Background's size and margins.
  3533.             These tables describe the alignment values and their
  3534.             meanings:
  3535.  
  3536.             Horizontal  Description
  3537.             ----------  -----------
  3538.             None        The left edge of the element's face is
  3539.                         positioned relative to the left edge of the
  3540.                         background. The element's X value and the
  3541.                         cumulative effect of all applicable Offset
  3542.                         commands are used for positioning the element.
  3543.  
  3544.             Left        The left edge of the element's face is
  3545.                         positioned at the Background's left margin.
  3546.                         The element's X value and all applicable
  3547.                         Offset commands are ignored.
  3548.  
  3549.             Center      The vertical centerline of the element's face
  3550.                         is positioned midway between the Background's
  3551.                         left and right margins. The element's X value
  3552.                         and all applicable Offset commands are
  3553.                         ignored.
  3554.  
  3555.             Right       The right edge of the element's face is
  3556.                         positioned at the Background's right margin.
  3557.                         The element's X value and all applicable
  3558.                         Offset commands are ignored.
  3559.  
  3560.             Vertical    Description
  3561.             --------    -----------
  3562.             None        The top edge of the element's face is
  3563.                         positioned relative to the left edge of the
  3564.                         background. The element's Y value and the
  3565.                         cumulative effect of all applicable Offset
  3566.                         commands are used for positioning the element.
  3567.  
  3568.             Top         The top edge of the element's face is
  3569.                         positioned at the Background's top margin. The
  3570.                         element's Y value and all applicable Offset
  3571.                         commands are ignored.
  3572.  
  3573.             Middle      The horizontal centerline of the element's
  3574.                         face is positioned midway between the
  3575.                         Background's top and bottom margins. The
  3576.                         element's Y value and all applicable Offset
  3577.                         commands are ignored.
  3578.  
  3579.             Bottom      The bottom edge of the element's face is
  3580.                         positioned at the Background's bottom margin.
  3581.                         The element's Y value and all applicable
  3582.                         Offset commands are ignored.
  3583.  
  3584.             If this option is not specified, the element's alignment
  3585.             defaults to (None, None).
  3586.  
  3587.         - Antialias(state)
  3588.             This determines if the element is antialiased. The state
  3589.             defaults to off.
  3590.  
  3591.         - Backdrop(state, <fill options>)
  3592.             The appearance of the bounding box of the element behind
  3593.             the face and other style options applied to the element.
  3594.             The state defaults to off. <fill options> defaults to
  3595.             RGB($7f7f7f).
  3596.  
  3597.         - Bevel(state, Thickness(pixels), Base(color),
  3598.                 Left(<fill options>), Right(<fill options>),
  3599.                 Top(<fill options>), Bottom(<fill options>))
  3600.             A beveled edge added outside the element's bounding box.
  3601.             The state defaults to off. Thickness may be 1 or greater,
  3602.             and defaults to 2. Base is a hint to the authoring station
  3603.             to assist with choosing bevel colors, and is not used by
  3604.             the system otherwise. The Base color is specified as a
  3605.             4-byte hexadecimal number, where each byte encodes zero,
  3606.             red, green, and blue, from MSB to LSB. The bevel colors
  3607.             default to shades of grey.
  3608.  
  3609.         - Bold(state, Delta(value))
  3610.             Indicates whether the text should be bolder than normal.
  3611.             The state defaults to off. Text weight is calculated from
  3612.             1 (thin) to 12 (black). The Delta value may range from -11
  3613.             to 11, and defaults to 3. This gives the ability to use
  3614.             any weight within the supported range with any font. Note
  3615.             that the Delta value is relative to the font's nominal
  3616.             weight, not an absolute weight value. Note also that some
  3617.             fonts won't look different at each available Delta value,
  3618.             and that bitmap fonts cannot be made thinner than their
  3619.             nominal weight.
  3620.  
  3621.         - Border(left, right, top, bottom)
  3622.             Extra space added to the edges of the element, measured in
  3623.             pixels. This effectively extends the element's bounding
  3624.             box without affecting the position of the element's face
  3625.             or the size of its face image. The border values may be 0
  3626.             or greater, and all default to 0.
  3627.  
  3628.         - Face(state, <fill options>)
  3629.             The appearance of the face of the element. The state
  3630.             defaults to on. For images, <fill options> defaults to
  3631.             nothing. For other elements, <fill options> defaults to
  3632.             RGB($ffffff).
  3633.  
  3634.         - Focus(state, <fill options>)
  3635.             Highlight the face of the last-wiped-in element.
  3636.             When a new element gets wiped in, the face of this element
  3637.             reverts to its normal face appearance. If a group of
  3638.             elements are wiped in together, each element with this
  3639.             option specified will be highlighted. The state defaults
  3640.             to off. <fill options> defaults to RGB($ffff7f).
  3641.  
  3642.             It affects the face color of focus text only; it cannot
  3643.             be used to set the color of shadow or outline, nor can
  3644.             it be used to set the face color to transparent (in the
  3645.             way Face( Off, ... ) sets the face color to transparent.)
  3646.             The underline color will only change if, after evaluation,
  3647.             the face, focus, and underline color of every text segment
  3648.             are the same AND the face, focus, and underline state of
  3649.             every text segment are in the ON state, then the focus pen
  3650.             affects the underline color too.
  3651.  
  3652.         - Font(typeface, size)
  3653.             The typeface and size to be used for drawing the text.
  3654.  
  3655.         - Italic(state, Delta(value))
  3656.             Indicates whether the text should be more or less italic
  3657.             than normal (most fonts are normally upright). The state
  3658.             defaults to off. Text slant is calculated from -99 (full
  3659.             left slant) to 99 (full right slant). The Delta value may
  3660.             range from -198 to 198, and defaults to 32. This gives the
  3661.             ability to use any slant within the supported range with
  3662.             any font. Note that the Delta value is relative to the
  3663.             font's nominal slant, not an absolute slant value.
  3664.  
  3665.         - Justify(horizontal, vertical)
  3666.             The justification of the text within its bounding box (if
  3667.             any). Horizontal can be Left, Center, or Right, and
  3668.             defaults to Left. Vertical can be Top, Middle, or Bottom,
  3669.             and defaults to Top. This option has no effect if no Size
  3670.             option is specified, and there is only one line of text.
  3671.  
  3672.         - Kerning(state)
  3673.             Indicates whether or not the text is kerned. The state
  3674.             defaults to off.
  3675.  
  3676.         - Leading(pixels)
  3677.             Indicates the vertical distance between lines of text in a
  3678.             Text element. Pixels may be any positive or negative
  3679.             number, and defaults to 0. This represents the number of
  3680.             pixels of space added below the bottom of each line.
  3681.  
  3682.         - Outline(state, Thickness(pixels), <fill options>)
  3683.             A colored outline added to the element. The state defaults
  3684.             to off. Thickness may be 1 or greater, and defaults to 1.
  3685.             <fill options> defaults to RGB(0).
  3686.  
  3687.         - Replace(state)
  3688.             This determines whether an element command will create a
  3689.             new element or replace an existing element previously
  3690.             created by the same command. If the state is On, the
  3691.             element command will replace the previous element created
  3692.             by the same command. If the state is Off, a new element
  3693.             will be created, and any previous elements created by the
  3694.             same command will remain on the screen. This defaults to
  3695.             Replace(On).
  3696.  
  3697.         - Shadow(state, Offset(horizontal, vertical), <fill options>)
  3698.             A drop shadow drawn behind the element, drawn in a solid
  3699.             color. The state defaults to off. Either or both of the
  3700.             offsets can be positive or negative, and are measured in
  3701.             pixels. <fill options> defaults to RGB(0).
  3702.  
  3703.         - Shift(x, y)
  3704.             The amount the element's face, outline, and shadow are
  3705.             shifted from the specified element position. This is
  3706.             intended to be used for different button states to move
  3707.             the face without moving the backdrop or bevel. The offset
  3708.             values may be any numbers, and default to (0, 0).
  3709.  
  3710.         - Size(width, height)
  3711.             The horizontal and vertical dimensions of the bounding box
  3712.             for the Text element, measured in pixels. If Wrap is on,
  3713.             this will wrap text to fit the bounding box's width. If
  3714.             Wrap is off, text is clipped at the width of the bounding
  3715.             box. In both cases, text is clipped at the height of the
  3716.             bounding box.
  3717.  
  3718.         - Spacing(pixels)
  3719.             Indicates the intercharacter spacing of the text. Pixels
  3720.             may be any positive or negative number, and defaults to 0.
  3721.             This represents the number of pixels of space added to the
  3722.             right side of each character.
  3723.  
  3724.         - Tabs(Relative(state), Implicit(width), Explicit(tab, ...))
  3725.             A description of tab stops, relative to either the element
  3726.             or the background. If both Implicit and Explicit tabs are
  3727.             specified, explicit tabs are used first, and implicit tabs
  3728.             are used once the explicit tabs are used up.
  3729.  
  3730.             Relative(state) determines whether tabs are relative to
  3731.             the element or to the background. If TRUE, tabs are
  3732.             relative to the left edge of the element. Otherwise, tabs
  3733.             are relative to the left edge of the background. The
  3734.             Relative state defaults to FALSE.
  3735.  
  3736.             Implicit(width) set the distance between implied tab
  3737.             stops. This represents the number of pixels from each tab
  3738.             stop to the next. The width may be 1 or greater, and
  3739.             defaults to 50.
  3740.  
  3741.             Explicit(tab, ...) sets a list of one or more explicit tab
  3742.             stops. Each tab stop represents a number of pixels from
  3743.             the tab reference point, and may be 0 or greater. Any
  3744.             number of tab stops may be specified, but they must be
  3745.             listed in increasing order. There are no default Explicit
  3746.             tabs.
  3747.  
  3748.         - Transparent(state)
  3749.             Whether or not pen zero is transparent. The state defaults
  3750.             to off. If this is on, any portion of the foreground
  3751.             element drawn in pen zero will not be visible, but will
  3752.             show through to the image beneath this foreground element.
  3753.  
  3754.         - Under(state, Position(top), Thickness(height), Air(size),
  3755.                 <fill options>)
  3756.             The underline of the text, if any. The state defaults to
  3757.             off. Position is measured in pixels from the top of the
  3758.             underline to the baseline of the text, increasing
  3759.             downward, and defaults to 1. Thickness is the height of
  3760.             the underline measured in pixels, and defaults to 2. Air
  3761.             is the distance in pixels between the underline and the
  3762.             nearest text pixel, and defaults to 1.
  3763.  
  3764.         - Update(type)
  3765.             Whether or not the text element updates when the string
  3766.             parameter is an expression, and that expression changes
  3767.             value. The type can be one of None, Normal, or Extended,
  3768.             and defaults to Extended. If the string parameter is
  3769.             constant, this option has no effect.
  3770.  
  3771.         - Wipe(wipename, <wipe options>)
  3772.             A description of the wipe used for wiping in the element.
  3773.             If no wipe is specified, the "Cut" wipe is used.
  3774.  
  3775.         - Wrap(state)
  3776.             Whether or not the text element wraps at the edge of its
  3777.             bounding box. The state defaults to off. If no Size option
  3778.             is specified, this option is ignored.
  3779.  
  3780. Non-Element Commands
  3781. --------------------
  3782.  
  3783. These are descriptions of other commands supported by the Screen book
  3784. and related software. These commands do not create elements, but they
  3785. can affect elements that are displayed.
  3786.  
  3787. Offset():
  3788.  
  3789.     The Offset command, when used in the Group list of a Scala Script
  3790.     cluster, offsets the positions of all Foreground elements by the
  3791.     specified offset amount. If Offset commands are used in nested
  3792.     clusters, the net result of each Offset command is added together
  3793.     to determine the effective offset for Foreground elements in the
  3794.     most nested cluster. The effect of having an Offset command in a
  3795.     group list between several foreground elements is undefined.
  3796.  
  3797.     This command is useful when grouping related Foreground elements
  3798.     so the group can be moved around easily during authoring. The
  3799.     Offset command can be used for positioning the group, and
  3800.     Foreground elements within the group are positioned relative to
  3801.     the group's effective position, taking into account the offsets 
  3802.     of all nested groups.
  3803.  
  3804.     Required Parameters:
  3805.  
  3806.         - X
  3807.             The horizontal offset, relative to the left edge of the
  3808.             background.
  3809.  
  3810.         - Y
  3811.             The vertical offset, relative to the top edge of the
  3812.             background.
  3813.  
  3814. WipeOut():
  3815.  
  3816.     The WipeOut command wipes out an element that has been wiped in.
  3817.  
  3818.     WipeOut(elementname,
  3819.         [ Wipe(wipename, <wipe options>) ]
  3820.         );
  3821.  
  3822.     WipeOut() required parameters:
  3823.  
  3824.         - elementname
  3825.             The script label of the command that created the
  3826.             foreground element to be wiped out, or the label of a
  3827.             block containing at least one foreground element to be
  3828.             wiped out.
  3829.  
  3830.     Optional parameters:
  3831.  
  3832.         - Wipe(wipename, <wipe options>)
  3833.             A description of the wipe used for wiping out the element.
  3834.  
  3835. Option Groups
  3836. -------------
  3837.  
  3838. These are descriptions of the option groups that are used in several
  3839. different classes. Rather than repeat the descriptions for each class
  3840. that supports these options, this section describes them once.
  3841.  
  3842. <fill options>:
  3843.     There are several fill options, only one of which can be used at a
  3844.     time. If none of these options are used, the behaviour depends on
  3845.     the element.
  3846.  
  3847.     All fill options have a default Pen if there is a user palette,
  3848.     and a default RGB if there is no user palette.
  3849.  
  3850.         - Pen(pen)
  3851.             A pen used for filling the specified area.
  3852.  
  3853.         - RGB(color)
  3854.             A solid color used for filling the specified area. This
  3855.             is not used directly, but the closest matching pen from the
  3856.             current background's palette is used.
  3857.  
  3858.         - Tile(filename,
  3859.                 Justify(horizontal, vertical),
  3860.                 Offset(direction, amount),
  3861.                 <operation options>)
  3862.             (implemented only for Box, Display, and Foreground's Backdrop)
  3863.             Specifies an image to be tiled onto the specified area,
  3864.             and options describing how it is to be tiled.
  3865.  
  3866.             Filename specifies the name of the file containing the
  3867.             image data to be used. This image file may be a stretcher
  3868.             file or a standard bitmap file.
  3869.  
  3870.             Justify(horizontal, vertical) specifies how the image is
  3871.             justified when tiling.
  3872.  
  3873.             Offset(direction, amount) specifies the offset for the
  3874.             tiled image from one row (or column) to the next.
  3875.  
  3876.             <operation options> specifies the operations done before
  3877.             drawing this image.
  3878.  
  3879.         - Image(filename, <operation options>)
  3880.             (implemented only for Box, Display, and Foreground's Backdrop)
  3881.             Specifies an image to be drawn into the specified area.
  3882.             The image will be sized to fit the filled area, using an
  3883.             appropriate scaling method for the source image.
  3884.  
  3885.             Filename specifies the name of the file containing the
  3886.             image data to be used. This image file may be a stretcher
  3887.             file or a standard bitmap file.
  3888.  
  3889.             <operation options> specifies the operations done before
  3890.             drawing this image.
  3891.  
  3892. <operation options>:
  3893.     There are several operation options, which may be used in
  3894.     combination. The options specified are applied in this order:
  3895.  
  3896.         - Crop(left, top, width, height)
  3897.             A sub-part of the image to be displayed. By default, the
  3898.             image is not cropped and the entire source image is used.
  3899.  
  3900.         - Flip(horizontal, vertical)
  3901.             (vertical flip not implemented yet)
  3902.             Flip the source image in the horizontal and/or vertical
  3903.             direction before using it for drawing the element. This
  3904.             defaults to Flip(off, off).
  3905.  
  3906.         - Rotate(angle)
  3907.             Rotate the source image clockwise the specified angle
  3908.             before using it for drawing the element. The angle is
  3909.             specified in degrees clockwise from North, and is limited
  3910.             to the range 0 through 359, inclusive.
  3911.  
  3912.         - Resize(width, height)
  3913.             Scale the image, using absolute scaling.
  3914.  
  3915.             Width indicates the new width in pixels for the image.
  3916.             This may be 1 or greater, and defaults to the nominal
  3917.             width of the image.
  3918.  
  3919.             Height indicates the new height in pixels for the image.
  3920.             This may be 1 or greater, and defaults to the nominal
  3921.             height of the image.
  3922.  
  3923.         - ImagePalette(  <palette options> )
  3924.             Remap one or more pens in the source image to the pens
  3925.             from the current background's palette that most closely
  3926.             match the specified colors.
  3927.  
  3928.         - Dither(state, Auto(autostate))
  3929.             Use Floyd-Steinberg dithering to make the source image
  3930.             more closely match its original coloring using the current
  3931.             background's palette. This defaults to off.
  3932.  
  3933.             Auto(autostate) is used to tell the software to ignore the
  3934.             Dither state provided, and to determine the dither state
  3935.             based on whether the image is a true color image. If
  3936.             autostate is on and the image is a true color image, then
  3937.             the image will be dithered. If autostate is on and the
  3938.             image is not a true color image, the image will not be
  3939.             dithered. If autostate is off, then the supplied dither
  3940.             state will be used. Autostate defaults to off.
  3941.  
  3942.         - TransparentRGB(Color,TransparentDelta(Delta))
  3943.             This option allows you to choose a transparent color.
  3944.             The color should be given as a 32bit RGB number
  3945.             (like $7f7f7f). If TransparentDelta is specified,
  3946.             all the colors within the specified delta range from the
  3947.             main color will be transparent as well. Delta is unsigned.
  3948.  
  3949. <palette options>:
  3950.     There is one palette option, which may be repeated as many times
  3951.     as needed. If a Palette option is specified on a style command and
  3952.     an element command that references that style, both will be used
  3953.     in this way: first, the palette will be set from the style's
  3954.     Palette option, then from the element command's Palette option. If
  3955.     a pen is set more than once, the last color set for the pen will
  3956.     be used.
  3957.  
  3958.         - RGBPen(pen, color, ...)
  3959.             Set a specific pen to a specific color. Color is specified
  3960.             as a 3-byte hexadecimal number, where each byte encodes
  3961.             red, green, and blue, from MSB to LSB.
  3962.             Color may be repeated. If more than one color is
  3963.             specified, each color is assigned to the next consecutive pen,
  3964.             starting at the specified pen.
  3965.  
  3966. <wipe options>:
  3967.     These wipe options may be used in any combination. Some wipes may
  3968.     impose certain restrictions on the values of these options, and
  3969.     may ignore some other options altogether.
  3970.  
  3971.         - Speed(value)
  3972.             Indicates a subjective speed for the wipe. The value may
  3973.             range from 1 (slow) to 10 (fast) for most wipes, and
  3974.             defaults to 5. Some wipes may allow speeds outside the
  3975.             range 1-10. In all cases, the number chosen will be used
  3976.             as a guide for the Screen book to choose a wipe wpeed that
  3977.             results in a smooth wipe.
  3978.  
  3979.         - Direction(dir)
  3980.             Indicates the direction of travel for the wipe.
  3981.  
  3982.         - Flip(horizontal, vertical)
  3983.             Indicates whether the wipe is flipped horizontally and/or
  3984.             vertically. This defaults to Flip(off, off).
  3985.