mac-rom/Interfaces/PInterfaces/Video.p
Elliot Nunn 4325cdcc78 Bring in CubeE sources
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included.

The Tools directory, containing mostly junk, is also excluded.
2017-12-26 09:52:23 +08:00

192 lines
5.6 KiB
OpenEdge ABL

{
Created: Sunday, July 28, 1991 at 12:23 AM
Video.p
Pascal Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1986-1991
All rights reserved
This file is used in these builds: Mac32 BigBang Sys606
Change History (most recent first):
<4> 7/31/91 JL Updated Copyright.
<3> 1/27/91 LN Checked in Database generate file from DSG. Added cscGrayScreen
to match .h file.
To Do:
}
{$IFC UNDEFINED UsingIncludes}
{$SETC UsingIncludes := 0}
{$ENDC}
{$IFC NOT UsingIncludes}
UNIT Video;
INTERFACE
{$ENDC}
{$IFC UNDEFINED UsingVideo}
{$SETC UsingVideo := 1}
{$I+}
{$SETC VideoIncludes := UsingIncludes}
{$SETC UsingIncludes := 1}
{$IFC UNDEFINED UsingQuickdraw}
{$I $$Shell(PInterfaces)Quickdraw.p}
{$ENDC}
{$SETC UsingIncludes := VideoIncludes}
CONST
mBaseOffset = 1; {Id of mBaseOffset.}
mRowBytes = 2; {Video sResource parameter Id's }
mBounds = 3; {Video sResource parameter Id's }
mVersion = 4; {Video sResource parameter Id's }
mHRes = 5; {Video sResource parameter Id's }
mVRes = 6; {Video sResource parameter Id's }
mPixelType = 7; {Video sResource parameter Id's }
mPixelSize = 8; {Video sResource parameter Id's }
mCmpCount = 9; {Video sResource parameter Id's }
mCmpSize = 10; {Video sResource parameter Id's }
mPlaneBytes = 11; {Video sResource parameter Id's }
mVertRefRate = 14; {Video sResource parameter Id's }
mVidParams = 1; {Video parameter block id.}
mTable = 2; {Offset to the table.}
mPageCnt = 3; {Number of pages}
mDevType = 4; {Device Type}
oneBitMode = 128; {Id of OneBitMode Parameter list.}
twoBitMode = 129; {Id of TwoBitMode Parameter list.}
fourBitMode = 130; {Id of FourBitMode Parameter list.}
eightBitMode = 131; {Id of EightBitMode Parameter list.}
sixteenBitMode = 132; {Id of SixteenBitMode Parameter list.}
thirtyTwoBitMode = 133; {Id of ThirtyTwoBitMode Parameter list.}
firstVidMode = 128; {The new, better way to do the above. }
secondVidMode = 129; { QuickDraw only supports six video }
thirdVidMode = 130; { at this time. }
fourthVidMode = 131;
fifthVidMode = 132;
sixthVidMode = 133;
spGammaDir = 64;
spVidNamesDir = 65;
{ Control Codes }
cscReset = 0;
cscKillIO = 1;
cscSetMode = 2;
cscSetEntries = 3;
cscSetGamma = 4;
cscGrayPage = 5;
cscGrayScreen = 5;
cscSetGray = 6;
cscSetInterrupt = 7;
cscDirectSetEntries = 8;
cscSetDefaultMode = 9;
{ Status Codes }
cscGetMode = 2;
cscGetEntries = 3;
cscGetPageCnt = 4;
cscGetPages = 4; { This is what C&D 2 calls it. }
cscGetPageBase = 5;
cscGetBaseAddr = 5; { This is what C&D 2 calls it. }
cscGetGray = 6;
cscGetInterrupt = 7;
cscGetGamma = 8;
cscGetDefaultMode = 9;
TYPE
VPBlockPtr = ^VPBlock;
VPBlock = RECORD
vpBaseOffset: LONGINT; {Offset to page zero of video RAM (From minorBaseOS).}
vpRowBytes: INTEGER; {Width of each row of video memory.}
vpBounds: Rect; {BoundsRect for the video display (gives dimensions).}
vpVersion: INTEGER; {PixelMap version number.}
vpPackType: INTEGER;
vpPackSize: LONGINT;
vpHRes: LONGINT; {Horizontal resolution of the device (pixels per inch).}
vpVRes: LONGINT; {Vertical resolution of the device (pixels per inch).}
vpPixelType: INTEGER; {Defines the pixel type.}
vpPixelSize: INTEGER; {Number of bits in pixel.}
vpCmpCount: INTEGER; {Number of components in pixel.}
vpCmpSize: INTEGER; {Number of bits per component}
vpPlaneBytes: LONGINT; {Offset from one plane to the next.}
END;
VDEntRecPtr = ^VDEntryRecord;
VDEntryRecord = RECORD
csTable: Ptr; {(long) pointer to color table entry=value, r,g,b:INTEGER}
END;
{ Parm block for SetGray control call }
VDGrayPtr = ^VDGrayRecord;
VDGrayRecord = RECORD
csMode: BOOLEAN; {Same as GDDevType value (0=mono, 1=color)}
END;
{ Parm block for SetEntries control call }
VDSetEntryPtr = ^VDSetEntryRecord;
VDSetEntryRecord = RECORD
csTable: ^ColorSpec; {Pointer to an array of color specs}
csStart: INTEGER; {Which spec in array to start with, or -1}
csCount: INTEGER; {Number of color spec entries to set}
END;
{ Parm block for SetGamma control call }
VDGamRecPtr = ^VDGammaRecord;
VDGammaRecord = RECORD
csGTable: Ptr; {pointer to gamma table}
END;
VDPgInfoPtr = ^VDPageInfo;
VDPageInfo = RECORD
csMode: INTEGER; {(word) mode within device}
csData: LONGINT; {(long) data supplied by driver}
csPage: INTEGER; {(word) page to switch in}
csBaseAddr: Ptr; {(long) base address of page}
END;
VDSzInfoPtr = ^VDSizeInfo;
VDSizeInfo = RECORD
csHSize: INTEGER; {(word) desired/returned h size}
csHPos: INTEGER; {(word) desired/returned h position}
csVSize: INTEGER; {(word) desired/returned v size}
csVPos: INTEGER; {(word) desired/returned v position}
END;
VDSettingsPtr = ^VDSettings;
VDSettings = RECORD
csParamCnt: INTEGER; {(word) number of params}
csBrightMax: INTEGER; {(word) max brightness}
csBrightDef: INTEGER; {(word) default brightness}
csBrightVal: INTEGER; {(word) current brightness}
csCntrstMax: INTEGER; {(word) max contrast}
csCntrstDef: INTEGER; {(word) default contrast}
csCntrstVal: INTEGER; {(word) current contrast}
csTintMax: INTEGER; {(word) max tint}
csTintDef: INTEGER; {(word) default tint}
csTintVal: INTEGER; {(word) current tint}
csHueMax: INTEGER; {(word) max hue}
csHueDef: INTEGER; {(word) default hue}
csHueVal: INTEGER; {(word) current hue}
csHorizDef: INTEGER; {(word) default horizontal}
csHorizVal: INTEGER; {(word) current horizontal}
csHorizMax: INTEGER; {(word) max horizontal}
csVertDef: INTEGER; {(word) default vertical}
csVertVal: INTEGER; {(word) current vertical}
csVertMax: INTEGER; {(word) max vertical}
END;
{$ENDC} { UsingVideo }
{$IFC NOT UsingIncludes}
END.
{$ENDC}