' *** GET_INIT.LST *** 2nd GFA-Manual, page 20-23 > PROCEDURE bitblt_get_init(block$,screen2%,VAR x2,y2) ' ' *** Fill Source/Destination Memory Form Description Blocks ' *** The source is the GET-string block$ (coordinates: 0,0,x2,y2) ' *** The destination is the screen at address screen2% (could be invisible) ' *** The three integer-arrays are used by Procedure Bitblt ' ' *** Standard: x.max& y.max& ' *** Global: s.mfdb%() d.mfdb%() bit.par%() ' ' LOCAL block% IF DIM?(s.mfdb%())=0 ! if arrays don't exist yet, DIM s.mfdb%(5),d.mfdb%(5),bit.par%(8) ! create them now ENDIF ' block%=V:block$ ! address of GET-string s.mfdb%(0)=ADD(block%,6) ! source is GET-rectangle x2=PRED(LONG{block%}) ! rightmost x-coordinate s.mfdb%(1)=AND(ADD(x2,16),&HFFF0) ! width (multiple of 16 pixels) y2=PRED(LONG{ADD(block%,2)}) ! lowest y-coordinate s.mfdb%(2)=SUCC(y2) ! block-height in pixels s.mfdb%(3)=DIV(s.mfdb%(1),16) ! block-width in words s.mfdb%(4)=0 ! reserved, always 0 s.mfdb%(5)=LONG{ADD(block%,4)} ! number of bitplanes ' d.mfdb%(0)=screen2% ! destination-screen d.mfdb%(1)=SUCC(x.max) ! screen-width in pixels d.mfdb%(2)=SUCC(y.max) ! screen-height in pixels d.mfdb%(3)=DIV(d.mfdb%(1),16) ! screen-width in words d.mfdb%(4)=0 ! reserved, always 0 d.mfdb%(5)={L~A} ! number of bitplanes (Line-A used!) ' RETURN ' ********* '