****************************************************************
* *
* Supra Procedures 1.0 January, 1996 *
* *
* Joseph Bolin *
* Catholic Philosopher *
* *
* *
* *
* Copyright 1996 by Joseph Bolin. *
* *
* DOCUMENTATION *
* *
****************************************************************
========
Contents
========
1. Copyright and Distribution
2. Overview
3. Procedures
3a. ClipBob
3b. ColorBob
3c. CopyBob
3d. Curves
3e. InputText
3f. LargeText
3g. OutLineText
3h. Polygon
3i. ScreenSaver
3j. ScreenWipes
3k. Stencil
3l. Wash
3m. WashBob
3n. Zoom
=============================
1. Copyright and Distribution
=============================
Supra Procedures is Copyright 1996 by Joseph Bolin
Permission is granted to freely use and distribute Supra Procedures.
This distribution is freeware. You may freely use and modify
these procedures for non-commercial purposes.
You may contact me by e-mail at CatholicPhilosopher@gmail.com
to report bugs, comment on procedures you would like included,
or for anything else related to this collection of procedures.
DISCLAIMER: Supra Procedures is provided "as is", without warranty of any
kind. In no event will the author be liable for any direct or indirect
damage or loss resulting from the use or misuse of these procedures.
===========================
2. Overview
===========================
This is a collection of procedures for AMOS and AMOSPro. The following
procedures should be included.
------------*------------------------------------------*--------------*
Procedure | Use | AMOS/AMOSPRO |
------------*------------------------------------------*--------------*
ClipBob | Clip a section of a bob transparent | AMOS/AMOSPRO |
ColorBob | Color a whole bob to a new color | AMOS/AMOSPRO |
CopyBob | Copy one bob to another | AMOSPRO |
Curves | Several curve routines | AMOS/AMOSPRO |
InputText | A replacement for Input command | AMOS/AMOSPRO |
LargeText | A large text printing routine | AMOSPRO |
OutLineText | Print outlined text | AMOS/AMOSPRO |
Polygon | Regular polygon drawing routine | AMOS/AMOSPRO |
ScreenSaver | Screen saver routine | AMOSPRO |
ScreenWipes | Screen wipe routines | AMOS/AMOSPRO |
Stencil | Stencil a portion of the screen | AMOSPRO |
Wash | Wash a portion of the screen | AMOS/AMOSPRO |
WashBob | Wash one color of a bob to another color | AMOSPRO |
Zoom | Zoom by 2, 4 or 8 | AMOS/AMOSPRO |
------------*---------------------------------------------------------*
===========================
3. Procedures
===========================
In any procedure that uses a bob, pass a negative number to use an icon.
e.g. to color icon 3 to color 14: _COLORBOB[-3,14]
You only have to include the WASHML procedure once for each program.
============================================================================
3a. ClipBob Make a section of a bob transparent or opaque AMOS/AMOSPRO
Use: _CLIPBOB[_BOB,_XSTART,_YSTART,_XEND,_YEND,_MASK]
Inputs: _BOB Bob to make/erase mask on
_XPOS,_YPOS Coordinates of upper-left of section to mask
_XEND,_YEND Coordinates of lower-right of section to mask
_MASK Flag:0=Make section transparent, 1=Make section opaque
Output: Make a section of a bob either transparent or opaque
============================================================================
3b. ColorBob Change a bob to one new color AMOS/AMOSPRO
Use: _COLORBOB[_BOB,_COLOR]
Inputs: _BOB Bob to change the color of
_COLOR Color to change bob to
Output: Change a bob to one color _COLOR.
You must have a mask to use this properly.
============================================================================
3c. CopyBob Copy one bob to another AMOS
Use: _COPYBOB[_SRCBOB,_DESTBOB]
Inputs: _SRCBOB Source image
_DESTBOB Destination image
Output: Copys one bob to another, including mask.
Note: You may copy from a bob to an icon or from an icon to a bob
============================================================================
3d. Curves Three curve drawing routines AMOS/AMOSPRO
Use: _CURVE3[XB,YB,XC,YC,S]
_CURVE4[XB,YB,XC,YC,XT,YT,S]
Inputs: XB,YB Beginning coordinate of curve
XE,YE Ending coordinate of curve
XC,YC Control coordinate
XT,YT Second control coordinate
S Number of lines in curve
Output: Draws a curve on the current screen in the current color
Use: _CURVEMANY[N,S]
Inputs: N Number of points in the curve
S Number of lines in the curve
XP(),YP() Coordinates of points of the curve
XP(1),YP(1) are the starting coordinates
XP(N),YP(N) are the ending coordinates
The points between 1 and N are the control points
Output: Draws a multiple point curve on the current screen
============================================================================
3e. InputText A replacement for Input command AMOS/AMOSPRO
Use: _INPUT[_XPOS,_YPOS,_LENGTH,_SHOW,_DEFAULT$,_PEN,_PAPER,_CURSPEN]
Inputs: _XPOS,_YPOS Coordinates of input; Not limited to multiples of 8
_LENGTH Maximum length of string
_SHOW Length of shown section
_DEFAULT$ Default input
_PEN Color of text
_PAPER Background of text
_CURSPEN Color of cursor
Output: Param$ Inputed string
============================================================================
3f. LargeText A large text printing routine AMOSPRO
Use: _LARGETEXT[_XPOS,_YPOS,_TEXT$,_PEN,_PAPER,_WIDTH,_HEIGHT]
Inputs: _XPOS,_YPOS Coordinates of text
_TEXT$ Text to print
_PEN Color of text
_PAPER Background color of text
_WIDTH Integer multiple of normal text width
_HEIGHT Integer multiple of normal text height
Output: Prints expanded text on the current screen
============================================================================
3g. OutLineText Print outlined text AMOS/AMOSPRO
Use: _PRINTOUTLINE[_XPOS,_YPOS,_TEXT$,_COLOR,_OUTLINE]
Inputs: _XPOS,_YPOS Coordinates of text
_TEXT$ Text to print
_COLOR Color of text
_OUTLINE Color of outline of text
Output: Prints outlined text on the current screen
============================================================================
3h. Polygon Regular polygon drawing routine AMOS/AMOSPRO
Use: _POLYGON[_XPOS,_YPOS,_POINTS,_WIDTH,_HEIGHT,_ROTATE,_FILLED]
Inputs: _XPOS,_YPOS Center of polygon
_POINTS Number of points in polygon
_WIDTH Width of polygon
_HEIGHT Height of polygon
_ROTATE Rotation angle of polygon in degrees
_FILLED Flag for fill:0=No, 1=Yes
Output: Draws a regular polygon on the current screen
with the current ink colors and the current pattern
============================================================================
3i. ScreenSaver Screen saver routine AMOSPRO
Use: _SCREENSAVER[_TIME,RESET] Call this procedure in the main loop
Inputs: _TIME Number of jiffies before blanking
RESET If non-zero, counter before blanking will be reset
Outputs: When screen is blanked _SCREENBLANK procedure is called
_SAVERLAST =Last time since last mouse movement or key press
_SAVERLENGTH =Length since last mouse movement or key press
_SAVERX,_SAVERY=Last mouse position
Param =-1 if screen blank, 0 otherwise
Note: This procedure does not check keypresses, so you should set the
parameter RESET when a key is pressed
============================================================================
3j. ScreenWipes Screen Wipe procedures AMOS/AMOSPRO
_WIPE1[_SOURCE,_DEST] : Wipes source screen into destination
_WIPE2[_COLOR] : Clears current screen to _COLOR
_WIPE3[_COLOR] : Clears current screen to _COLOR
============================================================================
3k. Stencil Stencil a portion of the screen AMOSPRO
Use: _STENCIL[_SOURCE,_DESTBOB]
Inputs: _SOURCE Screen to stencil
_DESTBOB Bob to make into stencil
_STENCIL() Colors to stencil: 0=No, 1=Yes
Output: Makes a bob from the source screen with the
unstenciled colors masked out
============================================================================
3l. Wash Wash a portion of the screen AMOS/AMOSPRO
Use: _WASH[_STARTX,_STARTY,_ENDX,_ENDY]
Inputs: _STARTX,_STARTY Coordinates of up-left
_ENDX,_ENDY Coordinates of down-right
_WASH() Wash table: _WASH(x)=Color to change x to
Output: Washs an area of the screen
============================================================================
3m. WashBob Wash one color of a bob to another color AMOSPRO
Use: _WASHBOB[_BOB,_COLOR,_CHANGE]
Inputs: _BOB Bob to change to color of
_COLOR Color to change
_CHANGE Color to change it to
Output: Washes one color of a bob to another color
============================================================================
3n. Zoom Zoom by 2, 4, or 8
Use: _ZOOM[_POWER,_SOURCE,_XSTART,_YSTART,_XEND,_YEND,_XDEST,_YDEST]
Inputs: _POWER Zoom factor: 2, 4, or 8
_SOURCE Screen to zoom from
_XSTART Zoom start x pos (multiple of 16)
_YSTART Zoom start y pos
_XEND Zoom end x pos (+1)
_YEND Zoom end y pos (+1)
_DEST Screen to zoom to
_XDEST Zoom destination x pos (multiple of 16)
_YDEST Zoom destination y pos
Output: Zooms the source area to the destination area and expands it
Note: For Zoom factors of 2 or 4, the X size must be a multiple of 16
For a Zoom factor of 8, the X size must be a multiple of 8
============================================================================
|