;************************************************************************
;* 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
|