Short: A collection of AMOS/AMOSPRO Procedures Author: Joseph Bolin Uploader: "Joseph Bolin" Type: dev/amos Version: 1.0 Replaces: dev/amos/SupraProcedure.lha Requires: AMOS or AMOSPRO Architecture: generic **************************************************************** * * * 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 ============================================================================