' *** MOUSINIT.LST *** 2nd GFA-Manual, page 14-6 > PROCEDURE mouse_init_1(VAR mouse1$) ' ' *** Create a new mouse-cursor as string mouse1$ ' *** Activate mouse-cursor with: DEFMOUSE mouse$ ' *** Use Procedure Mouse_init_2 for second mouse, etc. ' ' *** Procedure: Mouse_creation ' RESTORE pattern.mouse1 @mouse_creation(mouse1$) ' pattern.mouse1: ' *** x,y,mode(0=normal;1=XOR),mask-colour,mouse-colour (VDI colour-indices) DATA 0,0,0,0,1 ' *** mask-pattern (1 = pixel on , 0 = pixel off) DATA 0000111111110000 DATA 0001111111111000 DATA 0011111111111100 DATA 0111111111111110 DATA 0111111111111110 DATA 0111111111111110 DATA 0111111111111110 DATA 1111111111111111 DATA 1111111111111111 DATA 1111111111111111 DATA 0111111111111110 DATA 0111111111111110 DATA 0111111111111110 DATA 0011111111111100 DATA 0001111111111000 DATA 0000111111110000 ' *** mouse-pattern (1 = pixel on , 0 = pixel off) DATA 0000000000000000 DATA 0000111111110000 DATA 0001111111111000 DATA 0011111111111100 DATA 0010000000000100 DATA 0010011001100100 DATA 0010000100000100 DATA 0110001000000110 DATA 0110010000000110 DATA 0110011110000110 DATA 0010000000000100 DATA 0010100000010100 DATA 0010011111100100 DATA 0001000000001000 DATA 0000111111110000 DATA 0000000000000000 RETURN ' *** > PROCEDURE mouse_creation(VAR m$) ' ' *** Construct mouse-string from data in DATA-lines ' LOCAL x,y,mode,msk.color,mouse.color,n,msk$,mouse$ m$=STRING$(74,0) ! 37 words READ x,y,mode,msk.color,mouse.color MID$(m$,1,2)=MKI$(x) ! word 0 MID$(m$,3,2)=MKI$(y) ! word 1 MID$(m$,5,2)=MKI$(mode) ! word 2 MID$(m$,7,2)=MKI$(msk.color) ! word 3 MID$(m$,9,2)=MKI$(mouse.color) ! word 4 FOR n=1 TO 16 ! word 5-20 READ msk$ MID$(m$,9+n*2,2)=MKI$(VAL("&X"+msk$)) NEXT n FOR n=1 TO 16 ! word 21-36 READ mouse$ MID$(m$,41+n*2,2)=MKI$(VAL("&X"+mouse$)) NEXT n RETURN ' ********* '