M EQU Byte Ptr 0[BX] TITLE 'dogdp - do GENERALIZED DRAWING PRIMIVITES' ;***************************************************************************** ; * ; dogdp : Process GDP * ; * ;***************************************************************************** ; * ; REVISION : May 01, 1983 File "dogdp.a86" Version 1.0 * ; * ; Dogdp * ; * ; Description : * ; * ; 1) Get Opcode from OBJLST Buffer * ; * ; 2) Check the GDP id * ; * ; 3) Call the Appropriate Modules to Do the various GDPs supportted * ; * ; * ; * ; Input : * ; Opcode = 11 * ; * ; Output : * ; * ; CALL DOGDP * ; * ; Program Variables : * ; XMAX - Maximum Plot extent x-axis * ; YMAX - Maximum Plot extent y-axis * ; OBJCNT - Count of Object in the Object List Buffer * ; OBJLST - Object List Buffer * ; * ; Calls : * ; getnxt - get next byte from OBJLST buffer * ; * ;***************************************************************************** PUBLIC dogdp, docell EXTRN getnxt:near, dobar:near, doline:near dseg extrn barcode:byte, ndlnty:byte savtmp rs 2 cseg dogdp: call getnxt ; = GDP id from objlst CMP al,1 ; See if it is a bar jne L@1 ; Primitive was not a BAR mov barcode, 1 ; Set Bar Code for fill routine call dobar ; Do BAR Fill l@1: ret docell: mov al, byte ptr ndlnty mov byte ptr savtmp, al ; use solid linestyle to outline the Cell Array mov byte ptr ndlnty, 0 call doline ; Object list buffer is already set up for polyline mov al, byte ptr savtmp ; restore the line style flag mov byte ptr ndlnty, al ret end