mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-29 05:49:19 +00:00
192 lines
5.6 KiB
OpenEdge ABL
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}
|
|
|