;********************************************************************** ;* A T O M I C W I N D O W S * ;********************************************************************** ;* Ondersteuning voor Atomic Windows toolbox * ;********************************************************************** ;* Auteur: Roland Leurs * ;* Datum: 19 febrari 1999 * ;********************************************************************** AWSPRITE PROC NEAR CALL AWCOORDINAAT ; LEES X COORDINAAT ADD AX,24 ; TEL ER 24 BIJ IVM VERSCHUIVING MOV BX,AX ; ZET IN BX CALL AWCOORDINAAT ; LEES Y COORDINAAT MOV DX,AX ; ZET IN DX CALL _GTEXT_ATTR ; LEES ATTRIBUUT CALL LEESBYTE ; LEES DATA CALL WRITE ; SCHRIJF KARAKTER OP HET SCHERM JMP SHAPE_END ; EINDE COMMANDO AWSPRITE ENDP AWCOORDINAAT PROC NEAR CALL LEESBYTE ; LEES COORDINAAT XOR AH,AH ; WIS HOGE BYTE SHL AX,3 ; VERMENIGVULDIG MET 8 RET ; EINDE ROUTINE AWCOORDINAAT ENDP AWKADER: MOV TEMP[8],0 ; RESET FILL MODE CALL _AWKADER1 ; VOER BLOCK ROUTINE UIT JMP SHAPE_END ; SPRING NAAR EINDE ROUTINE _AWBLOCK: MOV TEMP[8],1 ; ZET FILL MODE _AWKADER1: CALL AWCOORDINAAT ; LEES X COORDINAAT ADD AX,24 ; TEL ER 24 BIJ IVM VERSCHUIVING MOV TEMP[0],AX ; ZET ALS XLO CALL AWCOORDINAAT ; LEES Y COORDINAAT MOV TEMP[6],AX ; ZET ALS YRB CALL AWCOORDINAAT ; LEES BREEDTE ADD AX,TEMP[0] ; TEL BEGINPOSITIE ERBIJ OP MOV TEMP[4],AX ; ZET ALS XRB CALL AWCOORDINAAT ; LEES HOOGTE ADD AX,TEMP[6] ; TEL BEGINPOSTITIE ERBIJ OP MOV TEMP[2],AX ; ZET ALS YLO CALL DRAW_BLOCK ; TEKEN DE RECHTHOEK RET ; EINDE ROUTINE AWFOCUS: MOV LINE_STYLE,3333H; ZET LIJNPATROON MOV KLEUR_EO,0FFFFH ; ZET PIXEL MASKER MOV TEMP[8],0 ; RESET BLOCK FILL MODE CALL _AWKADER1 ; TEKEN DE RECHTHOEK MOV KLEUR_EO,0 ; RESET PIXEL MASKER MOV LINE_STYLE,-1 ; RESET LIJNPATROON JMP SHAPE_END AWBLOCK: MOV TEMP[9],1 ; ZET BLOCK FILL MODE CALL LEESBYTE ; LEES BLOCK DRAW MODE CMP AL,0FEH ; TEST OP INVERTEREN JE AWBLOCK_INV CMP AL,000H ; TEST OP ZWART JE AWBLOCK_ZWART AWBLOCK_WIT: CALL _AWBLOCK ; TEKEN RECHTHOEK JMP SHORT AWBLOCK_E ; EINDE ROUTINE AWBLOCK_INV: MOV KLEUR_EO,0FFFFH ; ZET INVERTEER MODUS CALL _AWBLOCK ; TEKEN DE RECHTHOEK JMP SHORT AWBLOCK_E ; EINDE ROUTINE AWBLOCK_ZWART: MOV AL,KLEUR ; LEES HUIDIGE KLEUR PUSH AX ; BEWAAR EVEN OP STACK MOV KLEUR,0 ; LAADT KLEUR 0 (zwart) CALL _AWBLOCK ; TEKEN DE RECHTHOEK POP AX ; HERSTEL DE ORIGINELE KLEUR MOV KLEUR,AL AWBLOCK_E: JMP SHAPE_END ; EINDE ROUTINE AWMOUSE: JMP MUISPOS4 ; VOORLOPIG ALS CLEAR4 MUIS UITVOEREN