Topic : The GFA-BASIC Toolkit - Volume 1 Author : John L. Hutchinson Version : GFA_TKV1.HYP v0.50 (7/14/2008) Subject : GFABASIC/Documentation Nodes : 164 Index Size : 3048 HCP-Version : 5 Compiled on : Atari @charset : atarist @lang : @default : Default @help : Help @options : +g -i -s +z @width : 75 @hostname : THING @hostname : STRNGSRV @hostname : HIGHWIRE @hostname : CAB » BITBLIT.LST ' 2.08 - 2.25 bitblit_effects ' =================================================================== ' BITBLIT.LST ' ' This routine consists of seventeen separate BITBLT type video ' effect procedures which are to be called independently. No ' parameters are required. The effects procedures included in this ' routine are: ' iris, rndom, cross, assemble, checker, vert_blind, curtains, ' spiral, puzzle, wipe_right, wipe_left, wipe_up, wipe_down, ' appear_down, appear_up, appear_left, appear_right ' ' The intended use for these routines is to load or build a screen ' display to a hidden, alternate screen address then call a BITBLT ' routine to display it to the physical screen. Potential is ' unlimited, of course. ' ' This routine also includes the procedure setup_bitblit, which ' must be called from each BITBLT video procdure. Ensure this ' procedure is merged into your program along with the desired ' effects procedures. ' ' You must initialize these procedures by setting aside screen memory ' and dimensioning temporary arrays. Also, the procedure check_res ' must be called prior to setup_bitblit. For example: ' ' scr0%=XBIOS(2) ! physical screen address ' scr1$=STRING$(32767,0) ! reserve some space ' scr1%=V:scr1$ ! background screen address ' DIM s%(5),d%(5),p%(8) ! dimension BITBLT arrays ' check_res ! find resolution ' ' *** NOTE: Most routines have been designed for LOW resolution use ' only. Change the array elements accordingly for other ' resolutions. ' ' For those who wish to experiment with BITBLT, array definitions ' are: ' ' *** p%(0) thru p%(3) contain source block coordinates: ' p%(0) is left x-coordinate of source block ' p%(1) is upper y-coordinate of source block ' p%(2) is right x-coordinate of source block ' p%(3) is lower y-coordinate of source block ' ' *** p%(4) thru p%(7) contain destination block coordinates: ' p%(4) is left x-coordinate of destination block ' p%(5) is upper y-coordinate of destination block ' p%(6) is right x-coordinate of destination block ' p%(7) is lower y-coordinate of destination block ' ' p%(8) is the graphics copy mode (3, 6, 7 or 13) ' *** 3 = Replace, 6 = XOR, 7 = Transparent, 13 = Inverse Transparent ' ' *** s%() contains SMFDB (Source Memory Form Description Block) ' s%(0) is the source screen address ' s%(1) is the screen pixel width (must be divisible by 16) ' s%(2) is the screen pixel height ' s%(3) is the screen width in words (or number of pixels/16) ' s%(4) is reserved: always zero