home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 502b.lha / PCQ_v1.2 / Include / Graphics / View.i < prev   
Text File  |  1991-05-07  |  3KB  |  124 lines

  1. {
  2.     View.i for PCQ Pascal
  3. }
  4.  
  5.  
  6. {$I "Include:Graphics/GFX.i"}
  7. {$I "Include:Graphics/Copper.i"}
  8.  
  9. type
  10.  
  11.     ColorMap = record
  12.     Flags    : Byte;
  13.     CType    : Byte;        { This is "Type" in C includes }
  14.     Count    : Short;
  15.     ColorTable    : Address;
  16.     end;
  17.     ColorMapPtr = ^ColorMap;
  18.  
  19. { if Type = 0 then ColorTable is a table of UWORDS xRGB }
  20.  
  21.     RasInfo = record    { used by callers to and InitDspC() }
  22.     Next    : ^RasInfo;    { used for dualpf }
  23.     BitMap    : BitMapPtr;
  24.     RxOffset,
  25.     RyOffset : Short;    { scroll offsets in this BitMap }
  26.     end;
  27.     RasInfoPtr = ^RasInfo;
  28.  
  29.     ViewPort = record
  30.     Next    : ^ViewPort;
  31.     ColorMap : ColorMapPtr;    { table of colors for this viewport }
  32.               { if this is nil, MakeVPort assumes default values }
  33.     DspIns    : CopListPtr;    { user by MakeView() }
  34.     SprIns    : CopListPtr;    { used by sprite stuff }
  35.     ClrIns    : CopListPtr;    { used by sprite stuff }
  36.     UCopIns    : UCopListPtr;    { User copper list }
  37.     DWidth,
  38.     DHeight    : Short;
  39.     DxOffset,
  40.     DyOffset : Short;
  41.     Modes    : Short;
  42.     SpritePriorities : Byte;    { used by makevp }
  43.     reserved : Byte;
  44.     RasInfo    : RasInfoPtr;
  45.     end;
  46.     ViewPortPtr = ^ViewPort;
  47.  
  48.  
  49.     View = record
  50.     ViewPort    : ViewPortPtr;
  51.     LOFCprList    : cprlistptr;    { used for interlaced and noninterlaced }
  52.     SHFCprList    : cprlistptr;    { only used during interlace }
  53.     DyOffset,
  54.     DxOffset    : Short;    { for complete View positioning }
  55.                 { offsets are +- adjustments to standard #s }
  56.     Modes        : Short;    { such as INTERLACE, GENLOC }
  57.     end;
  58.     ViewPtr = ^View;
  59.  
  60.  
  61. { defines used for Modes in IVPargs }
  62.  
  63. const
  64.  
  65.     PFBA    = $40;
  66.     DUALPF    = $400;
  67.     HIRES    = $8000;
  68.     LACE    = 4;
  69.     HAM        = $800;
  70.     SPRITES    = $4000;    { reuse one of plane ctr bits }
  71.     VP_HIDE    = $2000;    { reuse another plane crt bit }
  72.     GENLOCK_AUDIO = $100;
  73.     GENLOCK_VIDEO = 2;
  74.     EXTRA_HALFBRITE = $80;
  75.  
  76. Procedure FreeColorMap(colormap : ColorMapPtr);
  77.     External;
  78.  
  79. Procedure FreeVPortCopLists(vp : ViewPortPtr);
  80.     External;
  81.  
  82. Function GetColorMap(entries : Integer) : ColorMapPtr;
  83.     External;
  84.  
  85. Function GetRGB4(colomap : ColorMapPtr; entry : Integer) : Integer;
  86.     External;
  87.  
  88. Procedure InitView(view : ViewPtr);
  89.     External;
  90.  
  91. Procedure InitVPort(vp : ViewPortPtr);
  92.     External;
  93.  
  94. Procedure LoadRGB4(vp : ViewPortPtr; colors : Address; count : Short);
  95.     External;
  96.  
  97. Procedure LoadView(view : ViewPtr);
  98.     External;
  99.  
  100. Procedure MakeVPort(view : ViewPtr; viewport : ViewPortPtr);
  101.     External;
  102.  
  103. Procedure MrgCop(view : ViewPtr);
  104.     External;
  105.  
  106. Procedure ScrollVPort(vp : ViewPortPtr);
  107.     External;
  108.  
  109. Procedure SetRGB4(vp : ViewPortPtr; n : Short; r, g, b : Byte);
  110.     External;
  111.  
  112. Procedure SetRGB4CM(cm : ColorMapPtr; n : Short; r, g, b : Byte);
  113.     External;
  114.  
  115. Function VBeamPos : Integer;
  116.     External;
  117.  
  118. Procedure WaitBOVP(vp : ViewPortPtr);
  119.     External;
  120.  
  121. Procedure WaitTOF;
  122.     External;
  123.  
  124.