sys7.1-doc-wip/Interfaces/PInterfaces/Video.p
2019-07-27 22:37:48 +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}