"Personal Paint 7 - E. The Rexx Interface" E. The Rexx Interface Personal Paint has a powerful ARexx (Amiga Rexx) interface which allows the program to be controlled by macros as well as by third party software. All functions accessible from the tool bar, from the menus and from the settings files can be accessed via Rexx. In addition, Personal Paint includes Rexx command extensions that have no equivalent in the user interface (e.g. to create vector texts, to execute multiple brush transformations in a single step, to resize a brush to an exact size or to merge and reduce the palettes of an unlimited number of items). The name of the first Rexx port is "PPAINT". Additional ports are named "PPAINT_2", "PPAINT_3", etc. E.1 Input/Output Environment Personal Paint includes many commands to accept input and display output using the default Personal Paint screen and user interface. However, Rexx also has standard input and output commands (PULL and SAY) which are designed to work in text terminal mode (such as the Amiga Shell). If Personal Paint is run from the Shell, then the default Rexx input/output also occurs in the same Shell environment. It should be noted that in this case, running Personal Paint in deferred mode with "Run" or an equivalent command makes data input from the Shell impossible. If instead Personal Paint is launched from the Workbench, then a default console is assigned to the Rexx environment. If the Rexx program has an icon which includes a "CONSOLE=..." Tool Type, then that environment is used (if the AUTO switch is used, then the console window is opened only when necessary). For debugging purposes, it may be useful to combine Workbench execution with the "TCO" and "TCC" Shell commands to respectively activate and terminate the Global Tracing Console. E.2 Syntax conventions All Rexx commands are case-insensitive. Keywords can optionally be followed by the "=" sign if the assignment is not made inside quotes. For example, FILE="Ram Disk:Test" is the same as FILE "Ram Disk:Test" but "FILE=Ram Disk:Test" is parsed as a single argument (keywords within quotes are not recognized if there is other text within the quotes). The use of keywords is optional, unless the sequence of the arguments is changed, or the referenced argument is not predictable, as for example in: LoadImage FILE "Preview" PREVIEW Keywords are especially useful to specify only a few arguments, leaving the others as default: RequestResponse PROMPT "This is a message" whereas the same command with the arguments identified by their position would be: RequestResponse "Title" "This is a message" "Proceed" "Cancel" E.3 Parameters and Options In this documentations, the term "parameter" is used when a value (string or numerical) is passed to the Rexx command, whereas an "option" is a single keyword (such as QUIET), which activates a certain feature. For documentation purposes only, parameters and options are followed by a slash ("/") and by a capital letter to indicate the type of parameter, and are separated by commas. This format is often referred to as "command templates". However, the slash/letter combinations and the commas are not part of the Rexx commands. The template specifications described here are identical to the standard templates used in AmigaDOS commands. /A The parameter must Always be included in order for the Rexx command to work.