@database "AE_Rexx.guide"
@author "Eike Michael Lang"
@remark "$VER: AE_Rexx Guide 1.0 (2. April 1997)"
@remark "Created with GoldED 4.6.0 (28.3.97)"
@index index

@node MAIN "Übersicht"

Dear Users,

this new version of ArtEffect now features a full-fledged ARexx port that
allows you to automatize frequently performed tasks.

This manual assumes that you are proficient in the operation of your Amiga and
know at least the basics about programming in ARexx.

Please note that at times it is very hard to accurately describe the effect of
a certain command - if you are not sure what a given command does, just try it
with different parmameters or take a look at the supplied example scripts.

Here is a complete list and a short description of every ARexx-command
ArtEffect offers.  The commands are sorted by their internal numbers, but you
can find an alphabetical list in the index.


    @{"REQUESTFILE      " link requestfile} Opens a filerequester
    @{"REQUESTNOTIFY    " link requestnotify} Opens a notification-requester
    @{"REQUESTNUMBER    " link Requestnumber} Opens a number-requester
    @{"REQUESTRESPONSE  " link requestresponse} Opens a multiple-choice requester
    @{"REQUESTSTRING    " link requeststring} Opens a stringrequester

    @{"CREATEBRUSH      " link createbrush} Creates a new brush
    @{"BRUSHATTR        " link brushattr} Changes the current brushsettings

    @{"SETCOLOR         " link setcolor} Chooses a new fore-/background color

    @{"OPENWINDOW       " link openwindow} Opens an ArtEffect window
    @{"CLOSEWINDOW      " link closewindow} Closes an ArtEffect window

    @{"PALETTE          " link palette} Sets a range for gradient fills

    @{"LOCKGUI          " link lockgui} Locks the GUI
    @{"UNLOCKGUI        " link unlockgui} Unlocks the GUI

    @{"NEW              " link new} Creates a new project

    @{"LAYER            " link layer} Assorted Layer-Operations

    @{"CROPPIC          " link croppic} Crop an image
    @{"SCALEPIC         " link scalepic} Scale an image
    @{"SCALECANVAS      " link scalecanvas} Scale the working area

    @{"UNDO             " link undo} Undos the last step
    @{"REDO             " link redo} Redos the last undo-step

    @{"ERASEPIC         " link erasepic} Erase the current layer
    @{"CLOSEPIC         " link closepic} Closes the current project

    @{"STENCIL          " link stencil} Assorted stencil-operations

    @{"CHANGEBRUSH      " link changebrush} manipulation of the current brush

    @{"POLYGON          " link polygon} Paints a polygon
    @{"LINE             " link line} Paints a line
    @{"PLOT             " link plot} Paints a "dot"
    @{"CURVE            " link curve} Paints a curve
    @{"ELLIPSE          " link ellipse} Paints an ellipse
    @{"CIRCLE           " link circle} Paints a circle
    @{"RECTANGLE        " link rectangle} Paints a rectangle
    @{"FLOOD            " link flood} Fills an area

    @{"GET              " link GET} Returns the size of the current picture or brush
    @{"PICKCOLOR        " link pickcolor} Return the color-value of a pixel
    @{"TEXT             " link text} Write a text on the picture

    @{"DOMETHOD         " link domethod} Execute a plugin
    @{"LOADPIC          " link loadpic} Load an image
    @{"LOADBRUSH        " link loadbrush} Load a bitmap-brush
    @{"SAVEPIC          " link savepic} Save an image
    @{"SAVEBRUSH        " link savebrush} Save a bitmap-brush

    @{"HELP             " link help} Gives help on commands/plugins
    @{"VERSION          " link version} Returns current program version
@endnode

@node REQUESTFILE "REQUESTFILE"

@{b}@{u}REQUESTFILE@{uu}@{ub}

@{i}Synopsis@{ui}
    Opens a filerequester and returns the full pathname of the selected file
    or directory.

@{i}Parameters Template@{ui}
    VAR/K, STEM/K, TITLE/K, PATH/K, FILE/K, PATTERN/K, DIRONLY=DIR/S, SAVE/S

@{i}Return Template@{ui}
    FILE

@{i}Parameters@{ui}
    VAR/K
        The variable to store the pathname of the selected file or directory in.

    STEM/K
        a stem-variable that will have the full pathname of the selected file
        or directory stored in its FILE extension.

    TITLE/K
        The string you want to appear in the titlebar of the requester.

    PATH/K
        the default path for the requester.

    FILE/K
        the default filename for the requester.

    PATTERN/K
        accepts a standard-AmigaDOS search pattern - only files matching the
        pattern will be displayed in the requester.

    DIRONLY=DIR/
        no files are shown, only directorys.

    SAVE/S
        the requester is opened as a "Save"-Requester - it has a black
        background and cannot be left by double-clicking on a filename.

@{i}Returns@{ui}
    Depending on which Parameters you specified, you will find the full
    pathname of the selected file either in the variable you specified with
    the VAR parameter or in the file extension of the specified stem-variable,
    e.g in @{b}picture.file@{ub} if you specified @{b}STEM picture.@{ub}

    If you quit the requester by clicking on "Cancel" or on the close-gadget,
    REQUESTFILE will return an error code of 10.

    If neither VAR nor STEM were specified, the resulting pathname can be
    found in the RESULT-variable provided by ARexx.

@{i}Examples@{ui}

        REQUESTFILE STEM test. TITLE '"choose a file"'

    Opens a filerequester that shows the content of the current directory
    (i.e. the one ArtEffect was started from).  The name of the selected file
    can then be found in the variable @{b}test.file@{ub}

        REQUESTFILE TITLE '"choose a directory"' PATH "RAM:t/" DIRONLY

    Opens a filerequester that displays all directories in RAM:t/, the name
    of the selected directory will be stored in the RESULT variable.

@{i}See also...@{ui}
    @{"REQUESTNOTIFY" link REQUESTNOTIFY}, @{"REQUESTNUMBER" link REQUESTNUMBER}, @{"REQUESTRESPONSE" link REQUESTRESPONSE}, @{"REQUESTSTRING" link REQUESTSTRING}
@endnode
@node REQUESTNOTIFY "REQUESTNOTIFY"

@{b}@{u}REQUESTNOTIFY@{uu}@{ub}

@{i}Synopsis@{ui}
    Opens a notify-requester that outputs a text of your choice and that
    has one button to close it.

@{i}Parameters Template@{ui}
        TITLE/K, OK/K, PROMPT/A/F

@{i}Parameters@{ui}
        TITLE/K
            a string that will appear in the title bar of the requester.

        OK/K
            a string for the button that is used to close the requester.

        PROMPT/A/F
            a string that contains the actual message to the user.

@{i}Examples@{ui}

        REQUESTNOTIFY TITLE "Greetings" OK '"I see"' PROMPT "Hello World"

    Opens a requester that is titled "Greetings", tells the user "Hello World"
    and can be acknowledged and closed by clicking on the "I see" button.

@{i}See also...@{ui}
    @{"REQUESTFILE" link REQUESTFILE}, @{"REQUESTNUMBER" link REQUESTNUMBER}, @{"REQUESTRESPONSE" link REQUESTRESPONSE}, @{"REQUESTSTRING" link REQUESTSTRING}
@endnode
@node REQUESTNUMBER "REQUESTNUMBER"

@{b}@{u}REQUESTNUMBER@{uu}@{ub}

@{i}Synopsis@{ui}
    Opens a requester that contains an integer-gadget and a slider to
    enter a number.

@{i}Parameters Template@{ui}
        VAR/K, STEM/K, TITLE/K, DEF/K/N, MIN/K/N, MAX/K/N, UNIT/A/K, PROMPT/A/F

@{i}Return Template@{ui}
    NUMBER/N

@{i}Parameters@{ui}
    VAR/K
        the name of the variable to store the chosen number in.

    STEM/K
        the name of the stem-variable that have the chosen number stored in
        its NUMBER extension.

    TITLE/K
        a string that will appear in the titlebar of the requester.

    DEF/K/N
        a number that will appear in the requester as default value.

    MIN/K/N
        the minimum value for the number the requester will accept.

    MAX/K/N
        the maximum value for the number the requester will accept.

    UNIT/A/K
        a string that contains the desired unit for the input, e.g. "%",
        "pixels", etc.

    PROMPT/A/F
        a string that contains the user prompt for the requester.

@{i}Returns@{ui}
    If the VAR-parameter was specified, this variable will contain the chosen
    number.  If STEM was specified, the number extension will contain the
    number - in the case of @{b}STEM value.@{ub} that would be @{b}value.number@{ub}

    If neither STEM nor VAR were specified, the number will be contained in
    the ARexx-variable RESULT.

@{i}Example:@{ui}

        REQUESTNUMBER VAR zahl TITLE '"Input"' MIN 1 MAX 100 UNIT "%" PROMPT "Ratio"

    Opens a number-requester titled "Input" that contains a slider and an
    integer-gadget.  Values from 1 to 100 are permitted and will be marked as
    being percent-values.

@{i}See also...@{ui}
    @{"REQUESTFILE" link REQUESTFILE}, @{"REQUESTNOTIFY" link REQUESTNOTIFY}, @{"REQUESTRESPONSE" link REQUESTRESPONSE}, @{"REQUESTSTRING" link REQUESTSTRING}
@endnode
@node REQUESTRESPONSE "REQUESTRESPONSE"

@{b}@{u}REQUESTRESPONSE@{uu}@{ub}

@{i}Synopsis@{ui}
    Opens a multiple-choice requester.

@{i}Parameters Template@{ui}
    VAR/K, STEM/K, TITLE/K, PROMPT/A/K, OPTIONS/F

@{i}Return Template@{ui}
    OPTION/N

@{i}Parameters@{ui}
    VAR/K
        the variable to store the number of the selected button in.

    STEM/K
        the stem-variable that will have the number of the selected button
        stored in its OPTION extension.

    TITLE/K
        a string for the titlebar of the requester.

    PROMPT/A/K
        a string that contains the user prompt.

    OPTIONS/F
        a string that contains the names of the different buttons - just
        separate the name of each button by using a vertical bar "|"

@{i}Returns@{ui}
    If the VAR parameter was specified, the named variable will contain the
    number of the selected button - the leftmost button has the number zero,
    and the numbers increase from left to right.
    If the STEM parameter was specified, the number of the selected button
    will be contained in its option extension, e.g. in @{b}button.option@{ub} in the
    case of @{b}STEM button.@{ub}

    If neither VAR nor STEM are specified, the number of the selected button
    can be found in the RESULT variable.

@{i}Example:@{ui}

        REQUESTRESPONSE VAR knopf TITLE '"Safety Request"' PROMPT "Continue?",
            OPTIONS "Yes|No|Maybe"

        SAY "You chose button No. " knopf

@{i}See also...@{ui}
    @{"REQUESTFILE" link REQUESTFILE}, @{"REQUESTNOTIFY" link REQUESTNOTIFY}, @{"REQUESTNUMBER" link REQUESTNUMBER}, @{"REQUESTSTRING" link REQUESTSTRING}
@endnode
@node REQUESTSTRING "REQUESTSTRING"

@{b}@{u}REQUESTSTRING@{uu}@{ub}

@{i}Synopsis@{ui}
    Opens a string-requester.

@{i}Parameters Template@{ui}
    VAR/K, STEM/K, TITLE/K, DEF/K, MAXLEN/K/N, PROMPT/A/F

@{i}Return Template@{ui}
    STRING

@{i}Parameters@{ui}
    VAR/K
        the name of the variable to store the entered string in.

    STEM/K
        the name of the stem-variable that will have the string stored in its
        STRING extension.

    TITLE/K
        a string that holds the title for the requester.

    DEF/K
        a string that contains the default string for the requester.

     MAXLEN/K/N
        the maximum lenght that is permissible for the string to be entered.

     PROMPT/A/F
        The user prompt for the requester.

@{i}Returns@{ui}
    If the VAR parameter was specified, the named variable will contain the
    string that was entered.
    If STEM was specified the string can be found in the string extension of
    the stem-variable, e.g. @{b}value.string@{ub} in case of @{b}STEM value.@{ub}

    If neither VAR nor STEM were specified, the string will be contained in
    the RESULT variable.

@{i}Example@{ui}

        REQUESTSTRING VAR text TITLE "Text-Input" DEF '"Your Text"' PROMPT '"Please enter some text"'
        SAY "You entered:" text

    Opens a string-requester and then outputs what you entered.

@{i}See also...@{ui}
    @{"REQUESTFILE" link REQUESTFILE}, @{"REQUESTNOTIFY" link REQUESTNOTIFY}, @{"REQUESTNUMBER" link REQUESTNUMBER}, @{"REQUESTRESPONSE" link REQUESTRESPONSE}
@endnode
@node CREATEBRUSH "CREATEBRUSH"

@{b}@{u}CREATEBRUSH@{uu}@{ub}

@{i}Synopsis@{ui}
    creates a new brush

@{i}Parameters Template@{ui}
    FROMPICTURE=FP/S, ELLIPTIC=EL/S, RECTANGULAR=REC/S, SIZE/K/N, PROP/K/N
    ANGLE/K/N

@{i}Parameters@{ui}
    FROMPICTURE=FP/S
        uses the current picture as an image-brush, all other parameters are
        then ignored.

    ELLIPTIC=EL/S
        generates an elliptic brush, EL and REC are mutually exclusive.

    RECTANGULAR=REC/S
        generates a rectangular brush, EL and REC are mutually exclusive.

    SIZE/K/N
        the size for the brush.

    PROP/K/N
        the aspect ratio of the brush.

    ANGLE/K/N
        the angle of the brush.

@{i}Hinweis:@{ui}
    the effects caused by this command are identical to those achvievalbe
    through the appropriate controls of the brushmanager.

@{i}Example@{ui}

        CREATEBRUSH EL SIZE 100 PROP 50 ANGLE 45

    Creates an elliptic brush that has a size of 100, is twice as high as it
    is wide and is angled 45 degrees.

@{i}See also...@{ui}
    @{"BRUSHATTR" link BRUSHATTR}, @{"CHANGEBRUSH" link CHANGEBRUSH}
@endnode
@node BRUSHATTR "BRUSHATTR"

@{b}@{u}BRUSHATTR@{uu}@{ub}

@{i}Synopsis@{ui}
    changes the parameters of the current brush, which means its density,
    intensity and roughness.

@{i}Parameters Template@{ui}
    OPTION/A, ENTRIES/F/A

@{i}Parameters@{ui}
    OPTION/A
        Determines which Parameter is changed:

            INTENSITY

            DENSITY

            ROUGHNESS

    ENTRIES/F/A
        A field of 128 entries that must be separated by commas - these
        entries determine the shape of the curve for the selected parameter.
        This command is best understood by looking at the changes it causes
        in the brush-editor.
        As entering 128 values by hand is quite a task, you should generate
        the field through an ARexx-function - see the supplied scripts for
        an example.

@{i}See also...@{ui}
    @{"CREATEBRUSH" link CREATEBRUSH}, @{"CHANGEBRUSH" link CHANGEBRUSH}
@endnode
@node SETCOLOR "SETCOLOR"

@{b}@{u}SETCOLOR@{uu}@{ub}

@{i}Synopsis@{ui}
    Changes the current fore- or background color.

@{i}Parameters Template@{ui}
    R/A/N, G/A/N, B/A/N, REGISTER=REG/K/N, BACKGROUND=BG/S

@{i}Parameters@{ui}
    R/A/N
        specifies the desired amount of red in the color (0-255).

    G/A/N
        specifies the desired amount of green in the color (0-255).

    B/A/N
        specifies the desired amount of blue in the color (0-255).

    REGISTER=REG/K/N
        specifies in which register of the color-manager the resulting color
        should be stored - the first (upper left) register has the number @{b}zero@{ub}.

    BACKGROUND=BG/S
        the background color is changed instead of the foreground color.

@{i}Examples:@{ui}

        SETCOLOR R 255 G 0 B 0

    Sets the foreground color to "red".

        SETCOLOR R 0 G 255 B 0 REG 11 BG

    Changes the current background color and the @{b}twelfth@{ub} color register to
    "green".

@{i}See also...@{ui}
    @{"PALETTE" link PALETTE}
@endnode
@node OPENWINDOW "OPENWINDOW"

@{b}@{u}OPENWINDOW@{uu}@{ub}

@{i}Synopsis@{ui}
    Opens one of ArtEffect's windows.

@{i}Parameters Template@{ui}
    WINDOW/A/F

@{i}Parameters@{ui}
    WINDOW/A/F
        Specifies the window to open,
        possible values are:

        TOOLBOX

        TOOLSETTINGS

        COLORMANAGER

        BRUSHMANAGER

        BRUSHSETTINGS

        LAYERMANAGER

        INFO (coordinate-window)

        GRID

@{i}See also...@{ui}
    @{"CLOSEWINDOW" link CLOSEWINDOW}
@endnode
@node CLOSEWINDOW "CLOSEWINDWOW"

@{b}@{u}CLOSEWINDOW@{uu}@{ub}

@{i}Synopsis@{ui}
    Closes (one) ArtEffect window(s).

@{i}Parameters Template@{ui}
    PLUGINS/S, WINDOW=WIN/K/F

@{i}Parameters@{ui}
    PLUGINS/S
        all currently open plugin-windows are closed.

    WINDOW=WIN/K/F
        Name of the window to close,
        possible values are:

        TOOLBOX

        TOOLSETTINGS

        COLORMANAGER

        BRUSHMANAGER

        BRUSHSETTINGS

        LAYERMANAGER

        INFO (coordinate-window)

        GRID

@{i}See also...@{ui}
    @{"OPENWINDOW" link CLOSEWINDOW}
@endnode
@node PALETTE "PALETTE"

@{b}@{u}PALETTE@{uu}@{ub}

@{i}Synopsis@{ui}
    Sets a range that is to be used for gradient-fills - this has the same
    effect as if you manually select a range in the colormanager.

@{i}Parameters Template@{ui}
    RANGESTART=RS/K/N, RANGEEND=RE/K/N

@{i}Parameters@{ui}
    RANGESTART=RS/K/N
        The number of the color-register that is the first color of the range.
        The first (top left) register has the number @{b}zero@{ub}.

    RANGEEND=RE/K/N
        The number of the color-register that is the last color of the range.
        The first (top left) register has the number @{b}zero@{ub}.

@{i}Example@{ui}

        PALETTE RS 0 RE 25

    Defines a range from the first to the 26th color-register.

@{i}See also...@{ui}
    @{"SETCOLOR" link SETCOLOR}
@endnode
@node LOCKGUI "LOCKGUI"

@{b}@{u}LOCKGUI@{uu}@{ub}

@{i}Synopsis@{ui}
    This command completely locks ArtEffect's GUI to keep users from
    interfering with ARexx-scripts.

@{i}Parameters Template@{ui}
    none

@{i}See also...@{ui}
    @{"UNLOCKGUI" link unlockgui}
@endnode
@node UNLOCKGUI "UNLOCKGUI"

@{b}@{u}UNLOCKGUI@{uu}@{ub}

@{i}Synopsis@{ui}
    Unlocks the GUI of ArtEffect - you MUST put this command at the end of
    every  script that locked the GUI.

@{i}Parameters Template@{ui}
    none

@{i}See also...@{ui}
    @{"LOCKGUI" link lockgui}
@endnode
@node NEW "NEW"

@{b}@{u}NEW@{uu}@{ub}

@{i}Synopsis@{ui}
    Opens a new project-window with the desired parameters.

@{i}Parameters Template@{ui}
    WIDTH=W/K/N, HEIGHT=H/K/N, XDPI/K/N, YDPI/K/N, FILL/K, NAME/K/F,
    FROMBRUSH/S, DUPLICATE/S

@{i}Parameters@{ui}
    WIDTH=W/K/N
        The desired width (in pixels) for the new project.

    HEIGHT=H/K/N
        The desired height (in pixels) for the new project.

    XDPI/K/N
        The desired X-resolution in DPI.

    YDPI/K/N
        The desired Y-resolution in DPI.

    FILL/K
        Specifies the background for the new project, possible values are:

            BLACK, WHITE, BACKGROUND, TRANSPARENT

    NAME/K/F
        Specifies a name for the new project.

    FROMBRUSH/S
        The newly opened project-window will contain the current brush as an
        image - if FROMBRUSH is specified, all other parameters will be
        ignored.

    DUPLICATE/S
        The newly opened project will contain a duplicate of the currently
        active picture - if this switch is specified, all other parameters
        will be ignored.

@{i}Example@{ui}

        NEW W 320 H 240 XDPI 80 YDPI 80 FILL TRANSPARENT NAME "New Project"

    Generates a new project of 320x240 pixels size, it has a transparent
    background, is named "New Project" and has a resolution of 80x80 DPI.
@endnode
@node LAYER "LAYER"

@{b}@{u}LAYER@{uu}@{ub}

@{i}Synopsis@{ui}
    This commands allows generating, deleting and changing of layers.

@{i}Parameters Template@{ui}
    VAR/K, STEM/K, APPEND/S, REMOVE=REM/S, ACTIVATE=A/K/N, MERGEWITH=MW/K/N,
    MOVETO=MOV/K/N, OPACITY=OP/K/N, SHOW/K/N, HIDE/K/N, NAME/K

@{i}Return Template@{ui}
    ACTIVE/N, NUMBER/N

@{i}Parameters@{ui}
    VAR/K
        name of the variable to store the number of the active layer and
        the total amount of layers in - the two value are separated by a
        blank.

    STEM/K
        name of the stem-variable that will have the number of the active
        layer storen in its @{b}active@{ub} extension and the total amount of layers
        in its @{b}number@{ub} extension.

    APPEND/S
        Adds a new layer to the end of the list.

    REMOVE=REM/S
        Deletes the active layer.

    ACTIVATE=A/K/N
        Activates the layer that has the specified number - layers are counted
        from top to bottom.

    MERGEWITH=MW/K/N
        Merges the current layer and the layer with the specified number into
        one - just the same as if you dragged the current layer on top of the
        other.

    MOVETO=MOV/K/N
        Moves the active layer to the desired position in the list.

    OPACITY=OP/K/N
        Sets the current layer's opacity to the specified value.

    SHOW/K/N
        Shows the layer with the specified number.

    HIDE/K/N
        Hides the layer with the specified number.

    NAME/K
        Sets a new name for the active layer.
@endnode
@node CROPPIC "CROPPIC"

@{b}@{u}CROPPIC@{uu}@{ub}

@{i}Synopsis@{ui}
    Crops the specified area of the current image.

@{i}Parameters Template@{ui}
    X1/A/N, Y1/A/N, X2/A/N, Y2/A/N

@{i}Parameters@{ui}
    X1/N/A
        X-coordiante of the top left corner of the area to crop.

    Y1/N/A
        Y-coordiante of the top left corner of the area to crop.

    X2/N/A
        X-coordiante of the bottom right corner of the area to crop.

    Y2/N/A
        Y-coordiante of the bottom right corner of the area to crop.

@{i}See also...@{ui}
    @{"SCALEPIC" link SCALEPIC}
@endnode
@node SCALEPIC "SCALEPIC"

@{b}@{u}SCALEPIC@{uu}@{ub}

@{i}Synopsis@{ui}
    Scales the current image to either a certain size or by a certain
    percentage.

@{i}Parameters Template@{ui}
    NEWWIDTH/A/N, NEWHEIGHT/A/N, PERCENT/S

@{i}Parameters@{ui}
    NEWWIDTH/A/N
        Specifies the new width (in pixels) for the picture.

    NEWHEIGHT/A/N
        Specifies the new height (in pixels) for the picture.

    PERCENT/S
        If this swith is set, the values for NEWWIDTH and NEWHEIGHT are not
        interpreted as absolute pixel-values, but as a "scale by"-percentage.

@{i}Examples@{ui}

        "SCALEPIC NEWWDITH 150 NEWHEIGHT 80"

    Scales the current picture to a size of 150x80 pixels.

        "SCALEPIC NEWWIDTH 50 NEWHEIGHT 50 PERCENT"

    Scales the current picture to half X- and Y-size.

@{i}See also...@{ui}
    @{"CROPPIC" link CROPPIC}, @{"SCALECANVAS" link SCALECANVAS}
@endnode
@node SCALECANVAS "SCALECANVAS"

@{b}@{u}SCALECANVAS@{uu}@{ub}

@{i}Synopsis@{ui}
    Scales your canvas to either a certain size or by a certain percentage.

@{i}Parameters Template@{ui}
    NEWWDITH/A/N, NEWHEIGHT/A/N, PERCENT/S, XOFF/K/N, YOFF/K/N, RELRIGHT/S,
    RELBOTTOM/S

@{i}Parameters@{ui}
    NEWWIDTH/A/N
        Specifies the new width (in pixels) for the canvas.

    NEWHEIGHT/A/N
        Specifies the new height (in pixels) for the canvas.

    PERCENT/S
        If this swith is set, the values for NEWWIDTH and NEWHEIGHT are not
        interpreted as absolute pixel-values, but as a "scale by"-percentage.

    XOFF/K/N
        specifies the X-offset of the picture from the left border of the
        project-window.

    YOFF/K/N
        specifies the Y-offset of the picture from the top border of the
        project-window.

    RELRIGHT/S
        tells ArtEffect to count XOFF from the @{b}right@{ub} border rather than the left.

    RELBOTTOM/ß
        tells ArtEffect to count YOFF from the @{b}bottom@{ub} border rather than the top.

@{i}See also...@{ui}
    @{"SCALEPIC" link SCALEPIC}
@endnode
@node UNDO "UNDO"

@{b}@{u}UNDO@{uu}@{ub}

@{i}Synopsis@{ui}
    this command has the same effect as clicking on the undo-icon.

@{i}Parameters Template@{ui}
    none

@{i}See also...@{ui}
    @{"REDO" link redo}
@endnode
@node REDO "REDO"

@{b}@{u}REDO@{uu}@{ub}

@{i}Synopsis@{ui}
    this command has the same effect as clicking on the redo-icon.

@{i}Parameters Template@{ui}
    none

@{i}See also...@{ui}
    @{"UNDO" link undo}
@endnode
@node ERASEPIC "ERASEPIC"

@{b}@{u}ERASEPIC@{uu}@{ub}

@{i}Synopsis@{ui}
    Makes the current layer comletely transparent - if no layers are used, the
    active picture is filled with the current background color.

@{i}Parameters Template@{ui}
    none
@endnode
@node CLOSEPIC "CLOSEPIC"

@{b}@{u}CLOSEPIC@{uu}@{ub}

@{i}Synopsis@{ui}
    Closes either the current or all project-windows.

@{i}Parameters Template@{ui}
    FORCE/S, ALL/S

@{i}Parameters@{ui}
    FORCE/S
        Closes the project(s) without asking the user's permission first.

    ALL/S
        Not only the current, but all project windows are closed.
@endnode
@node STENCIL "STENCIL"

@{b}@{u}STENCIL@{uu}@{ub}

@{i}Synopsis@{ui}
    Allows manipulating the stencil.

@{i}Parameters Template@{ui}
    LOAD/K, LOADPAPER=LPAPER/K, SAVE/K, ALL/S, NONE/S, INVERT/S, FEATHER/K/N,
    BORDER/K/N, GROW/K/N, SHRINK/K/N, RIP/K/N

@{i}Parameters@{ui}
    LOAD/K
        complete pathname of the stencil to load.

    LOADPAPER=LPAPER/K
        complete pathname of the paper to load.

    SAVE/K
        complete pathname to save the current stencil under.

    ALL/S
        the entire project becomes masked.

    NONE/S
        the entrie project becomes unmasked.

    INVERT/S
        the stencil is inverted.

    FEATHER/K/N
        feathers the border of the mask - the specified amount of pixels is
        taken into account for this operation.

    BORDER/K/N
        puts a border of the specified size around the current stencil - only
        this border is then the new stencil.

    GROW/K/N
        grows the stencil by the specified amount of pixels in every direction.

    SHRINK/K/N
        shrinks the stencil by the specified amount of pixels in every direction.

    RIP/K/N
        @{b}r@{ub}emoves @{b}i@{ub}solated @{b}p@{ub}ixels from the mask with
        the specified value determining the maximum size of an area to be
        counted as an "isolated pixel".
@endnode
@node GET "GET"

@{b}@{u}GET@{uu}@{ub}

@{i}Synopsis@{ui}
    Returns the width and height of the current picture or brush.

@{i}Parameters Template@{ui}
    VAR/K, STEM/K, PICTUREINFO=PI/S, BRUSHINFO=BI/S

@{i}Return Template@{ui}
    WIDTH/N, HEIGHT/N

@{i}Parameters@{ui}
    VAR/K
        the name of the variable to store the width and height of the
        picture/brush in (the valuesa are then separated by a blank).

    STEM/K
        the name of the stem-variable that will have the width of the
        picture/brush stored in its @{b}width@{ub} extension and the height in
        its @{b}height@{ub} extension respectively.

    PICTUREINFO=PI/S
        the height/width of the current picture is returned.

    BRUSHINFO=BI/S
        the height/width of the current brush is returned.

@{i}Returns@{ui}
    If VAR was specified, the named variable contains the width and height (in
    this order) of the current brush/picture separated by a blank.
    If STEM was specified, the width and height can be found in the @{b}width@{ub} and
    @{b}height@{ub} extensions of the stem-variable.

    If neither VAR nor STEM are specified, the width and height can be found
    in the RESULT variable.
@endnode
@node CHANGEBRUSH "CHANGEBRUSH"

@{b}@{u}CHANGEBRUSH@{uu}@{ub}

@{i}Synopsis@{ui}
    Allows modifications to the current bitmap-brush.

@{i}Parameters Template@{ui}
    FLIPHORIZONTAL=FH/S, FLIPVERTICAL=FV/S, ROTATE=ROT/K/N, SCALEWIDTH=SW/K/N,
    SCALEHEIGHT=SH/K/N, PERCENT=P/S, TRIM/S, OUTLINE/S, FEATHER/K/N, HANDLE/K

@{i}Parameters@{ui}
    FLIPHORIZONTAL=FH/S
        Flips the brush along its X-axis.

    FLIPVERTICAL=FV/S
        Flips the brush along its Y-axis.

    ROTATE=ROT/K/N
        rotates the brush by the given angle - positive values result in a
        clockwise turn, negative ones in a counter-clockwise turn.

    SCALEWIDTH=SW/K/N
        Specifies a new width (in pixels) for the brush to be scaled to.

    SCALEHEIGHT=SH/K/N
        Specifies a new height (in pixels) for the brush to be scaled to.

    PERCENT=P/S
        If this switch is set, the values given for SCALEWIDTH and SCALEHEIGHT
        will be interpreted as percentages rather than as absolute values.

    TRIM/S
        This switch has the same effect as the menu item @{b}Brush/Border/Trim@{ub}.

    OUTLINE/S
        This switch has the same effect as the menu item @{b}Brush/Border/Outline@{ub}.

    FEATHER/K/N
        This Parameter has the same effect as calling the menu item
        @{b}Brush/Border/Smooth@{ub} - the only difference is that you have to directly
        specify a value instead of choosing it in a requester.

    HANDLE/K
        This Parameter lets you choose the brushhandle:

        TOPLEFT, TOPRIGHT, BOTTOMLEFT, BOTTOMRIGH and CENTER

@{i}See also...@{ui}
    @{"BRUSHATTR" link BRUSHATTR}, @{"CREATEBRUSH" link CREATEBRUSH}
@endnode
@node POLYGON "POLYGON"

@{b}@{u}POLYGON@{uu}@{ub}

@{i}Synopsis@{ui}
    Paints a polygon.

@{i}Parameters Template@{ui}
    GRADIENT/K, PAINTTOOL=PT/K, MODE/K, STRENGTH=STR/K, POINTARRAY/A/F

@{i}Parameters@{ui}
    GRADIENT/K
        The object is painted with a gradient-fill, look @{"here" link gradient} for a complete
        list of all gradient-related parameters.

    PAINTTOOL=PT/K
        the painttool to use for the command - look @{"here" link toollist} for a complete list
        of all available tools.

    MODE/K
        chooses the desired paintmode - look @{"here" link modelist} for a complete list

    STRENGTH=STR/K
        sets the desired opacity (0...100)

    POINTARRAY/A/F
        a list of coordinate-pairs that describe the edge-points of the
        polygon - just separate all the numbers with blank and make sure to
        use an even number of values.

@{i}Example:@{ui}

        POLYGON PT AIRBRUSH MODE COLOR STR 75 POINTARRAY 0 0 0 90 120 90

    Paints a right-angled triangle in the current foreground color using the
    airbrush at an opacity of 75.
@endnode
@node LINE "LINE"

@{b}@{u}LINE@{uu}@{ub}

@{i}Synopsis@{ui}
    Paints a straight line.

@{i}Parameters Template@{ui}
    X1/N/A, Y1/N/A, X2/N/A, Y2/N/A, PAINTTOOL=PT/K, MODE/K, STRENGTH=STR/K/N

@{i}Parameters@{ui}
    X1/N/A
        The X-coordinate for the beginning of the line.

    Y1/N/A
        The Y-coordinate for the beginning of the line.

    X2/N/A
        The X-coordinate for the end of the line.

    Y2/N/A
        The Y-coordinate for the end of the line.

    PAINTTOOL=PT/K
        the painttool to use for the command - look @{"here" link toollist} for a complete list
        of all available tools.

    MODE/K
        chooses the desired paintmode - look @{"here" link modelist} for a complete list

    STRENGTH=STR/K
        sets the desired opacity (0...100)
@endnode
@node PLOT "PLOT"

@{b}@{u}PLOT@{uu}@{ub}

@{i}Synopsis@{ui}
    Paints a "dot".  This means that the current brush is placed on the canvas
    once at the specified position.

@{i}Parameters Template@{ui}
    X1/N/A, Y1/N/A, PAINTTOOL=PT/K, MODE/K, STRENGTH=STR/K/N

@{i}Parameters@{ui}
    X1/N/A
        the X-coordinate for the dot.

    Y1/N/A
        the Y-coordinate for the dot.

    PAINTTOOL=PT/K
        the painttool to use for the command - look @{"here" link toollist} for a complete list
        of all available tools.

    MODE/K
        chooses the desired paintmode - look @{"here" link modelist} for a complete list

    STRENGTH=STR/K
        legt die gewünschte Deckkraft fest. (0...100)
@endnode
@node CURVE "CURVE"

@{b}@{u}CURVE@{uu}@{ub}

@{i}Synopsis@{ui}
    Paints a curve through three given points.

@{i}Parameters Template@{ui}
    X1/N/A, Y1/N/A, X2/N/A, Y2/N/A, X3/N/A, Y3/N/A, PAINTTOOL=PT/K, MODE/K, STRENGTH=STR/K/N

@{i}Parameters@{ui}
    X1/N/A
        the X-coordinate for the beginning of the curve.

    Y1/N/A
        the Y-coordinate for the beginning of the curve.

    X2/N/A
        the X-coordinate for the median point of the curve.

    Y2/N/A
        the Y-coordinate for the median point of the curve.

    X3/N/A
        the X-coordinate for the end of the curve.

    Y3/N/A
        the X-coordinate for the end of the curve.

    PAINTTOOL=PT/K
        the painttool to use for the command - look @{"here" link toollist} for a complete list
        of all available tools.

    MODE/K
        chooses the desired paintmode - look @{"here" link modelist} for a complete list

    STRENGTH=STR/K
        sets the desired opacity (0...100)
@endnode
@node ELLIPSE "ELLIPSE"

@{b}@{u}ELLIPSE@{uu}@{ub}

@{i}Synopsis@{ui}
    Paints an ellipse.

@{i}Parameters Template@{ui}
    MX/N/A, MY/N/A, RX/N/A, RY/N/A, GRADIENT/K, PAINTTOOL=PT/K, MODE/K,
    STRENGTH=STR/K/N

@{i}Parameters@{ui}
    MX/N/A
        the X-coordinate for the center of the ellipse.

    MY/N/A
        the Y-coordinate for the center of the ellipse.

    RX/N/A
        the desired X-radius of the ellipse.

    RY/N/A
        the desired Y-radius of the ellipse.

    GRADIENT/K
        The object is painted with a gradient-fill, look @{"here" link gradient} for a completele
        list of all gradient-related parameters.

    PAINTTOOL=PT/K
        the painttool to use for the command - look @{"here" link toollist} for a complete list
        of all available tools.

    MODE/K
        chooses the desired paintmode - look @{"here" link modelist} for a complete list

    STRENGTH=STR/K
        sets the desired opacity (0...100)
@endnode
@node CIRCLE "CIRCLE"

@{b}@{u}CIRCLE@{uu}@{ub}

@{i}Synopsis@{ui}
    Paints a circle.

@{i}Parameters Template@{ui}
    MX/N/A, MY/N/A, R/N/A, GRADIENT/K, PAINTTOOL=PT/K, MODE/K, STRENGTH=STR/K/N

@{i}Parameters@{ui}
    MX/N/A
        the X-coordinate for the center of the circle.

    MY/N/A
        the Y-coordinate for the center of the circle.

    R/N/A
        the desired radius of the circle.

    GRADIENT/K
        The object is painted with a gradient-fill, look @{"here" link gradient} for a completele
        list of all gradient-related parameters.

    PAINTTOOL=PT/K
        the painttool to use for the command - look @{"here" link toollist} for a complete list
        of all available tools.

    MODE/K
        chooses the desired paintmode - look @{"here" link modelist} for a complete list

    STRENGTH=STR/K
        sets the desired opacity (0...100)
@endnode
@node RECTANGLE "RECTANGLE"

@{b}@{u}RECTANGLE@{uu}@{ub}

@{i}Synopsis@{ui}
    Paints a rectangle.

@{i}Parameters Template@{ui}
    X1/N/A, Y1/N/A, X2/N/A, Y2/N/A, GRADIENT/K, PAINTTOOL=PT/K, MODE/K, STRENGTH=STR/K/N

@{i}Parameters@{ui}
    X1/N/A
        the X-coordinate for the upper left corner of the rectangle.

    Y1/N/A
        the Y-coordinate for the upper left corner of the rectangle.

    X2/N/A
        the X-coordinate for the lower right corner of the rectangle.

    Y2/N/A
        the Y-coordinate for the lower right corner of the rectangle.

    GRADIENT/K
        The object is painted with a gradient-fill, look @{"here" link gradient} for a completele
        list of all gradient-related parameters.

    PAINTTOOL=PT/K
        the painttool to use for the command - look @{"here" link toollist} for a complete list
        of all available tools.

    MODE/K
        chooses the desired paintmode - look @{"here" link modelist} for a complete list

    STRENGTH=STR/K
        sets the desired opacity (0...100)
@endnode
@node FLOOD "FLOOD"

@{b}@{u}FLOOD@{uu}@{ub}

@{i}Synopsis@{ui}
    Floods an area just as clicking into it using the fill-tool.

@{i}Parameters Template@{ui}
    X/N/A, Y/N/A, GRADIENT/K, PAINTTOOL=PT/K, MODE/K, STRENGTH=STR/K/N

@{i}Parameters@{ui}
    X/N/A
        an X-coordinate within the area to be flooded.

    Y/N/A
        a Y-coordinate within the area to be flooded.

    GRADIENT/K
        The area is flooded with a gradient-fill, look @{"here" link gradient} for a completele
        list of all gradient-related parameters.

    PAINTTOOL=PT/K
        the painttool to use for the command - look @{"here" link toollist} for a complete list
        of all available tools.

    MODE/K
        chooses the desired paintmode - look @{"here" link modelist} for a complete list

    STRENGTH=STR/K
        sets the desired opacity (0...100)
@endnode
@node PICKCOLOR "PICKCOLOR"

@{b}@{u}PICKCOLOR@{uu}@{ub}

@{i}Synopsis@{ui}
    Determines the color-value of a pixel.

@{i}Parameters Template@{ui}
    VAR/K, STEM/K, X/N/A, Y/N/A

@{i}Return Template@{ui}
    R/N, G/N, B/N

@{i}Parameters@{ui}
    VAR/K
        the name of the variable to store the RGB-components of the
        pixel's color in (values separated by blanks).

    STEM/K
        the name of the stem-variable that will have the RGB-components
        of the pixel's color stored in its @{b}r@{ub}, @{b}g@{ub}, and @{b}b@{ub} extensions.

    X/N/A
        X-coordinate of the pixel.

    Y/N/A
        Y-coordinate of the pixel.

@{i}Returns@{ui}
    R/N
        the red-component of the pixel's color.

    G/N
        the green-component of the pixel's color.

    B/N
        the blue-component of the pixel's color.
@endnode
@node TEXT "TEXT"

@{b}@{u}TEXT@{uu}@{ub}

@{i}Synopsis@{ui}
    Paints a text to the project using a specified font and size.

@{i}Parameters Template@{ui}
    X/N/A, Y/N/A, FONT/K, SIZE/N/K, PLAIN/K, BOLD/S, ITALIC/S, UNDERLINE/S, NOBOLD/S,
    NOITALIC/S, NOUNDERLINE, MODE/K, STRENGTH=STR/K/N, TEXT/K/F

@{i}Parameters@{ui}
    X/N/A
        X-coordinate of the top left corner of the text.

    Y/N/A
        Y-coordinate of the top left corner of the text.

    FONT/K
        name of the font to use.

    SIZE/N/K
        size of the font to use.

    PLAIN/K
        the text is painted without attributes.

    BOLD/S
        the text is painted in @{b}bold@{ub}.

    ITALIC/S
        the text is painted in @{i}italics@{ui}.

    UNDERLINE/S
        the text is painted @{u}underlined@{uu}.

    NOBOLD/S
        the text is not painted in bold, no matter what your
        text-settings are.

    NOITALIC/S
        the text is not painted in italics, no matter what your
        text-settings are.

    NOUNDERLINE/S
        the text is not painted underlined, no matter what your
        text-settings are.

    MODE/K
        chooses the desired paintmode - look @{"here" link modelist} for a complete list

    STRENGTH
        sets the desired opacity (0...100)

    TEXT/K/F
        the text to be written to the project.
@endnode
@node DOMETHOD "DOMETHOD"

@{b}@{u}DOMETHOD@{uu}@{ub}

@{i}Synopsis@{ui}
    Calls and executes a plugin.

@{i}Parameters Template@{ui}
    PLUGIN/A, POPUP/S, ADJUST/S, NOEXEC/S, QUIT/S, COMMANDLINE/F

@{i}Parameters@{ui}
    PLUGIN/A
        the name of the plugin.  Use @{"HELP" link HELP} to generate a complete list of
        all available plugins.

    POPUP/S
        if POPUP is set, the plugin's GUI is opened.  POPUP also has the same
        effect as ADJUST.

    ADJUST/S
        if ADJUST is set, the settings for the plugin will be saved exactly as
        if the user had made them through the plugin's GUI, otherwise the
        settings will only be used and then set back to the previously saved
        values.

    NOEXEC/S
        The effect of the plugin is not executed.

    QUIT/S
        the plugin is terminated.

    COMMANDLINE/F
        a list of parameters for the plugin - use the @{"HELP" link HELP} command to show all
        parameters supported by a particular plugin.
        Please note that not all plugins accept parameters.
@endnode
@node LOADPIC "LOADPIC"

@{b}@{u}LOADPIC@{uu}@{ub}

@{i}Synopsis@{ui}
    Loads a picture.

@{i}Parameters Template@{ui}
    NAME/A, POPUP/S

@{i}Parameters@{ui}
    NAME/A
        The full path of the picture to load.

    POPUP/S
        If this switch is set, the GUI of the plugin responsible for loading
        the picture will be opened.

@{i}See also...@{ui}
    @{"LOADBRUSH" link LOADBRUSH}
@endnode
@node LOADBRUSH "LOADBRUSH"

@{b}@{u}LOADBRUSH@{uu}@{ub}

@{i}Synopsis@{ui}
    Loads a brush.

@{i}Parameters Template@{ui}
    NAME/A, POPUP/S

@{i}Parameters@{ui}
    NAME/A
        The full path of the brush to load.

    POPUP/S
        If this switch is set, the GUI of the plugin responsible for loading
        the brush will be opened.

@{i}See also...@{ui}
    @{"LOADPIC" link LOADPIC}
@endnode
@node SAVEPIC "SAVEPIC"

@{b}@{u}SAVEPIC@{uu}@{ub}

@{i}Synopsis@{ui}
    saves a picture using the specified plugin.

@{i}Parameters Template@{ui}
    NAME/A, PLUGIN/K/A, POPUP/S, ADJUST/S, FLATTEN=F/S, NOFLATTEN=NF/S,
    INCLUDEALPHA=IA/S, EXCLUDEALPHA=EA/S, COMMANDLINE/K/F

@{i}Parameters@{ui}
    NAME/A
        the full pathname for the picture to save.

    PLUGIN/K/A
        the name of the plugin to be used for saving the picture (which means:
        the format you want to save the picture in) - naturally only those
        plugins that actually can save a picture make sense here.
        Use the @{"HELP" link HELP} command for a complete overview of all plugins.

    POPUP/S
        if POPUP is set, the plugin's GUI is opened.  POPUP also has the same
        effect as ADJUST.

    ADJUST/S
        if ADJUST is set, the settings for the plugin will be saved exactly as
        if the user had made them through the plugin's GUI, otherwise the
        settings will only be used and then set back to the previously saved
        values.

    FLATTEN=F/S
        causes ArtEffect to flatten all layers of the picture

    NOFLATTEN=NF/S
        causes ArtEffect to not flatten the layers of the picture

    INCLUDEALPHA=IA/S
        causes ArtEffect to save the alpha-channel of the picture

    EXCLUDEALPHA=EA/S
        causes ArtEffect to not save the alpha-channel of the picture

    COMMANDLINE/K/F
        a list of parameters for the plugin - use the @{"HELP" link HELP} command to show all
        parameters supported by a particular plugin.
        Please note that not all plugins accept parameters.

@{i}See also...@{ui}
    @{"SAVEBRUSH" link SAVEBRUSH}
@endnode
@node SAVEBRUSH "SAVEBRUSH"

@{b}@{u}SAVEBRUSH@{uu}@{ub}

@{i}Synopsis@{ui}
    Saves a bitmap-brush using the specified plugin.

@{i}Parameters Template@{ui}
    NAME/A, PLUGIN/K/A, ADJUST/S, COMMANDLINE/K/F

@{i}Parameters@{ui}
    NAME/A
        Der gewünschte Name für den Pinsel.

    PLUGIN/K/A
        the name of the plugin to be used for saving the brush (which means:
        the format you want to save the brush in) - naturally only those
        plugins that actually can save a brush make sense here.
        Use the @{"HELP" link HELP} command for a complete overview of all plugins.

    ADJUST/S
        if ADJUST is set, the settings for the plugin will be saved exactly as
        if the user had made them through the plugin's GUI, otherwise the
        settings will only be used and then set back to the previously saved
        values.

    COMMANDLINE/K/F
        a list of parameters for the plugin - use the @{"HELP" link HELP} command to show all
        parameters supported by a particular plugin.
        Please note that not all plugins accept parameters.

@{i}See also...@{ui}
    @{"SAVEPIC" link SAVEPIC}
@endnode
@node HELP "HELP"

@{b}@{u}HELP@{uu}@{ub}

@{i}Synopsis@{ui}
    depending on the specified parameters, this program either returns a
    complete commandlist, a complete pluginlist or the parameters-template
    for a specific command or plugin.

@{i}Parameters Template@{ui}
    VAR/K, STEM/K, COMMAND/F, PLUGINLIST=PS/S, PLUGIN/K/F, PROMPT/S

@{i}Return Template@{ui}
    COMMANDDESC, COMMANDLIST/M

@{i}Parameters@{ui}
    VAR/K
        the name of the variable to store the parameters template for the
        specified COMMAND or PLUGIN in, or to a complete, blank-separated list
        of all commands or plugins in.

    STEM/K
        the name of the stem-variable that will either have the parameters
        template of the specified COMMAND or PLUGIN stored in its COMMANDDESC
        extension or will have a complete plugin/commandlist stored in its
        COMMANDLIST extension.

    COMMAND/F
        the name of the command the parameters template of which you want to
        know.

    PLUGINLIST=PS/S
        a complete list of all available plugins is returned

    PLUGIN/K/F
        the name of the plugin the parameters template of which you want to
        know.

    PROMPT/S
        the parameters template is output to a requester on the ArtEffect
        screen.

@{i}Returns@{ui}
    COMMANDDESC
        contains the complete parameters template for the specified command or
        plugin.

    COMMANDLIST/M
        is a stem-variable by itself, its lenght can be found in
        @{b}commandlist.count@{ub}, the name of each command or plugin can be found in
        @{b}commandlist.0@{ub} through @{b}commandlist.count-1@{ub}

@{i}Examples:@{ui}

        help STEM me.

        do i=0 to me.commandlist.count-1
                help command me.commandlist.i
                say "Command" i+1 || ": " || result
        end

        /* get list of plugins */
        help STEM me. pluginlist

        do i=0 to me.commandlist.count-1
                say "PlugIn " i+1 || ": " || me.commandlist.i
        end

    Gets a complete list of all commands and plugins and outputs them to the
    current console.

        HELP PROMPT PLUGIN ANTIQUE

    Opens a requester that gives the complete parameters template for the
    "Antique" plugin.
@endnode
@node VERSION "VERSION"

@{b}@{u}VERSION@{uu}@{ub}

@{i}Synopsis@{ui}
    Returns the current version number of ArtEffect.

@{i}Parameters Template@{b}
    VAR/K, STEM/K, PROMPT/S

@{i}Return Template@{ui}
    VERSION

@{i}Parameters@{ui}
    VAR/K
        the name of a variable to store the version number in.

    STEM/K
        the name of a stem-variable that will have the version number stored
         in its VERSION extension.

    PROMPT/S
        the version number is displayed in a requester.

@{i}Returns@{ui}
    VERSION
        the current version number of ArtEffect
@endnode
@node GRADIENT "GRADIENT"

@{b}@{u}Fill-options@{uu}@{ub}

Everytime a command allows GRADIENT as a Parameter, GRADIENT must be followed
by a list of parameters:

(linear|radial),(rgb|hsb|alpha),steps,roughness:(x1,x2,y1,y2|mx,my,r)

what each parameter means:

    @{b}linear@{ub} selects a linear gradient

    @{b}radial@{ub} selects a radial gradient


    @{b}rgb@{ub}   selects an RGB-Gradient

    @{b}hsb@{ub}   selects an HSB-Gradient

    @{b}alpha@{ub} selects a stencil-gradient (alpha-channel)


    @{b}steps@{ub} selects the amount of steps for the gradient

    @{b}roughness@{ub} selects the roughness of the gradient

    @{b}x1,y1,x2,y2@{ub} start- and endcoordinates of the gradient-line
    (for linear gradients).
    before reaching the x1,y1-coordinates, only the first color of the
    gradient will be used, after reaching x2,y2 only the last color.

    @{b}mx,my@{ub} are the X- and Y-coordinates for the center, @{b}r@{ub} is the radius of the
    gradient circle.

    It is very hard to describe what effects can be achieved - we suggest that
    you try different sizes and/or angles while manually gradient-filling
    areas of the picture, so that you get a feeling for the parameters.

GRADIENT will use the range that has been previously defined by the user or by
use of the @{"PALETTE" link PALETTE} command.
@endnode
@node TOOLLIST "PAINTTOOL"

@{b}@{u}List of Painttools@{uu}@{ub}

In every command that accepts PAINTTOOL the following values are permissible:

    PENCIL

    PEN

    BRUSH

    AIRBRUSH

    SMDUGE

    ERASER

    CUT

    FILL

These names are self-explanatory.
@endnode
@node MODELIST "List of all Paintmodes"

@{b}@{u}List of Paintmodes@{uu}@{ub}

In every command that accepts MODE the following values are permissible:

    MATTE

    COLOR

    IMPRESSIONIST

    MULTIPLY

    SCREEN

    DIFFERENCE

    LIGHTEN

    DARKEN

    HUE

    SATURATION

    HUESAT

    LUMINANCE

    SMOOTH

    BLUR

    SHARPEN1

    SHARPEN2

    STENCIL

The names are self-explanatory.
@endnode
@node index "Alphabetischer Index"

@{b}@{u}Index@{uu}@{ub}


@{"BRUSHATTR        " link brushattr} Changes the current brushsettings
@{"CHANGEBRUSH      " link changebrush} manipulation of the current brush
@{"CIRCLE           " link circle} Paints a circle
@{"CLOSEPIC         " link closepic} Closes the current project
@{"CLOSEWINDOW      " link closewindow} Closes an ArtEffect window
@{"CREATEBRUSH      " link createbrush} Creates a new brush
@{"CROPPIC          " link croppic} Crop an image
@{"CURVE            " link curve} Paints a curve
@{"DOMETHOD         " link domethod} Execute a plugin
@{"ELLIPSE          " link ellipse} Paints an ellipse
@{"ERASEPIC         " link erasepic} Erase the current layer
@{"FLOOD            " link flood} Fills an area
@{"GET              " link GET} Returns the size of the current picture or brush
@{"GRADIENT         " link GRADIENT} gradient-options
@{"HELP             " link help} Gives help on commands/plugins
@{"LAYER            " link layer} Assorted Layer-Operations
@{"LINE             " link line} Paints a line
@{"LOADBRUSH        " link loadbrush} Load a bitmap-brush
@{"LOADPIC          " link loadpic} Load an image
@{"LOCKGUI          " link lockgui} Locks the GUI
@{"MODE             " link MODELIST} available paintmodes
@{"NEW              " link new} Creates a new project
@{"OPENWINDOW       " link openwindow} Opens an ArtEffect window
@{"PAINTTOOL        " link TOOLLIST} available painttools
@{"PALETTE          " link palette} Sets a range for gradient fills
@{"PICKCOLOR        " link pickcolor} Return the color-value of a pixel
@{"PLOT             " link plot} Paints a "dot"
@{"POLYGON          " link polygon} Paints a polygon
@{"RECTANGLE        " link rectangle} Paints a rectangle
@{"REDO             " link redo} Redos the last undo-step
@{"REQUESTFILE      " link requestfile} Opens a filerequester
@{"REQUESTNOTIFY    " link requestnotify} Opens a notification-requester
@{"REQUESTNUMBER    " link Requestnumber} Opens a number-requester
@{"REQUESTRESPONSE  " link requestresponse} Opens a multiple-choice requester
@{"REQUESTSTRING    " link requeststring} Opens a stringrequester
@{"SAVEBRUSH        " link savebrush} Save a bitmap-brush
@{"SAVEPIC          " link savepic} Save an image
@{"SCALECANVAS      " link scalecanvas} Scale the working area
@{"SCALEPIC         " link scalepic} Scale an image
@{"SETCOLOR         " link setcolor} Chooses a new fore-/background color
@{"STENCIL          " link stencil} Assorted stencil-operations
@{"TEXT             " link text} Write a text on the picture
@{"UNDO             " link undo} Undos the last step
@{"UNLOCKGUI        " link unlockgui} Unlocks the GUI
@{"VERSION          " link version} Returns current program version
@endnode
