mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2025-01-19 21:30:04 +00:00
0ba83392d4
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.
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}
|
|
|