home *** CD-ROM | disk | FTP | other *** search
- ;/*------------------------------------------------------------*/
- ;/* filename - tvexposd.asm */
- ;/* */
- ;/* function(s) */
- ;/* TView exposed member function */
- ;/*------------------------------------------------------------*/
-
- ;/*------------------------------------------------------------*/
- ;/* */
- ;/* Turbo Vision - Version 1.0 */
- ;/* */
- ;/* */
- ;/* Copyright (c) 1991 by Borland International */
- ;/* All Rights Reserved. */
- ;/* */
- ;/*------------------------------------------------------------*/
-
- IDEAL
- MODEL LARGE, PROLOG
-
- INCLUDE "TVWRITE.INC"
-
- PUBLIC @TView@exposed$qv
-
- STRUC Fptr
- offs DW ?
- segm DW ?
- ENDS
-
- CODESEG
-
- PROC @TView@exposed$qv
- ARG thisPtr : DWORD
- LOCAL Target : Fptr
- USES SI,DI
-
- LES DI,[thisPtr]
- TEST [WORD PTR ES:DI+TViewState],sfExposed
- JE @@2
- XOR AX,AX
- CMP AX,[ES:DI+TViewSizeX]
- JGE @@2
- CMP AX,[ES:DI+TViewSizeY]
- JGE @@2
- @@1:
- XOR BX,BX
- MOV CX,[ES:DI+TViewSizeX]
- PUSH AX
- CALL @@11
- POP AX
- JNC @@3
- LES DI,[thisPtr]
- INC AX
- CMP AX,[ES:DI+TViewSizeY]
- JL @@1
- @@2:
- MOV AL,0
- JMP @@30
- @@3:
- MOV AL,1
- JMP @@30
- @@8:
- STC
- @@9:
- RETN
- @@10:
- LES DI,[DWORD PTR ES:DI+TViewOwner]
- CMP [WORD PTR ES:DI+TGroupBuffer+2],0
- JNE @@9
- @@11: MOV [Target.offs],DI
- MOV [Target.segm],ES
- ADD AX,[ES:DI+TViewOriginY]
- MOV SI,[ES:DI+TViewOriginX]
- ADD BX,SI
- ADD CX,SI
- LES DI,[ES:DI+TViewOwner]
- MOV SI,ES
- OR SI,DI
- JE @@9
- CMP AX,[ES:DI+TGroupClipAY]
- JL @@8
- CMP AX,[ES:DI+TGroupClipBY]
- JGE @@8
- CMP BX,[ES:DI+TGroupClipAX]
- JGE @@12
- MOV BX,[ES:DI+TGroupClipAX]
- @@12:
- CMP CX,[ES:DI+TGroupClipBX]
- JLE @@13
- MOV CX,[ES:DI+TGroupClipBX]
- @@13:
- CMP BX,CX
- JGE @@8
- LES DI,[ES:DI+TGroupLast]
- @@20:
- LES DI,[ES:DI+TViewNext]
- CMP DI,[Target.offs]
- JNE @@21
- MOV SI,ES
- CMP SI,[Target.segm]
- JE @@10
- @@21:
- TEST [WORD PTR ES:DI+TViewState],sfVisible
- JE @@20
- MOV SI,[ES:DI+TViewOriginY]
- CMP AX,SI
- JL @@20
- ADD SI,[ES:DI+TViewSizeY]
- CMP AX,SI
- JGE @@20
- MOV SI,[ES:DI+TViewOriginX]
- CMP BX,SI
- JL @@22
- ADD SI,[ES:DI+TViewSizeX]
- CMP BX,SI
- JGE @@20
- MOV BX,SI
- CMP BX,CX
- JL @@20
- STC
- RETN
- @@22:
- CMP CX,SI
- JLE @@20
- ADD SI,[ES:DI+TViewSizeX]
- CMP CX,SI
- JG @@23
- MOV CX,[ES:DI+TViewOriginX]
- JMP @@20
- @@23:
- PUSH [Target.segm]
- PUSH [Target.offs]
- PUSH ES
- PUSH DI
- PUSH SI
- PUSH CX
- PUSH AX
- MOV CX,[ES:DI+TViewOriginX]
- CALL @@20
- POP AX
- POP CX
- POP BX
- POP DI
- POP ES
- POP [Target.offs]
- POP [Target.segm]
- JC @@20
- RETN
- @@30:
- RET
- ENDP
-
- END
-