home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 15 / CDACTUAL15.iso / cdactual / program / pascal / PASLIBR.ZIP / FPVIDEO.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1991-03-15  |  7.3 KB  |  245 lines

  1. {------------------------------------------------------------}
  2. {-       FlashPac Pascal Library (Video Unit) - V3.5        -}
  3. {-      (c) Copyright 1986-1991 - All Rights Reserved       -}
  4. {-                     SimpleSoft Inc                       -}
  5. {-                     1209 Poplar St                       -}
  6. {-                 La Crescent, MN 55947                    -}
  7. {------------------------------------------------------------}
  8.  
  9. Unit FPVideo;
  10. Interface
  11. {$B-,F+}
  12. {$IFNDEF VER40}
  13. {D-}
  14. {$ENDIF}
  15. uses Crt,FPGetKey;
  16.  
  17. Const
  18.    VioMode    : Word = 7;
  19.    VioPage    : Word = 0;
  20.    VioCols    : Word = 80;
  21.    VioCursor  : Word = $0C0D;
  22.    VioBaseSeg : Word = $B000;
  23.    InsMode    : Word = 0;
  24.  
  25. Type
  26.    TSet   = Set Of 0..255;
  27.  
  28. {--------------------------------------------------------------------}
  29.  
  30.    Procedure VioInit;
  31.    Procedure BorderColor(Color : Integer);
  32.    Procedure ClrWin(x1,y1,x2,y2,Attr : Integer);
  33.    Procedure ColorMsg(x,y,Attr : Integer; St : String);
  34.    Procedure DspMsg(x,y : Integer; St : String);
  35.  
  36.    Procedure EditSt(    Row,
  37.                         St_Col,
  38.                         Sp_Col,Len,
  39.                         CaseInd,
  40.                         FillCh,
  41.                         AutoSkipInd,
  42.                         ToneErr,
  43.                         DurErr        : Integer;
  44.                     Var VCSet,TCSet   : TSet;
  45.                     Var ChOfs,TE      : Integer;
  46.                     Var St            : String);
  47.  
  48.    Procedure FillColAttr(X,Y,NRows,Attr : Integer);
  49.    Procedure FillColCell(X,Y,NRows : Integer; Cell : Word);
  50.    Procedure FillColChar(X,Y,NRows : Integer; Ch : Char);
  51.  
  52.    Procedure FillFrameAttr(X1,Y1,X2,Y2,Attr : Integer);
  53.    Procedure FillFrameCell(X1,Y1,X2,Y2 : Integer; Cell : Word);
  54.    Procedure FillFrameChar(X1,Y1,X2,Y2 : Integer; Ch   : Char);
  55.  
  56.    Procedure FillRowAttr(X,Y,NBytes,Attr : Integer);
  57.    Procedure FillRowCell(X,Y,NWords : Integer; Cell : Word);
  58.    Procedure FillRowChar(X,Y,NBytes : Integer; Ch : Char);
  59.  
  60.    Procedure FrameWin(UL,UR,LL,LR,Hor,Ver : Char; Color : Integer);
  61.  
  62.    Procedure GetFrameAttr(X1,Y1,X2,Y2 : Integer; Var Buffer );
  63.    Procedure GetFrameCell(X1,Y1,X2,Y2 : Integer; Var Buffer );
  64.    Procedure GetFrameChar(X1,Y1,X2,Y2 : Integer; Var Buffer );
  65.  
  66.    Procedure GetScrn(X,Y,NWords : Integer;       Var Buffer );
  67.    Procedure PutScrn(X,Y,NWords : Integer;       Var Buffer );
  68.  
  69.    Procedure PutFrameAttr(X1,Y1,X2,Y2 : Integer; Var Buffer );
  70.    Procedure PutFrameCell(X1,Y1,X2,Y2 : Integer; Var Buffer );
  71.    Procedure PutFrameChar(X1,Y1,X2,Y2 : Integer; Var Buffer );
  72.  
  73.    Function  GetCursorSize : Word;
  74.    Procedure SetCursorSize(StScan,SpScan : Integer);
  75.    Procedure HideCursor;
  76.    Procedure ShowCursor;
  77.  
  78.  
  79.    Function  GetVideoMode : Integer;
  80.    Function  GetVideoCols : Integer;
  81.    Function  GetVideoPage : Integer;
  82.    Procedure GetVideoInfo(Var BaseSeg,Cols,Pg,Mode : Word);
  83.    Procedure InitVideo(Mode : Integer);
  84.    Function  RvsAttr(Attr : Integer) : Integer;
  85.    Procedure SetVideoPage(PageNo : Integer);
  86.  
  87.    Procedure GotoxyAbs(X,Y : Integer);
  88.    Function  WhereXAbs : Integer;
  89.    Function  WhereYAbs : Integer;
  90.  
  91.    Procedure ScrollLeft(X1,Y1,X2,Y2,Attr,NCols : Integer);
  92.    Procedure ScrollRight(X1,Y1,X2,Y2,Attr,NCols : Integer);
  93.    Procedure ScrollUp(X1,Y1,X2,Y2,Attr,NRows : Integer);
  94.    Procedure ScrollDown(X1,Y1,X2,Y2,Attr,NRows : Integer);
  95.  
  96.    Procedure WindowFP(X1,Y1,X2,Y2 : Integer);
  97.    Procedure WriteSt(St : String);
  98.    Procedure WriteStLn(St : String);
  99.  
  100. {--------------------------------------------------------------------}
  101. {-                                                                  -}
  102. {--------------------------------------------------------------------}
  103.  
  104. Implementation
  105.  
  106. Const
  107.    Copyright1 = 'FlashPac Pascal Library (Video Unit) - V3.5';
  108.    Copyright2 = '(c) Copyright 1986-1991 - All Rights Reserved';
  109.    Copyright3 = 'SimpleSoft, Inc.';
  110.    Copyright4 = '1209 Poplar St';
  111.    Copyright5 = 'La Crescent, MN 55947';
  112.  
  113.    {$L video\VioInit }
  114.    {$L video\Border  }
  115.    {$L video\ClrWin  }
  116.    {$L video\ColorMsg}
  117.    {$L video\Calcxy  }
  118.    {$L video\DspMsg  }
  119.    {$L video\EditSt  }
  120.  
  121.    {$L video\FColByte}
  122.    {$L video\FColCell}
  123.  
  124.    {$L video\FramByte}
  125.    {$L video\FramCell}
  126.  
  127.    {$L video\FRowByte}
  128.    {$L video\FRowCell}
  129.  
  130.    {$L video\FrameWin}
  131.    {$L video\GFramByt}
  132.  
  133.    {$L video\GScrn   }
  134.    {$L video\PScrn   }
  135.  
  136.    {$L video\PFramByt}
  137.  
  138.    {$L video\GCurSize}
  139.    {$L video\SCurSize}
  140.    {$L video\HCursor }
  141.    {$L video\SCursor }
  142.  
  143.    {$L video\RvsAttr }
  144.  
  145.    {$L video\GVioMode}
  146.    {$L video\GVioCols}
  147.    {$L video\GVioPage}
  148.    {$L video\GVioInfo}
  149.    {$L video\InitVio }
  150.  
  151.    {$L video\SVioPage}
  152.    {$L video\GotoxyAb}
  153.    {$L video\WhereXAb}
  154.    {$L video\WhereYAb}
  155.  
  156.    {$L video\ScrollLt}
  157.    {$L video\ScrollRt}
  158.    {$L video\ScrollVt}
  159.  
  160.    {$L video\WindowFP}
  161.    {$L video\WrtSt   }
  162.    {$L video\WrtStLn }
  163.  
  164.    {$L video\DspMem1 }
  165.    {$L video\DspMem2 }
  166.    {$L video\DspReg1 }
  167.    {$L video\DspReg2 }
  168.    {$L video\ReadMem1}
  169.    {$L video\ReadMem2}
  170.  
  171. {--------------------------------------------------------------------}
  172.  
  173.    Procedure VioInit;          External;
  174.    Procedure BorderColor;      External;
  175.    Procedure ClrWin;           External;
  176.    Procedure ColorMsg;         External;
  177.    Function  Calcxy : Integer; External;
  178.    Procedure DspMsg;           External;
  179.    Procedure EditSt;           External;
  180.  
  181.    Procedure FillColAttr;      External;
  182.    Procedure FillColCell;      External;
  183.    Procedure FillColChar;      External;
  184.  
  185.    Procedure FillFrameAttr;    External;
  186.    Procedure FillFrameCell;    External;
  187.    Procedure FillFrameChar;    External;
  188.  
  189.    Procedure FillRowAttr;      External;
  190.    Procedure FillRowCell;      External;
  191.    Procedure FillRowChar;      External;
  192.  
  193.    Procedure FrameWin;         External;
  194.  
  195.    Procedure GetFrameAttr;     External;
  196.    Procedure GetFrameCell;     External;
  197.    Procedure GetFrameChar;     External;
  198.  
  199.    Procedure GetScrn;          External;
  200.    Procedure PutScrn;          External;
  201.  
  202.    Procedure PutFrameAttr;     External;
  203.    Procedure PutFrameCell;     External;
  204.    Procedure PutFrameChar;     External;
  205.  
  206.    Function  GetCursorSize;    External;
  207.    Procedure SetCursorSize;    External;
  208.    Procedure HideCursor;       External;
  209.    Procedure ShowCursor;       External;
  210.  
  211.    Function  RvsAttr;          External;
  212.  
  213.    Function  GetVideoMode;     External;
  214.    Function  GetVideoCols;     External;
  215.    Function  GetVideoPage;     External;
  216.    Procedure GetVideoInfo;     External;
  217.    Procedure InitVideo;        External;
  218.  
  219.    Procedure SetVideoPage;     External;
  220.    Procedure GotoxyAbs;        External;
  221.    Function  WhereXAbs;        External;
  222.    Function  WhereYAbs;        External;
  223.  
  224.    Procedure ScrollLeft;       External;
  225.    Procedure ScrollRight;      External;
  226.    Procedure ScrollUp;         External;
  227.    Procedure ScrollDown;       External;
  228.  
  229.    Procedure WindowFP;         External;
  230.    Procedure WriteSt;          External;
  231.    Procedure WriteStLn;        External;
  232.  
  233.    Procedure VioDspReg1;       External;
  234.    Procedure VioDspReg2;       External;
  235.    Procedure VioDspMem1;       External;
  236.    Procedure VioDspMem2;       External;
  237.    Procedure VioReadMem1;      External;
  238.    Procedure VioReadMem2;      External;
  239.  
  240. {--------------------------------------------------------------------}
  241.  
  242. Begin
  243.    VioInit;
  244. end.
  245.