home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
- { VOutOCRT Copyright 1991,1992 Visionix ALL RIGHTS RESERVED }
-
- Procedure OpCRTOutDriverProc( ODP : POutDriverPacket );
-
- Type
-
- TCharBuff = Array[1..32768] of CHAR;
- PCharBuff = ^TCharBuff;
-
- Var
-
- KeyBufHead : INTEGER absolute $0000:$041A;
- KeyBufTail : INTEGER absolute $0000:$041C;
-
- IData : POutDriverIData;
-
- Z : INTEGER;
-
- BEGIN
-
- IData := ODP^.ID;
-
-
- If ODP^.Status = 0 Then
- BEGIN
-
- Case ODP^.Func Of
-
- ODF_DriverNew:
- BEGIN
-
- IF @ODP^.OutDriverProc = @OpCRTOutDriverProc Then
- BEGIN
-
- New( Idata );
-
- IData^.Name := ODP^.Name^;
- IData^.Off := 0;
-
- ODP^.Status := ODS_Install+ODS_Changed;
-
- ODP^.ID := IData;
-
- END;
-
- END;
-
- {----}
-
- ODF_DriverOff:
- BEGIN
-
- If ODP^.Name^ = IData^.Name Then
- BEGIN
-
- Inc( Idata^.Off );
-
- END;
-
-
- END;
-
- {----}
-
- ODF_DriverOn:
- BEGIN
-
- If ODP^.Name^ = IData^.Name Then
- BEGIN
-
- If Idata^.Off <> 0 Then
- Dec( Idata^.Off );
-
- END;
-
- END;
-
- {----}
-
- ODF_DriverDispose:
- BEGIN
-
- If ODP^.Name^ = IData^.Name Then
- BEGIN
-
- {RemoveFromOutDriverStack }
-
- Dispose( IData );
-
- END;
-
- END;
-
- {----}
-
- ODF_WriteChar:
- BEGIN
-
- Write( ODP^.Ch );
-
- END;
-
- {----}
-
- ODF_WriteBlock:
- BEGIN
-
- For Z:=1 to ODP^.Size Do
- Write( PCharBuff( ODP^.Buff )^[Z] );
-
- END;
-
- {----}
-
- ODF_WriteVert:
- BEGIN
-
- For Z:=1 to ODP^.Size Do
- BEGIN
-
- Write( PCharBuff( ODP^.Buff )^[Z] );
-
- If Z<>ODP^.Size Then
- OpCrt.GotoXY( OpCrt.WhereX-1, OpCrt.WhereY+1 );
-
- END;
-
- END;
-
- {----}
-
- ODF_ClrEOL:
- BEGIN
-
- OpCrt.ClrEOL;
-
- END;
-
- {----}
-
- ODF_ClrScr:
- BEGIN
-
- OpCrt.ClrScr;
-
- END;
-
- {----}
-
- ODF_DelLine:
- BEGIN
-
- OpCrt.DelLine;
-
- END;
-
- {----}
-
- ODF_InsLine:
- BEGIN
-
- OpCrt.InsLine;
-
- END;
-
- {----}
-
- ODF_GotoXY:
- BEGIN
-
- OpCrt.GotoXY( ODP^.X1, ODP^.Y1 );
-
- END;
-
- {----}
-
- ODF_Window:
- BEGIN
-
- OpCrt.Window( ODP^.X1, ODP^.Y1,
- ODP^.X2, ODP^.Y2 );
-
- END;
-
- {----}
-
- ODF_ColorText:
- BEGIN
-
- OpCrt.TextColor( ODP^.TheColor );
-
- END;
-
- {----}
-
- ODF_ColorBack:
- BEGIN
-
- OpCrt.TextBackGround( ODP^.TheColor );
-
- END;
-
- {----}
-
- ODF_GetWin:
- BEGIN
-
-
- ODP^.X1 := Lo( OpCrt.WindMin );
- ODP^.Y1 := Hi( OpCrt.WindMin );
- ODP^.X2 := Lo( OpCrt.WindMax );
- ODP^.Y2 := Lo( OpCrt.WindMax );
-
- ODP^.Status := ODS_Changed;
-
- END;
-
- {----}
-
- ODF_GetAttr:
- BEGIN
-
- ODP^.Attr := TextAttr;
-
- ODP^.Status := ODS_Changed;
-
- END;
-
- {----}
-
- ODF_SetAttr:
- BEGIN
-
- TextAttr := ODP^.Attr;
-
- END;
-
- {----}
-
- ODF_GetXY:
- BEGIN
-
- ODP^.X1 := OpCrt.WhereX;
- ODP^.Y1 := OpCrt.WhereY;
-
- ODP^.Status := ODS_Changed;
-
- END;
-
- {----}
-
- ODF_GetNumScreens:
- BEGIN
-
- ODP^.Screens := 8;
-
- ODP^.Status := ODS_Changed;
-
- END;
-
- {----}
-
- ODF_GoScreen:
- BEGIN
-
- END;
-
- {----}
-
- ODF_SetCursorType:
- BEGIN
-
-
- END;
-
- {----}
-
- ODF_DrawHLine:
- BEGIN
-
-
-
- END;
-
- {----}
-
- ODF_DrawVLine:
- BEGIN
-
-
- END;
-
- {----}
-
- ODF_DrawHLine:
- BEGIN
-
-
-
- END;
-
- {----}
-
- ODF_DrawBox:
- BEGIN
-
-
-
- END;
-
- {----}
-
- ODF_ReadChar:
- BEGIN
-
-
-
- END;
-
- {----}
-
- ODF_ReadAttr:
- BEGIN
-
-
-
- END;
-
- {----}
-
- Else { Case Func Of }
-
-
- END;
-
- END; { If ODP^.Status = 0 }
-
- END;
-
- {--------------------------------------------------------------------------}
-