home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-04-22 | 58.9 KB | 2,098 lines |
- ARexx functions for OpalPaint - Updated for OpalPaint v2.3.
-
-
- opal technology pty ltd (c) 1992
-
- INTRODUCTION
-
-
- ARexx Overview
-
- To quote from the Amiga Version 2.0 System Documentation, Chapter 10,
- "ARexx is a programming language designed to offer flexibility to customise
- your working environment. ARexx acts as a central hub through which
- applications may send data and commands to each other. This allows
- software created by different companies to interact and, in turn, allows
- the user to create custom applications by integrating off-the-shelf
- software products."
-
- Please see Chapter 10 of your Amiga Version 2.0 documentation, or if you
- purchased ARexx for your Version 1.3 see the included manual, for a
- complete discussion of installing and using ARexx. In this document we
- will only discuss how OpalPaint interacts with ARexx.
-
- Also note that the Opal HotKey program acts as an ARexx host so that other
- programs running in the Amiga environment can access functions of the
- OpalVision. These functions include all the options available using the
- HotKey menu or function keys. See the Reference Manual for a further
- description of OpalHotKey ARexx support.
-
-
-
- Writing Scripts
-
- You can create and edit ARexx scripts using any Amiga text-based editor.
- Note that if you use a word-processor you will have to save it as a
- text-only or ASCII file. If ARexx is generating error messages for
- command arguments, try enclosing the arguments in quotes, this will happen
- if you try to use negative numbers as parameters (Arexx interprets the '-'
- sign as a subtraction operator). e.g.
-
- SetDrawMode 9 -20 Doesn't work
- SetDrawMode "9 -20" Works
-
- The spellings colour and color are interchangeable in OpalPaint ARexx
- commands. For example, ColourSource is equivalent to ColorSource.
-
- Also note that where a command accepts a text Message string it will also
- accept the '\n' sequence to signify a new line. This allows multiple lines
- of text to be displayed in the requester.
-
- E.g. to display 3 lines of text, use
-
- Okay "This is line 1 \nThis is line 2 \nWow!!!! Isn't this fun!!!"
-
- Note that if you wish to include a single quote in the Message string then
- use double quotes at the beginning and end, and visa versa. ARexx attempts
- to match quotes to determine where the string begins and ends.
-
-
- Filenames
-
- The default filename extension for OpalPaint ARexx macros is '.oprx'.
-
- NOTE: All scripts must start with a comment.
-
-
-
- ARexx Port
-
- The Port name for OpalPaint is:
-
- OpalPaint_Rexx
-
-
-
- Executing Scripts
-
- There are basically 2 ways to execute a script from within OpalPaint. The
- first method is to run the script from within OpalPaint using the Amiga Key
- and a function key, or the Amiga-A ARexx requester. The second method is
- to run the script externally to OpalPaint using the CLI or another
- ARexx-compatible program.
-
- Up to 30 macros can be installed using the Amiga-a ARexx control requester
- with one macro assigned to each function key. Once installed each macro
- can be executed by holding down either the Amiga, Control or Alt keys and
- pressing the corresponding function key. The current macro names will be
- stored in the 'opalpaint.prefs' configuration file when OpalPaint is
- exited. A one-off ARexx command can be executed by pressing Amiga-A, this
- will bring up a string requester enabling you to type in the name of the
- macro to be executed.
-
-
- Return Values
-
- OpalPaint will return an Error (RC=10) if illegal parameters are given or
- if an error occurs. For example if a script attempts to invert the stencil
- plane when it doesn't exist, or if there is insufficient memory to execute
- a function.
-
-
- Setup
-
- Every spare page has its own setup information stored for it. It is
- important to remember this, any modes or gradients etc that you set up for
- a page is local to that page, if the active page is changed, the setup
- information will also be changed. The setup data includes gradients,
- transparency settings, drawing mode and tools, stencil enables, Paint
- source, Grid setting, Texture settings, magnification, brush cut modes,
- line styles, Flood fill tolerances, anti-aliasing settings, colour stencil
- settings, magic wand setting, paper type, alpha settings, rubthrough modes,
- and fill modes.
-
-
-
- Drawing Commands
-
- Using ARexx you cannot draw any object larger than the visible display size
- (even if the page is larger). The drawing coordinates passed to ARexx are
- absolute coordinates within the current page. If a drawing function is
- performed outside the current viewing area, the view will automatically be
- paned to that section. Therefore as long as the object being drawn is
- smaller than the screen there will be no problem, if the object is larger
- OpalPaint will center the display the best that it can, and the drawing
- will be clipped to the visible area. Note that the current magnification
- level will also effect the size of the object that can be drawn. Also note
- that low ChipRAM (especially evident when only 1M of Chip RAM is installed)
- will result in the size of the drawing area being reduced as the Menu Bar
- rises up from the bottom of the screen.
-
-
- Symbols
-
- In the following command descriptions several labels will appear
- frequently. The meaning and acceptable range for these symbols are:
-
- PotNum = Paint Pot number. Range: 1 to 260
- NozzleNum = Nozzle number (artist tool). Range: 1 to 10
- PageNum = Spare Page number. Range: 1 to Number of Open Pages
- BrushNum = CutOut brush number. Range: 1 to 3
- GradNum = Gradient number. Range: 1 to 8
- DModeNum = DrawingMode number. Range: 1 to 18 for built in modes
- and 19 to 22 for spare (loadable) modes.
- SpareNum = Spare drawing mode number. Range: 1 to 4
-
- NOTE: Any parameters in brackets [] are optional.
-
- Many commands also have a BOOLEAN parameter. A Boolean value is one that
- has only 2 states, True or False. OpalPaint treats 0 as False and any
- other value as True. e.g: A Typical command accepting a boolean value is:
-
- Trans 0 /* Turn transparency off */
- Trans 1 /* Turn transparency on */
-
- OpalPaint will also accept the words ENABLE (=1) and DISABLE (=0) in
- appropriate places. Commands will also accept other labels where noted.
-
-
-
- Summary of Commands
-
- User I/O Commands
- AskBool Okay AskFileName AskFont AskString AskInt GetPoint GetRect AskProp
-
- Drawing Commands
- Line Rectangle SolidRect Curve FloodFill Ellipse SolidEllipse Poly
- SolidPoly Point LastPoint FreeHand SolidFreeHand MagicWand ReadPixel
- KillMarquee MarqueeFill
-
- File I/O
- Load Save Loader Saver AllowSaves LoadComponents SaveComponents
-
- Brush Manipulation
- Double DoubleX DoubleY Halve HalveX HalveY FlipX FlipY Rotate90 Rotate
- BendH BendV ShearH ShearV Rescale Resize HandleCenter Handle CopyBrush
- ActiveBrush RescaleMethod BrushSize Feather MakeText CutMode PutBrush
- LoadBrush SaveBrush RectCut EllipseCut FloodCut FreeHandCut MagicWandCut
- PolyCut
-
- Spare Pages
- ClearPage SetPage CopyPage MovePage SwapPage PickPage DeletePage AddPage
- OpenPages PageName CurrPage SecondaryPage ClonePage PageSize PageRes
-
- Misc
- Zap Undo Again Magnify MagLevel ColourSource Key Refresh Busy NotBusy
- Version Panic RGBtoHSV HSVtoRGB GetPrefs SetPrefs WorkMode AntiAlias Grid
- TransType Trans WarpFactor WarpBrush FloodType FillMode LineStyle SetPen
- GetPen VideoMode Texture TextureType RubDirection RubMode CurrentFont Menu
- SaveSetUp RestoreSetUp CopySetUp Pan FindPixel FindNextPixel DisplayStatus
- DisplayPercent Pantograph Clone
-
- Stencils
- ClearSten SetSten DeleteSten InvertSten ExcludeAll StenEnable ColSten
- MaskSten SetColSten EnableColEntry AddStencil
-
- Alpha Commands
- AddAlpha AlphaPattern ImageToAlpha InvertAlpha DeleteAlpha
-
- Draw Modes
- SetSpare SetDrawMode
-
- Artist Tools
- SetATool ResetATool AToolWeight GetATool NozzleSize ActiveNozzle
-
- Paper Type
- SetPaper SmoothPaper PaperDepth
-
- Palette
- LoadPalette SavePalette SaveRow SetPot GetPot ActivePot SpreadPots
-
- Gradients
- ClearColGrad ClearTransGrad ColourDither TransDither GradType GradRange
- ColEven TransEven ColReverse TransReverse ColGradTag TransGradTag
- ActiveGrad
-
-
-
-
- DETAILED DESCRIPTIONS
-
-
- ActiveBrush
- Usage: ActiveBrush [BrushNum]
-
- Returns the brush number that is currently active (1 to 3) or -1 if a brush
- is currently not selected. If 'BrushNum' is specified then the active
- brush will be set to that number (1 to 3).
-
-
-
- ActiveGrad
- Usage: ActiveGrad [GradNum]
-
- Returns the currently active Gradient number (1 to 8). If 'GradNum' is
- specified, it sets the currently active gradient pair to 'GradNum'. Note
- that each gradient pair contains parallel colour and transparency
- gradients. GradNum must be in the range of 1 to 8.
-
-
-
- ActiveNozzle
- Usage: ActiveNozzle [NozzleNum]
-
- Returns the currently active nozzle number (1 to 10), or -1 if a nozzle is
- currently not selected. If 'NozzleNum' is specified, ActiveNozzle sets the
- specifed nozzle to be the active nozzle.
-
-
-
- ActivePot
- Usage: ActivePot [PotNum]
-
- Returns the active pot number, this is in the range of 1..260. If 'PotNum'
- is specified then the active pot will be changed to this value.
-
-
-
- AddAlpha
- Usage: AddAlpha
-
- Adds an alpha channel to the current image if it doesn't exist.
- An alpha channel will automatically added when entering Alpha edit mode.
-
-
-
- AddPage
- Usage: AddPage Width Height Resolution
-
- Add a new spare page with the deminsions given by 'width' and 'height'.
- 'Resolution' sets the display resolution of the page, this parameter is a
- set of flags, valid flags are:
-
- HIRES Hires
- INTERLACE Interlaced
- OVERSCAN Overscan
-
- These flags can be added together, i.e to open a hires interlaced page,
- Resolution = HIRES INTERLACE.
-
-
-
- AddStencil
- Usage: AddStencil
-
- Add a mask stencil plane to the current image if one doesn't already exist.
- A stencil will automatically added when entering Stencil edit mode.
-
-
-
- Again
- Usage: Again
-
- Repeat the last drawing operation. Same as the 'a' key.
-
-
-
- AllowSaves
- Usage: AllowSaves [Enable|Disable]
-
- Rexx command to disable saving.
-
-
-
- AlphaPattern
- Usage: AlphaPattern Pattern
-
- Choose the alpha background pattern (See the Alpha Paint Options menu).
- The allowable patterns are 1 to 6 or GreyScale or GrayScale.
-
- Examples:
- AlphaPattern 4
- AlphaPattern GreyScale
-
-
-
- AntiAlias
- Usage: AntiAlias Enable [Level]
-
- The Enable parameter can be ENABLE (=1) to turn antialiasing on, or DISABLE
- (=0) to turn it off. Level sets the antialiasing level to be used and must
- be in the range of 0 to 100.
-
-
-
- AskBool
- Usage: AskBool Message
-
- Creates a requester containing the 'Message' text, as well as OK and CANCEL
- gadgets. The Message string can contain '\n' to start a new line in the
- text. The return value is a boolean value indicating whether the user hit
- OK or CANCEL, a true value is returned if OK is hit.
-
- Example:
- AskBool 'Are you sure?'
- if Result=0 then
- Okay 'I Guess not'
- else
- Okay 'You are!!'
-
-
- AskFileName
- Usage: AskFileName Hail Path FileName
-
- Bring up the OpalVision file requester. The 'Hail' string will be
- displayed at the top of the requester and the initial path and filename
- will be set the the values specified.
-
- If the user hits CANCEL, RC will be set to WARN (5) otherwise the selected
- filename (including) path will be returned.
-
- This command will return the selected path and filename as one string in
- standard AmigaDOS format.
-
- e.g. AskFileName 'Pick a file Images24: clowns'
-
-
-
- AskFont
- Usage: AskFont
-
- Bring up the font requester to allow the user to select a font.
-
- If the user hits CANCEL, RC will be set to WARN (5) otherwise the selected
- font name, size and style is returned. An example return string would be:
-
- topaz 8 0
-
- The Style value is a set of flags, with the valid flags being:
-
- Underlined 1
- Bold 2
- Italic 4
-
- These flags can be added together to get composite styles. For example,
- Underlined Bold will return the value 3, while bold italic will return the
- value 6.
-
-
- AskInt
- Usage: AskInt MinInt MaxInt Default HailText
-
- Brings up a requester containing a 'Message' text as well as string, OK
- and CANCEL gadgets. The Message string can contain '\n' to start a new
- line in the text.
-
- The string gadget can be used to enter an integer value only, 'MinInt'
- and 'MaxInt' set the minimum and maximum allowable values.
-
- Default value will define a number that initially shows in requestor.
-
- If the user hits CANCEL, RC will be set to WARN (5) otherwise the entered
- integer value will be returned.
-
- Example:
- AskInt 0 100 20 'Enter Tolerance'
-
-
-
- AskProp
- Usage: AskProp Min Max Default Message
-
- This command brings up a requester containing an OK and Cancel gadgets
- and a proportional (slider) gadget.
-
- 'Min' and 'Max' define the range of the slide, 'Default' is the starting
- position for the knob, and 'Message' will be displayed in the requester.
-
- Example:
- AskProp 0 100 50 'Enter Tolerance'
-
-
-
- AskString
- Usage: AskString Message
-
- Brings up a requester containing a 'Message' text as well as string, OK and
- CANCEL gadgets. The Message string can contain '\n' to start a new line in
- the text. The string gadget can be used to enter any text string.
-
- If the user hits CANCEL, RC will be set to WARN (5) otherwise the entered
- text will be returned.
-
- Example:
- AskString 'Whats your name?'
-
- AskString ARexx command now accepts a default string. The calling format
- is now:
-
- AskString Heading Default
-
- The 2 strings can contain spaces but need to be enclosed in quotes, ARexx
- strips off the first level of quotes, so the following trick has to be used
- to sucessfully quote the string: e.g.
-
- Example:
- AskString "'This is the heading' 'This is the default string'"
-
- To Keep compatibility with the old AskString, if a string is found that is
- not quoted and contains spaces, the entire string is treated as the heading
- for the requester.
-
-
-
- AToolWeight
- Usage: AToolWeight Weight
-
- Set the weight of the current selected Artist's Tool (nozzle). Weight is
- the value it should be changed to (0 to 100).
-
-
- BendH
- Usage: BendH Distance
-
- Bend the current cutout brush horizontally by the number of pixels
- specified by 'Distance'.
-
-
-
- BendV
- Usage: BendV Distance
-
- Bend the current cutout brush vertically by the number of pixels specified
- by 'Distance'.
-
-
-
- BrushSize
- Usage: BrushSize
-
- Returns the size of the current cutout brush. The value returned is in the
- form "W H" with the W and H values being in pixels. If the brush is not
- defined, -1 -1 is returned.
-
-
-
- Busy
- Usage: Busy
-
- Disable the menu bar and changes the mouse pointer to the busy sprite.
- Busy calls can be nested, i.e. multiple Busy commands can be issued and a
- corresponding number of NotBusy commands have to be issued to restore the
- pointer to its normal state.
-
-
-
- ClearColGrad
- Usage: ClearColGrad
-
- Clears the colour gradient of the current gradient pair. This is
- equivalent to the trashcan gadget in the gradient menu.
-
-
-
- ClearPage
- Usage: ClearPage
-
- Clears the current page to black. Note, the verification requester that
- normally appears when hitting the trashcan gradget on the main menu will
- not be displayed.
-
-
-
- ClearSten
- Usage: ClearSten
-
- Clears the mask stencil for the current page.
-
-
-
- ClearTransGrad
- Usage: ClearTransGrad
-
- Clears the transparency gradient for the current gradient pair. This is
- equivalent to the trashcan gadget in the gradient menu.
-
-
-
- Clone
- Usage: Clone Enable [X Y]
-
- Enables or Disables the Clone texture mode. If the X Y coordinates are
- specified, the clone crosshairs will be positioned at this point.
-
-
-
- ClonePage
- Usage: ClonePage [PageNum]
-
- Add a new spare page with the same dimensions and resolution as the
- specified page, if the page is not specified then the current page will be
- cloned. This is equivalent to the clone gadget in the spare page menu.
-
-
- ColEven
- Usage: ColEven
-
- Regularly spaces (evens out) the colour tags in the colour gradient of the
- current gradient pair. This is equivalent to the even space gadget in the
- gradient menu.
-
-
-
- ColGradTag
- Usage: ColGradTag Position R G B
-
- Adds a colour tag to the colour gradient in the current gradient pair.
- Position specifies the position of the tag within the gradient, where 0
- corresponds to the start of the gradient (left hand of colour bar in the
- gradient menu) and 1 corresponds to the end of the gradient (right hand
- side). R,G,B sets the Red Green and Blue components for the colour of the
- tag (0-255)
-
- For example to create a gradient from white through blue to red in the 5th
- gradient pair, use:
-
- ActiveGrad 5
- ColGradTag 0 255 255 255
- ColGradTag 0.5 0 0 255
- ColGradTag 1 255 0 0
-
-
- ColourDither (or ColorDither)
- Usage: ColourDither Dither
-
- Set the colour dither for the colour gradient in the current gradient pair.
- Dither must be in the range of 0 to 100.
-
-
-
- ColourSource (or ColorSource)
- Usage: ColourSource Source
-
- If Source=PAINTPOT set the colour source to 'paint pot' else if
- Source=MULTICOLOUR or MULTICOLOR set the colour source to 'multicolour'.
- These settings correspond to those in the modes menu. See the Reference
- Manual for a full discussion of the differences between these settings.
-
-
-
- ColReverse
- Usage: ColReverse
-
- Reverses the direction of the colour gradient in the current gradient pair.
- This is equivalent to the reverse gadget in the gradient menu.
-
-
-
- ColSten
- Usage: ColSten Enable
-
- The Enable argument can be ENABLE (=1) to enable the use of the colour
- stencil, else DISABLE (=0) to disable it. This corresponds to the colour
- stencil enable gadget in the stencil menu.
-
-
-
- CopyBrush
- Usage: CopyBrush SourceBrushNum
-
- Copy the source brush (1 to 3) to the current selected cutout brush.
-
-
-
- CopyPage
- Usage: CopyPage SrcPageNum DestPageNum [Xoffset Yoffset]
-
- Copies the contents of the source page to the destination page. If the X
- and Y offset are specified, the source image will be shifted by that offset
- when it is copied into the destination page. The size of the destination
- page will not be modified.
-
- If the offsets are not specified, the command will copy the current page
- into the destination page, resizing the destination page if its not the
- same as the source. This is equivalent to the Copy gadget in the spare
- page requester.
-
-
-
- CopySetUp
- Usage: CopySetUp DestPageNum
-
- Copies the setup of the current page to the destination page. See the
- description of 'SetUp' above.
-
-
-
- CurrentFont
- Usage: CurrentFont
-
- The current font name, size and style is returned. An example return
- string would be:
-
- topaz 8 0
-
- See AskFont for details on the format of this string.
-
-
-
- CurrPage
- Usage: CurrPage
-
- Return the current page number.
-
-
-
- Curve
- Usage: Curve X1 Y1 X2 Y2 X3 Y3
-
- Draw a curve between the three points.
-
-
-
- CutMode
- Usage: CutMode BGMode [Alpha [HTol STol VTol Smooth]]
-
- This mode sets the options in the brush cut menu.
- Allowable values for BGMode are:
-
- NORMAL
- COLOUR or COLOR
- TOLERANCE
-
- If Alpha is ENABLE (=1), the alpha channel will be enabled for brush
- cutting. If HTol, STol, VTol and Smooth are specified, the cut tolerances
- and smooth factor will be set to these values. Htol, STol, VTol & Smooth
- must be in the range 0 to 100%
-
-
-
- DeleteAlpha
- Usage: DeleteAlpha
-
- Deletes the alpha channel for the current image.
-
-
-
- DeletePage
- Usage: DeletePage PageNum
-
- Delete the specified page. Equivalent to the Delete button in the Spare
- Pages Menu.
-
-
-
- DeleteSten
- Usage: DeleteSten
-
- Delete the mask stencil plane from the current image if one exists.
-
-
-
- DisplayPercent
- Usage: DisplayPercent Current Max Text
-
- This command will display 'text' as well as a percentage count on the
- status bar in the main menu. 'Current' can range from 0 to 'Max'. Max is
- the number of steps in an operation, and Current is the current step. For
- example if you have a function that takes 6 steps, you can use:
-
- DisplayPercent 3 6 'Scaling:'
-
- OpalPaint will determine the percentage by calculating Current/Max * 100.
- In the example above, 50% would be displayed. 'Text' cannot be longer than
- 7 characters.
-
-
-
- DisplayStatus
- Usage: DisplayStatus Text
-
- This command will print 'Text' into the status bar on the main menu.
- 'Text' cannot be longer than 11 characters.
-
-
-
- Double
- Usage: Double
-
- Double the current cutout brush size both horizontally and vertically.
-
-
-
- DoubleX
- Usage: DoubleX
-
- Double the current cutout brush size horizontally only.
-
-
-
- DoubleY
- Usage: DoubleY
-
- Double the current cutout brush size vertically only.
-
-
-
- Ellipse
- Usage: Ellipse Xc Yc a b
-
- Draw an ellipse centered around Xc,Yc with a horizontal dimension of 'a'
- and a vertical dimension of 'b'. To draw a circle, set 'a' and 'b' to the
- same value.
-
-
-
- EllipseCut
- Usage: EllipseCut Xc Yc a b
-
- Perform an elliptical brush cut centered around Xc,Yc with a horizontal
- dimension of 'a' and a vertical dimension of 'b'. To cut a circle, set 'a'
- and 'b' to the same value. The cutout will be placed in the currently
- selected cutout brush (1 to 3).
-
-
-
- EnableColEntry
- Usage: EnableColEntry ColEntry Enable
-
- Enable or disable a colour stencil entry. 'ColEntry' is the colour stencil
- to be modified (between 1 and 6). The Enable argument can be either ENABLE
- (=1) to Enable the stencil entry or DISABLE (=0) to disable it.
-
-
-
- ExcludeAll
- Usage: ExcludeAll Enable
-
- Sets or clears the ExcludeAll gadget in the stencil menu. The Enable
- argument can be either ENABLE (=1) to Exclude all colours in the image, or
- DISABLE (=0) to Include all colours by default. See the section in the
- OpalVision Reference Manual on Stencil Priority for further details of how
- stencils are combined and how priorities are determined.
-
-
-
- Feather
- Usage: Feather Radius
-
- Feather the current cutout brush using the radius given. Radius is
- measured in pixels.
-
-
-
- FillMode
- Usage: FillMode Mode
-
- Set the current fill mode, the allowable values for 'mode' are:
-
- SOLID = Solid fill
- GRADIENT = Gradient fill
- BRUSH = Brush warp fill
-
-
-
- FindNextPixel
- Usage: FindNextPixel
-
- This command should be called only after FindPixel. Returns the
- coordinates of the next pixel matching the colour given in FindPixel. '-1
- -1' is returned if no pixels are found. FindNextPixel can be called
- repeatedly until it returns '-1 -1'.
-
-
-
- FindPixel
- Usage: FindPixel R G B
-
- Returns the coordinates of the first pixel encountered which has a colour
- value matching 'R G B'. Search starts at the top-left hand corner of the
- image.
-
-
-
- FlipX
- Usage: FlipX
-
- Flip the current cutout brush horizontally.
-
-
-
- FlipY
- Usage: FlipY
-
- Flip the current cutout brush vertically.
-
-
-
- FloodCut
- Usage: FloodCut X Y
-
- Cut a brush using a flood fill. The fill will start at X,Y. The cutout
- will be placed in the currently selected cutout brush (1 to 3).
-
-
-
- FloodFill
- Usage: FloodFill X Y
-
- Start a flood fill at X,Y.
-
-
-
- FloodType
- Usage: FloodType Type [HTol STol VTol]
-
- Set the current flood fill options. Allowable values for type are:
-
- NORMAL = Normal fill
- TOLERANCE = Tolerance fill
-
- If HTol,STol and VTol are specified the fill tolerances will be set to
- these values. Htol, STol & VTol must be in the range 0 to 100%
-
-
-
- FreeHand
- Usage: FreeHand [X Y X Y ....]
-
- Start freehand drawmode. If coordinates are specified a continuous line
- will be drawn between the coordinates. This command is used in conjunction
- with the Point and LastPoint commands. Note that for cutting, PolyCut is
- the equivalent of FreeHandCut, so FreeHandCut has not been included in the
- command set.
-
-
-
- FreeHandCut
- Usage: FreeHandCut [X Y X Y ...]
-
- Start a FreeHand cut into the current selected cutout brush. The vertice
- parameters are the same as the Poly command. This command is functionally
- identical to the PolyCut command and has been added only for consistency.
- Note that the filled polygon gadget will be highlighted after this command.
- The cutout will be placed in the currently selected cutout brush (1 to 3).
-
-
-
- GetATool
- Usage: GetATool NozzleNum
-
- Returns the artists tool name for the specified nozzle. NozzleNum must be
- in the range (1 to 10)
-
-
-
- GetPen
- Usage: GetPen
-
- Returns the colour of the current selected paintpot in R G B format.
-
-
-
- GetPoint
- Usage: GetPoint
-
- Ask the user to select a point on the image. When this command is
- executed, the mouse pointer changes to 'Point' and waits until the user
- selects a point using the mouse. The coordinates of the selected point are
- returned in X Y form relative to the top left corner of the image, NOT the
- position within the visible painting area.
-
-
-
- GetPot
- Usage: GetPot PotNum
-
- Returns the colour of the specified paint pot. The colour is returned in
- R G B format.
-
-
-
- GetPrefs
- Usage: GetPrefs
-
- Returns the current preferences settings. A single number is returned
- specifying the active preferences, the number is made up of flags, the
- current valid flags are:
-
- 1 = Don't save thumbnails.
- 2 = Do safe file writes.
- 4 = Unused Spare pages -> Disk.
- 8 = Unused brushes -> Disk.
- 16 = Outside of work area -> Disk.
- 32 = Fast feed back on.
- 64 = drag rectangles from center.
- 128 = drag circles from center.
- 256 = Don't save icons.
- 512 = Rectangles/circles aspect correct (be square).
- 1024 = Don't calculate brush outlines.
- 2048 = Don't Load setup struct with Image.
- 4096 = Allow brush build up.
- 8192 = Don't raise menu bar in overscan mode.
- 16384 = Disable tablet pen flicks.
-
- To test if a particular mode is set, use the ARexx logical AND operator,
- e.g.:
- Prefs = GetPrefs
- if (Prefs & 32) then FastFeedBack = 1
-
-
-
- GetRect
- Usage: GetRect
-
- Ask the user to select a rectangular area of the image. When this command
- is executed, the mouse pointer changes to 'Rect' and waits until the user
- drags out a rectangle. Once the rectangle has been selected, the upper
- left and lower right coordinates of the rectangle are returned in X1 Y1 X2
- Y2 form.
-
-
-
- GradRange
- Usage: GradRange X1 Y1 X2 Y2
-
- This command is used to specify the gradient range for the 'Linear Free'
- and 'Radial Free' gradient modes. Normally OpalPaint asks the user to drag
- out a line or ellipse when these gradient modes are used, under ARexx
- control however this command is used instead, to specify the gradient
- range. Note that this command must be specified before the filled object
- is drawn.
-
- e.g To draw a circle with a 45 degree angle gradient across it.
-
- GradType LinearFree HSV /* Set up 'linear free' mode */
- GradRange 120 90 180 150
- SolidEllipse 150 120 30 30
-
-
-
- GradType
- Usage: GradType Type [ColourSystem]
-
- Setup the gradient type options. 'Type' specifies one of the 6 possible
- gradient types in the gradient menu. Allowable values for 'type' are:
-
- HORIZONTAL = Horizontal Gradient
- VERTICAL = Vertical Gradient
- RADIAL = Radial Gradient
- HORIZONTALFIT = Horizontal Fit gradient.
- LINEARFREE = Linear Free Gradient
- RADIALFREE = Radial Free Gradient.
-
- Types LINEARFREE and RADIALFREE must also be used in conjunction with the
- GradRange command.
-
- If the 'ColourSystem' argument is specified, allowable values are
- RGB = RGB colour mode
- HSV = HSV colour mode
-
-
-
- Grid
- Usage: Grid Enable [W H [X Y]]
-
- Enable is used to turn the Grid on/off. If the argument is ENABLE (=1)
- grid is enabled, else if DISABLE (=0) it is disabled. If W and H are
- specified, the grid spacing is set to these values. If X and Y are
- specified, the grid origin is moved to that location.
-
-
-
- Halve
- Usage: Halve
-
- Halve the current cutout brush size both horizontally and vertically.
-
-
-
- HalveX
- Usage: HalveX
-
- Halve the current cutout brush size horizontally.
-
-
-
- HalveY
- Usage: HalveY
-
- Halve the current cutout brush size vertically.
-
-
-
- Handle
- Usage: Handle X Y
-
- Move the brush handle to location X,Y within the brush.
- e.g.
- ActiveBrush 1 /* Set the current cutout brush to B1 */
- Handle 0 0 /* Handle to top left on brush 1 */
- BrushSize
- Handle Result /* Handle to bottom right on brush 1 */
-
-
-
- HandleCenter
- Usage: HandleCenter
-
- Center the handle within the current cutout brush.
-
-
-
- HSVtoRGB
- Usage: HSVtoRGB H S V
-
- Convert a colour specified in the HSV colour system to the RGB colour
- system. HSV values range from 0 to 65535, i.e.
-
- Actual Value 0 65535
- --------------------------------------
- Hue 0 degrees 359 degrees
- Saturation 0% 100%
- Value 0% 100%
-
- RGB values range from 0 to 255.
-
-
-
- ImageToAlpha
- Usage: ImageToAlpha
-
- Copies the current image into it's own alpha channel.
-
-
-
- InvertAlpha
- Usage: InvertAlpha
-
- Inverts the contents of the alpha channel.
-
-
-
- InvertSten
- Usage: InvertSten
-
- Invert the mask stencil for the current image.
-
-
-
- Key
- Usage: Key [[Qualifiers] Character] [KeyFileToken]
-
- Process a key as if it was typed on the keyboard. The allowable qualifiers
- are:
-
- AMIGA
- ALT
- CONTROL
- SHIFT
-
- The qualifiers may be freely mixed, e.g. CONTROL SHIFT is acceptable.
-
- 'Character' can either be a single character or a name for an unprintable
- character. The accepted key names are:
-
- LEFTARROW = Left Arrow key
- RIGHTARROW = Right Arrow key
- UPARROW = Up Arrow Key
- DOWNARROW = Down Arrow Key
- HELP = Help Key
- DEL = Delete key
- F1 to F10 = Function keys.
-
- e.g.
- key 'ALT SHIFT LEFTARROW' /* Rip up and Redo to left*/
-
- With the addition of keyfiles in OpalPaint v2.3, this method of using
- keystokes for commands is no longer reliable if the ARexx script is to be
- used by different users. This is due to the fact that the user can now
- redefine the keyboard equivalents and hence you cannot assume that, Amiga Q
- for instance, will quit OpalPaint.
-
- To get around this problem, the 'key' command now accepts the same tokens
- that are used in the key file to define the keyboard command, for example
- to quit OpalPaint, the following command can be used:
-
- Key Quit
-
- It is suggested that you always use this format of the key command. All
- the available command tokens are defined in the key file
- OpalPaint:Prefs/OpalPaint.keys.
-
-
-
- KillMarquee
- Usage: KillMarquee
-
- Terminate the current Marquee without filling it.
-
-
-
- LastPoint
- Usage: LastPoint [X Y X Y...]
-
- This command is used to finish the drawing or cutting using freehand or
- polygon modes. To draw or cut freehand or a polygon, first enter the
- correct drawing mode, specify the points for drawing using Point and
- complete the object using last point.
- e.g.
-
- FreeHand X1 Y1
- Point X2 Y1 X2-10 Y1+10 X1+10 Y1+10
- LastPoint X1 Y1
-
-
- Line
- Usage: Line X1 Y1 X2 Y2
-
- Draw a line between point 1 (X1,Y1) and point 2 (X2,Y2).
-
-
-
- LineStyle
- Usage: LineStyle Style [Dots]
-
- Set the current line style. Allowable values of 'style' are:
-
- CONTINUOUS = Continuous
- SPACED = Every Nth
- TOTAL = Total Dots
-
- If Style = SPACED then 'Dots' specifies the spacing between dots on the
- line. If Style = TOTAL, 'Dots' specifies the total number of dots making
- up the line.
-
-
-
- Load
- Usage: Load FileName
-
- Load a file using the current loader. FileName must include the full path
- of the image name.
-
-
-
- LoadBrush
- Usage: LoadBrush FileName
-
- Load 'Filename' into the current selected cutout brush (1 to 3).
-
-
-
- LoadComponents
- Usage: LoadComponents [Components]
-
- Specify the image components which are loaded (as set in the 'Image',
- 'Stencil' and 'Alpha' buttons in the VLSI requestor). The allowable
- parameters are 'Image', 'Alpha' and 'Stencil' which can be specified in any
- combination and order.
-
- e.g. To load all image components:
-
- LoadComponents Image Stencil Alpha
-
-
- Loader
- Usage: Loader Name [Parameters]
-
- Set the current image loader. Allowable names for v2.3 of OpalPaint are
- Intelligent, IFF, FAST, JPEG, GIF, Rendition and VPB. 'Parameters' will be
- local to each loader, and these values will be passed directly to the
- loader. For example, the JPEG saver parameter is a quality factor.
-
-
- LoadPalette
- Usage: LoadPalette FileName
-
- Load a new palette set. If the saved palette was a complete set of 260
- paint pots then all paint-pots will be replaced. If the saved palette only
- contains a single paint-pot row then the current paint-pot row will be
- replaced. To select the row to be replaced, first select any paint-pot in
- the row using the ActivePot command.
-
-
-
- MagicWand
- Usage: MagicWand X Y [Tolerance]
-
- Start a Magic Wand fill at X,Y (relative to the top left corner of the
- image). Tolerance must be in the range (0 to 100).
-
- This command can be issued several times to build up a marquee, each new
- call to MagicWand is equivalent to pressing the mouse button while holding
- down the shift key. The Marquee generated will not be filled until a
- 'MarqueeFill' command is issued.
-
-
-
-
- MagicWandCut
- Usage: MagicWandCut X Y [Tolerance]
-
- Start a Magic Wand cut at X,Y (relative to the top left corner of the
- image). Tolerance must be in the range (0 to 100). The cutout will be
- placed in the currently selected cutout brush (1 to 3). The brush will not
- be cut until a 'MarqueeFill' command is issued.
-
-
-
- MagLevel
- Usage: MagLevel Level
-
- Set the current magnification level. If the page is currently in magnify
- mode, the display will be refreshed at this level. Allowable Level's are
- 1,2,4,8 (and 16 in hires only).
-
-
-
- Magnify
- Usage: Magnify Enable
-
- The Enable argument can be ENABLE (=1) to turn magnify on, else DISABLE
- (=0) to turn magnify off.
-
-
-
- MakeText
- Usage: MakeText Font FontSize FontStyle Text
-
- Create text in the current cutout brush using the font specified and text
- string. The values for FontStyle are the same as those returned by
- AskFont.
-
- e.g.
- MakeText 'cgtimes 50 2 Hello'
-
-
-
- MarqueeFill
- Usage: MarqueeFill
-
- Fill the currently active marqueed area, returns an error if a marquee is
- not active. (Marquees are created using the magic wand tool).
-
-
-
- MaskSten
- Usage: MaskSten Enable
-
- If the Enable argument is ENABLE (=1) then enable the use of the mask
- stencil, else use DISABLE (=0) to disable it. This corresponds to the mask
- stencil enable gadget in the stencil requester.
-
-
-
- Menu
- Usage: Menu Enable
-
- If the Enable argument is ENABLE (=1) then display the menu/tool bar, else
- use DISABLE (=0) to make the menu bar disappear.
-
-
-
- MovePage
- Usage: MovePage SrcPageNum DestPageNum
-
- Move the source page to the destination page. This function simply
- shuffles the order of spare pages around.
-
-
-
- NotBusy
- Usage: NotBusy
-
- Disables the Busy mouse pointer and enables the menu bar. If there are
- nested Busy commands this command will 'unest' them and not change the
- mouse pointer until the number of NotBusy commands equals the number of
- Busy commands executed.
-
-
-
- NozzleSize
- Usage: NozzleSize [W H]
-
- Returns the size of the current selected nozzle. If W and H are specified,
- the size of the nozzle will be modified to this size.
-
-
-
- Okay
- Usage: Okay Message
-
- Brings up a requester containing the 'Message' text and an OK gadget only.
- The Message string can contain '\n' to start a new line in the text.
-
- e.g. Okay 'Operation complete'
-
-
-
- OpenPages
- Usage: OpenPages
-
- Returns the number of open pages.
-
-
-
- PageName
- Usage: PageName [PageNum]
-
- Returns the name of a page. If PageNum is not specified, the current
- page's name will be returned. A page is named by saving it.
-
-
-
- PageRes
- Usage: PageRes
-
- Returns the current page resolution. The returned value can contain any
- combination of the tokens HIRES, INTERLACE and OVERSCAN (as accepted by the
- AddPage and PageSize commands).
-
-
-
- PageSize
- Usage: PageSize [W H Modes Scale]
-
- Returns the current page size in W H format. If the optional parameters
- are specified, the page will be resized to the WxH and Modes will be used
- for the display mode (see AddPage for description of display Modes). The
- value of Scale determines the way in which the page is resized. If Scale
- is false (=0), the page is cropped to the new size, else the page is
- rescaled to fit the new size.
-
-
-
- Pan
- Usage: Pan X Y
-
- This command sets the X,Y location of the top left hand corner of the
- viewing area. This allows the displayed to be panned around within a
- larger image.
-
-
-
- Panic
- Usage: Panic
-
- Same as the panic button in the About requester. Sets single-pixel brush,
- continuous draw and Paint Mode. Switches off all options such as
- transparency, stencils, textures etc.
-
-
-
- Pantograph
- Usage: Pantograph Enable [X Y]
-
- Enables or Disables the pantograph texture mode. If the X Y coordinates
- are specified, the pantograph crosshairs will be positioned at this point.
-
-
-
- PaperDepth
- Usage: PaperDepth Depth
-
- Set the depth of the current paper type. Depth must be between 0 and 100.
-
-
-
- PickPage
- Usage: PickPage PageNum
-
- Change the active page to 'PageNum'.
-
-
-
- Point
- Usage: Point [X Y X Y ...]
-
- Specify points for freehand and Polygon drawing modes. (See LastPoint)
-
-
-
- Poly
- Usage: Poly [X Y X Y ...]
-
- Start poly drawing mode. If the vertices are given, lines will be drawn to
- the given points. Additional points can be given using the Point command,
- and the polygon is terminated using the LastPoint command.
-
-
-
- PolyCut
- Usage: PolyCut [X Y X Y ...]
-
- Start a Polygon cut into the current selected cutout brush. The vertice
- parameters are the same as the Poly command. The cutout will be placed in
- the currently selected cutout brush (1 to 3).
-
-
-
- PutBrush
- Usage: PutBrush X Y
-
- Draws the currently active brush or nozzle at X,Y location given.
-
-
-
- ReadPixel
- Usage: ReadPixel X Y
-
- Return the colour values of a given pixel. The return value is the pixel
- colour in R G B format.
-
-
-
- Rectangle
- Usage: Rectangle X1 Y1 X2 Y2
-
- Draw a rectangle between Point1 (X1,Y1) and Point2 (X2,Y2).
-
- Point1 defines the top left-hand corner of the rectangle, Point2 defines
- the bottom right-hand corner.
-
-
-
- RectCut
- Usage: RectCut X1 Y1 X2 Y2
-
- Make a rectangular cut into the current cutout brush. The vertice
- parameters are the same as Rectangle. The cutout will be placed in the
- currently selected cutout brush (1 to 3).
-
-
-
- Refresh
- Usage: Refresh
-
- Refresh the current display by updating the image in Amiga memory into the
- OpalVision Hardware. This command is rarely required however as OpalPaint
- will generally keep the displayed version the image consistent with that in
- memory.
-
- The only time this command will be required is to update the display after
- the palette data has been changed. OpalPaint does not do this
- automatically to increase the speed of modifying palette colours.
-
-
-
- Rescale
- Usage: Rescale %x %y
-
- Rescale the current cutout brush using percentage values. %x and %y define
- the percentage scaling for the x and y axis respectively.
-
- e.g.
- ActiveBrush 2 /* Make brush B2 active */
- Rescale 50 50 /* Halve the current (B2) brush 2 */
- ActiveBrush 3 /* Make brush B3 active */
- Rescale 200 200 /* Double the current (B3) brush */
-
-
-
- RescaleMethod
- Usage: RescaleMethod Method
-
- Set the rescaling method for the current cutout brush. Allowable values
- for 'Method' are:
-
- BLOCKY (Multiply pixels. Fastest)
- SMOOTH1 (Linear interpolation)
- SMOOTH2 (Cubic Spline interpolation. Slowest)
-
-
-
- ResetATool
- Usage: ResetATool
-
- Reset the current nozzle to its default 'solid' state. Has the same effect
- as the Solid gadget in the Artists Tools menu.
-
-
-
- Resize
- Usage: Resize W H
-
- Resize the current cutout brush to an absolute pixel size.
- e.g.
- ActiveBrush 2 /* Select brush B2 */
- Resize 100 100 /* Resize brush 2 to 100 by 100 pixels */
-
-
-
- RestoreSetUp
- Usage: RestoreSetUp
-
- Restore the setup information stored using SaveSetUp. Note, the same page
- should be active as when SaveSetup was called if you wish to restore the
- users setup back to the way it was before the macro was executed. If a
- different page is active the result will basically be the same as the
- CopySetup command.
-
-
-
- RGBtoHSV
- Usage: RGBtoHSV R G B
-
- Convert a colour specified in the RGB colour system to the HSV colour
- system (See HSVtoRGB).
-
-
-
- Rotate
- Usage: Rotate Angle
-
- Rotate the current brush by any angle. 'Angle' must be an integer value in
- degress.
-
- e.g.
- ActiveBrush 3 /* Select brush B3 as the current brush */
- Rotate 45 /* Rotate Brush 3 by 45 degrees */
-
-
-
- Rotate90
- Usage: Rotate90
-
- Rotate the current cutout brush 90 degrees anti-clockwise.
-
-
-
- RubDirection
- Usage: RubDirection Dir
-
- If 'Dir' is false (=0) the rub direction will be set to 'Secondary to
- Current' else the direction will be 'Current to Secondary'. This
- corresponds to the direction gadget in the spare page menu.
-
-
-
- RubMode
- Usage: RubMode RubType [XOffset YOffset]
-
- Set RubThough mode.
- Allowable values for the 'RubType' parameter are
-
- RELATIVE = Relative rubthrough mode
- ABSOLUTE = Absolute rubthrough mode.
-
- If 'XOffset' and 'YOffset' are specified, the rub through origin will be
- set to that location. These functions correspond to the gadgets in the
- spare page menu.
-
-
-
- Save
- Usage: Save FileName
-
- Save the current image using the filename given. The filename must include
- the full path of the image name. The currently active saver will be used
- to perform the save.
-
-
-
- SaveBrush
- Usage: SaveBrush FileName
-
- Save the current cutout brush in IFF format. Filename must include the
- full path of the brush file.
-
-
-
- SaveComponents
- Usage: SaveComponents [parameters]
-
- Specify the image components which are saved (as set in the 'Image',
- 'Stencil' and 'Alpha' buttons in the VLSI requestor). The allowable
- parameters are 'Image', 'Alpha' and 'Stencil' which can be specified in any
- combination and order.
-
- e.g. To save all image components:
-
- SaveComponents Image Stencil Alpha
-
-
-
- SavePalette
- Usage: SavePalette FileName
-
- Save the current palette (all 260 entries) and the mixing area to an IFF
- file. FileName must include the full path.
-
-
-
- Saver
- Usage: Saver [Parameters]
-
- Set the current image saver. Allowable names for v2.3 of OpalPaint are
- IFF, FAST, JPEG, VPB and Rendition. Parameters will be local to each
- loader, and these values will be passed directly to the loader.
-
-
-
- SaveRow
- Usage: SaveRow FileName
-
- Save the current Row of palette colours (20 entries) and the mixing area to
- an IFF file. FileName must include the full path. To select the active
- row, use ActivePot to select any paint pot within that row.
-
-
-
- SaveSetUp
- Usage: SaveSetUp
-
- Save the current Setup information to a temporary memory area. This
- includes the SetUp structure (see description above), the preferences
- values, the active paint pot and the colour palette. This is useful to
- make a snapshot of the users configuration before performing any
- operations, when your macro exits use RestoreSetUp to restore the
- configuration to the way it was. Note, if your using this technique you
- must be on the same page when you call SaveSetUp and RestoreSetUp.
-
-
-
- SecondaryPage
- Usage: SecondaryPage [PageNum]
-
- Returns the page number of the secondary page. If 'PageNum' is specified,
- the secondary page will be set to this page.
-
-
-
- SetATool
- Usage: SetATool AToolName [Weight]
-
- Load an artist tool into the current nozzle. AToolName specifies the tools
- to be loaded, and must be the name of a file in the OpalPaint:ArtistTools
- directory. Weight specifies the initial tool weight (0 to 100).
-
- e.g.
- ActiveNozzle 3 /* Select nozzle 3 to be active */
- SetATool AirBrush 50 /* Nozzle 3 = airbush at 50% */
-
- NozzleNum must be in the range (1 to 10).
-
-
-
- SetColSten
- Usage: SetColSten StenEntry Include R G B HTol STol VTol
-
- Modify a colour stencil entry. 'StenEntry' is the entry to be modified (1
- to 6). If 'Include' is false (=0) the entry will be an Excluded colour,
- else it will be an included colour. R,G,B sets the stencil colour.
- HTol,STol,VTol sets the HSV tolerance range for the colour entry.
-
-
-
- SetDrawMode
- Usage: SetDrawMode DModeNum [Weight]
-
- Set the current drawing mode.
- DModeNum must be in the range 1 to 18 for built in modes and 19 to 22 for
- spare (loadable) modes. 'Weight' optionally sets the weight for the mode.
- The range of 'Weight ' will vary depending on the mode. The valid ranges
- are 0 to 100, -50 to 50 or 1 to 31, depending on whether the mode takes a
- normal range, split range or convolution window size.
-
- e.g.
- SetDrawMode 6 50 /* Posterise at 50% */
-
-
-
- SetPage
- Usage: SetPage R G B
-
- Set the current page to a solid colour, R,G and B specifies the colour to
- be used.
-
-
-
- SetPaper
- Usage: SetPaper PaperName [Depth]
-
- Set the paper type for the current page. PaperName must be the name of a
- file in the OpalPaint:PaperTypes directory. Depth can be used to specify
- the 'roughness' of the paper, the range for Depth is 0 to 100.
-
- e.g.
- SetPaper RicePaper 50
-
-
-
- SetPen
- Usage: SetPen R G B
-
- Set the current pen colour used for drawing. This function is equivalent
- to calling SetPot for the currently active paint pot.
-
-
-
- SetPot
- Usage: SetPot PotNum R G B
-
- Set the colour of a paint pot entry. PotNum must be in the range (1 to
- 260).
-
-
-
- SetPrefs
- Usage: SetPrefs Prefs
-
- Modify the preferences. 'Prefs' is a single integer value, see GetPrefs
- for flag values.
-
-
-
- SetSpare
- Usage: SetSpare SpareNum DModeName [Weight]
-
- Load a drawing mode into a 'spare mode' location. DModeName is the name of
- the mode to load, Weight can be used to set the mode weight and should be
- in the range 0 to 100.
-
- e.g.
- SetSpare 1 AddNoise
-
- SpareNum must be in the range (1 to 4).
-
-
-
- SetSten
- Usage: SetSten
-
- Set the mask stencil for the current image to a solid colour (all 1's).
-
-
-
- ShearH
- Usage: ShearH Distance
-
- Shear the current cutout brush horizontally by the number of pixels
- specified by 'Distance'.
-
-
-
- ShearV
- Usage: ShearV Distance
-
- Shear the current cutout brush vertically by the number of pixels specified
- by 'Distance'.
-
-
-
- SmoothPaper
- Usage: SmoothPaper
-
- Reset the paper type for the current page to smooth.
-
-
-
- SolidEllipse
- Usage: SolidEllipse Xc Yc a b
-
- Draw a solid ellipse centered around Xc,Yc with a horizontal dimension of
- 'a' and a vertical dimension of 'b'. To draw a solid circle, set 'a' and
- 'b' to the same value.
-
-
-
- SolidFreeHand
- Usage: SolidFreeHand [X Y X Y ...]
-
- Start Solid FreeHand drawing mode. If the vertices are given, lines will
- be drawn to the given points. Additional points can be given using the
- Point command, and the freehand outline is terminated using the LastPoint
- command.
-
-
-
- SolidPoly
- Usage: SolidPoly [X Y X Y ...]
-
- Start Solid poly drawing mode. If the vertices are given, lines will be
- drawn to the given points. Additional points can be given using the Point
- command, and the polygon is terminated using the LastPoint command.
-
-
-
- SolidRect
- Usage: SolidRect X1 Y1 X2 Y2
-
- Draw a solid rectangle between Point1 (X1,Y1) and Point2 (X2,Y2). Point1
- defines the top left-hand corner of the rectangle, Point2 defines the
- bottom right-hand corner.
-
-
-
- SpreadPots
- Usage: SpreadPots Pot1 Pot2
-
- Create a spread of colour between Pot1 and Pot2. Equivalent to the Spread
- button in the Palette menu. Pot1 and Pot2 must be in the range 1 to 260.
-
-
-
- StenEnable
- Usage: StenEnable Enable
-
- This is the main stencil enable. If 'Enable' is false (=0) stencils will
- be disabled, else stencils are enabled. This enables/disables both the
- mask and colour stencils. This control corresponds to the STEN gadget on
- the main menu.
-
-
-
- SwapPage
- Usage: SwapPage SrcPageNum DestPageNum
-
- Swaps the order of two pages, this simply reorders the pages in memory.
- This is equivalent to the swap gadget in the spare page requester.
-
-
-
- Texture
- Usage: Texture Enable
-
- The Enable argument can be either ENABLE (=1) or DISABLE (=0).
-
-
-
- TextureType
- Usage: TextureType Mode [Tile]
-
- Set the current Texture modes. Valid values for mode are:
-
- BRUSH1 = Use brush 1 as texture.
- BRUSH2 = Use brush 2 as texture.
- BRUSH3 = Use brush 3 as texture.
- RUBTHROUGH = Rubthrough mode.
- PANTOGRAPH = Pantograph mode.
- CLONE = Clone mode.
-
- Allowable values for the Tile parameter are:
- TILE
- NOTILE
-
-
-
- Trans
- Usage: Trans Enable
-
- The Enable argument can be either ENABLE (=1) or DISABLE (=0).
-
-
-
- TransDither
- Usage: TransDither Dither
-
- Set the dither level for the transparency gradient in the current gradient
- pair. Dither must be in the range 0 to 100.
-
-
-
- TransEven
- Usage: TransEven
-
- Regularly spaces (evens out) the transparency tags in the transparency
- gradient of the current gradient pair. This is equivalent to the even
- space gadget in the gradient menu.
-
-
-
- TransGradTag
- Usage: TransGradTag Position Trans
-
- Adds a transparency tag to the transparency gradient in the current
- gradient pair. Position specifies the position of the tag within the
- gradient where 0 corresponds to the start of the gradient (left hand of
- colour bar in the gradient menu) and 1 corresponds to the end of the
- gradient (right hand side). Trans sets the transparency of the tag (0 to
- 100).
-
- For example to create a gradient from fully transparent through to solid
- and back to fully transparent:
-
- ActiveGrad 5 /* Select the 5th gradient pair as active */
- TransGradTag 0 100
- TransGradTag 0.5 0
- TransGradTag 1 100
-
-
-
- TransReverse
- Usage: TransReverse
-
- Reverses the direction of the transparency gradient in the current gradient
- pair. This is equivalent to the reverse gadget in the gradient menu.
-
-
-
- TransType
- Usage: TransType Type [Trans1 [Trans2 Trans3]]]
-
- Set transparency options. Valid values for 'Type' are:
-
- STANDARD = Standard
- RGB = RGB Transparency
- HSV = HSV Transparency
- ALPHA = Alpha transparency.
-
- The meaning of the tolerance values varies depending on the value of 'Type'.
- If Type is STANDARD, Tol1 sets the standard transparency value.
- If Type is RGB, then Tol1, Tol2 and Tol3 set the Red,Green and Blue transparencies respectively.
- If Type is HSV, then Tol1, Tol2 and Tol3 set the Hue, Saturation and Value transparencies respectively.
- If Type is ALPHA, then Tol1 sets the 'strength' of the alpha channel.
-
-
- Undo
- Usage: Undo
-
- Undo the last operation if possible. Note that the undo buffer will be
- lost if the display view is paned or the magnification level is changed.
-
-
-
- Version
- Usage: Version
-
- Return the version string for OpalPaint. The string will be of the form:
-
- $VER: OpalPaint 1.0 (14.10.92)
-
-
-
- VideoMode
- Usage: VideoMode
-
- This command is used to determine whether OpalPaint is running in PAL or
- NTSC mode. The returned value will be either 'PAL' or 'NTSC'.
-
-
-
- WarpBrush
- Usage: WarpBrush BrushNum
-
- Set the brush number used in the Warp/Fill mode. This command corresponds
- to the brush gadgets in the fill menu. BrushNum must be in the range (1 to
- 3).
-
-
-
- WarpFactor
- Usage: WarpFactor Factor
-
- Set the warp factor used in brush fill mode. Factor must be in the range 0
- to 100.
-
-
-
- WorkMode
- Usage: WorkMode WMode
-
- Set the current work mode. 'WMode' can be:
-
- IMAGE = Image edit mode
- STENCIL = Stencil edit mode
- ALPHA = Alpha edit mode
-
- This command corresponds to the work mode gadgets on the main menu.
-
-
-
- Zap
- Usage: Zap
-
- Zap the current page.
-
-
-
-
- Example Script - Bevelled Box.
-
- /* Draw a bevelled drop box using OpalPaint.
- */
-
- address 'OpalPaint_Rexx'
-
- options Results
-
- SaveSetUp
- GetRect
- parse var Result X1 Y1 X2 Y2
-
- Depth = 10 /* Could use AskInt here */
-
- GetPen
- RGBtoHSV Result
- Parse var Result Hue Sat Val
-
- /* Box body. Set up a diagonal HSV gradient */
-
- FillMode Gradient
- ClearColGrad
- ClearTransGrad
- ColourDither 0
- TransDither 0
-
- HSVtoRGB Hue Sat Val
- ColGradTag 0 Result
- S2 = (Sat-(0.4*65535))%1 /* Note: %1 converts number to an integer */
- S2 = MAX(S2,0)
- HSVtoRGB Hue S2 Val
- ColGradTag 0.5 Result
- HSVtoRGB Hue Sat Val
- ColGradTag 1 Result
- GradType LinearFree HSV
- GradRange X1+Depth Y1+Depth X2-Depth Y2-Depth
- SolidRect X1+Depth Y1+Depth X2-Depth Y2-Depth
-
- FillMode Solid
-
- /* Top */
-
- V2 = (Val+0.1*65535)%1
- V2 = MIN(V2,65535)
-
- HSVtoRGB Hue Sat V2
- SetPen Result
-
- SolidPoly X1 Y1 X2 Y1 X2-Depth Y1+Depth X1+Depth Y1+Depth X1 Y1
- LastPoint
-
-
- /* Right */
-
- V2 = (Val-0.15*65535)%1
- V2 = MAX(V2,0)
-
- HSVtoRGB Hue Sat V2
- SetPen Result
-
- SolidPoly X2 Y1 X2 Y2 X2-Depth Y2-Depth X2-Depth Y1+Depth X2 Y1
- LastPoint
-
- /* Left */
-
- V2 = (Val+0.15*65535)%1
- V2 = MIN(V2,65535)
-
- HSVtoRGB Hue Sat V2
- SetPen Result
-
- SolidPoly X1 Y1 X1+Depth Y1+Depth X1+Depth Y2-Depth X1 Y2 X1 Y1
- LastPoint
-
- /* Bottom */
-
- V2 = (Val-0.1*65535)%1
- V2 = MAX(V2,0)
-
- HSVtoRGB Hue Sat V2
- SetPen Result
-
- SolidPoly X2 Y2 X1 Y2 X1+Depth Y2-Depth X2-Depth Y2-Depth X2 Y2
- LastPoint
- RestoreSetUp
-
-