home *** CD-ROM | disk | FTP | other *** search
- /*
- ** $VER: displayinfo.h 39.13 (31.5.93)
- ** Includes Release 40.15
- **
- ** include define file for displayinfo database
- **
- ** (C) Copyright 1985-1993 Commodore-Amiga, Inc.
- ** All Rights Reserved
- */
-
- MODULE 'graphics/gfx',
- 'graphics/monitor'
-
- // datachunk type identifiers
-
- CONST DTAG_DISP=$80000000,
- DTAG_DIMS=$80001000,
- DTAG_MNTR=$80002000,
- DTAG_NAME=$80003000,
- DTAG_VEC =$80004000 // internal use only
-
- OBJECT QueryHeader
- StructID:ULONG, // datachunk type identifier
- DisplayID:ULONG, // copy of display record key
- SkipID:ULONG, // TAG_SKIP -- see tagitems.m
- Length:ULONG // length of local data in double-longwords
-
- OBJECT DisplayInfo
- Header:QueryHeader,
- NotAvailable:UWORD, // if NULL available, else see defines
- PropertyFlags:ULONG, // Properties of this mode see defines
- Resolution:TPoint, // ticks-per-pixel X/Y
- PixelSpeed:UWORD, // aproximation in nanoseconds
- NumStdSprites:UWORD, // number of standard amiga sprites
- PaletteRange:UWORD, // OBSOLETE - use Red/Green/Blue bits instead
- SpriteResolution:TPoint,// std sprite ticks-per-pixel X/Y
- pad[4]:UBYTE, // used internally
- RedBits:UBYTE, // number of Red bits this display supports (V39)
- GreenBits:UBYTE, // number of Green bits this display supports (V39)
- BlueBits:UBYTE, // number of Blue bits this display supports (V39)
- pad2[5]:UBYTE, // find some use for this.
- reserved[2]:ULONG // terminator
-
- // availability
- SET DI_AVAIL_NOCHIPS,
- DI_AVAIL_NOMONITOR,
- DI_AVAIL_NOTWITHGENLOCK
-
- // mode properties
-
- CONST DIPF_IS_LACE =$00000001,
- DIPF_IS_DUALPF =$00000002,
- DIPF_IS_PF2PRI =$00000004,
- DIPF_IS_HAM =$00000008,
- DIPF_IS_ECS =$00000010, // note: ECS modes (SHIRES, VGA, and
- // PRODUCTIVITY) do not support
- // attached sprites.
- DIPF_IS_AA =$00010000, // AA modes - may only be available
- // if machine has correct memory
- // type to support required
- // bandwidth - check availability.
- // (V39)
- DIPF_IS_PAL =$00000020,
- DIPF_IS_SPRITES=$00000040,
- DIPF_IS_GENLOCK=$00000080,
- DIPF_IS_WB =$00000100,
- DIPF_IS_DRAGGABLE =$00000200,
- DIPF_IS_PANELLED =$00000400,
- DIPF_IS_BEAMSYNC =$00000800,
- DIPF_IS_EXTRAHALFBRITE =$00001000,
- // The following DIPF_IS_... flags are new for V39
- DIPF_IS_SPRITES_ATT =$00002000, // supports attached sprites
- DIPF_IS_SPRITES_CHNG_RES=$00004000, // supports variable sprite resolution
- DIPF_IS_SPRITES_BORDER =$00008000, // sprite can be displayed in the border
- DIPF_IS_SCANDBL =$00020000, // scan doubled
- DIPF_IS_SPRITES_CHNG_BASE=$00040000,
- // can change the sprite base colour
- DIPF_IS_SPRITES_CHNG_PRI=$00080000,
- // can change the sprite priority
- // with respect to the playfield(s).
- DIPF_IS_DBUFFER =$00100000, // can support double buffering
- DIPF_IS_PROGBEAM =$00200000, // is a programmed beam-sync mode
- DIPF_IS_FOREIGN =$80000000 // this mode is not native to the Amiga
-
-
- OBJECT DimensionInfo
- Header:QueryHeader,
- MaxDepth:UWORD, // log2( max number of colors )
- MinRasterWidth:UWORD, // minimum width in pixels
- MinRasterHeight:UWORD, // minimum height in pixels
- MaxRasterWidth:UWORD, // maximum width in pixels
- MaxRasterHeight:UWORD, // maximum height in pixels
- Nominal:Rectangle, // "standard" dimensions
- MaxOScan:Rectangle, // fixed, hardware dependent
- VideoOScan:Rectangle, // fixed, hardware dependent
- TxtOScan:Rectangle, // editable via preferences
- StdOScan:Rectangle, // editable via preferences
- pad[14]:UBYTE,
- reserved[2]:ULONG // terminator
-
- OBJECT MonitorInfo
- Header:QueryHeader,
- Mspc:PTR TO MonitorSpec, // pointer to monitor specification
- ViewPosition:TPoint, // editable via preferences
- ViewResolution:TPoint, // standard monitor ticks-per-pixel
- ViewPositionRange:Rectangle, // fixed, hardware dependent
- TotalRows:UWORD, // display height in scanlines
- TotalColorClocks:UWORD, // scanline width in 280 ns units
- MinRow:UWORD, // absolute minimum active scanline
- Compatibility:WORD, // how this coexists with others
- pad[32]:UBYTE,
- MouseTicks:TPoint,
- DefaultViewPosition:TPoint, // original, never changes
- PreferredModeID:ULONG, // for Preferences
- reserved[2]:ULONG // terminator
-
- // monitor compatibility
-
- CONST MCOMPAT_MIXED =0, // can share display with other MCOMPAT_MIXED
- MCOMPAT_SELF =1, // can share only within same monitor
- MCOMPAT_NOBODY=-1 // only one viewport at a time
-
- CONST DISPLAYNAMELEN=32
-
- OBJECT NameInfo
- Header:QueryHeader,
- Name[DISPLAYNAMELEN]:CHAR,
- reserved[2]:ULONG // terminator
-
- /******************************************************************************/
-
- /* The following VecInfo structure is PRIVATE, for our use only
- * Touch these, and burn! (V39)
- */
-
- OBJECT VecInfo
- Header:QueryHeader,
- Vec:APTR,
- Data:APTR,
- Type:UWORD,
- pad[3]:UWORD,
- reserved[2]:ULONG
-