home *** CD-ROM | disk | FTP | other *** search
- #ifndef GRAPHICS_DISPLAYINFO_H
- #define GRAPHICS_DISPLAYINFO_H
- /*
- ** $VER: displayinfo.h 37.6 (08.11.91)
- ** Includes Release 38.56
- **
- ** include define file for displayinfo database
- **
- ** (C) Copyright 1985-1992 Commodore-Amiga, Inc.
- ** All Rights Reserved
- */
-
- #ifndef EXEC_TYPES_H
- #include <exec/types.h>
- #endif /* EXEC_TYPES_H */
-
- #ifndef GRAPHICS_GFX_H
- #include <graphics/gfx.h>
- #endif /* GRAPHICS_GFX_H */
-
- #ifndef GRAPHICS_MONITOR_H
- #include <graphics/monitor.h>
- #endif /* GRAPHICS_MONITOR_H */
-
- #ifndef UTILITY_TAGITEM_H
- #include <utility/tagitem.h>
- #endif /* UTILITY_TAGITEM_H */
-
- /* the "public" handle to a DisplayInfoRecord */
-
- typedef APTR DisplayInfoHandle;
-
- /* datachunk type identifiers */
-
- #define DTAG_DISP 0x80000000
- #define DTAG_DIMS 0x80001000
- #define DTAG_MNTR 0x80002000
- #define DTAG_NAME 0x80003000
-
- struct QueryHeader
- {
- ULONG StructID; /* datachunk type identifier */
- ULONG DisplayID; /* copy of display record key */
- ULONG SkipID; /* TAG_SKIP -- see tagitems.h */
- ULONG Length; /* length of local data in double-longwords */
- };
-
- struct DisplayInfo
- {
- struct QueryHeader Header;
- UWORD NotAvailable; /* if NULL available, else see defines */
- ULONG PropertyFlags; /* Properties of this mode see defines */
- Point Resolution; /* ticks-per-pixel X/Y */
- UWORD PixelSpeed; /* aproximation in nanoseconds */
- UWORD NumStdSprites; /* number of standard amiga sprites */
- UWORD PaletteRange; /* distinguishable shades available */
- Point SpriteResolution; /* std sprite ticks-per-pixel X/Y */
- UBYTE pad[4];
- ULONG reserved[2]; /* terminator */
- };
-
- /* availability */
-
- #define DI_AVAIL_NOCHIPS 0x0001
- #define DI_AVAIL_NOMONITOR 0x0002
- #define DI_AVAIL_NOTWITHGENLOCK 0x0004
-
- /* mode properties */
-
- #define DIPF_IS_LACE 0x00000001
- #define DIPF_IS_DUALPF 0x00000002
- #define DIPF_IS_PF2PRI 0x00000004
- #define DIPF_IS_HAM 0x00000008
-
- #define DIPF_IS_ECS 0x00000010 /* note: ECS modes (SHIRES, VGA, and **
- ** PRODUCTIVITY) do not support **
- ** attached sprites. **
- */
- #define DIPF_IS_PAL 0x00000020
- #define DIPF_IS_SPRITES 0x00000040
- #define DIPF_IS_GENLOCK 0x00000080
-
- #define DIPF_IS_WB 0x00000100
- #define DIPF_IS_DRAGGABLE 0x00000200
- #define DIPF_IS_PANELLED 0x00000400
- #define DIPF_IS_BEAMSYNC 0x00000800
-
- #define DIPF_IS_EXTRAHALFBRITE 0x00001000
-
- struct DimensionInfo
- {
- struct QueryHeader Header;
- UWORD MaxDepth; /* log2( max number of colors ) */
- UWORD MinRasterWidth; /* minimum width in pixels */
- UWORD MinRasterHeight; /* minimum height in pixels */
- UWORD MaxRasterWidth; /* maximum width in pixels */
- UWORD MaxRasterHeight; /* maximum height in pixels */
- struct Rectangle Nominal; /* "standard" dimensions */
- struct Rectangle MaxOScan; /* fixed, hardware dependant */
- struct Rectangle VideoOScan; /* fixed, hardware dependant */
- struct Rectangle TxtOScan; /* editable via preferences */
- struct Rectangle StdOScan; /* editable via preferences */
- UBYTE pad[14];
- ULONG reserved[2]; /* terminator */
- };
-
- struct MonitorInfo
- {
- struct QueryHeader Header;
- struct MonitorSpec *Mspc; /* pointer to monitor specification */
- Point ViewPosition; /* editable via preferences */
- Point ViewResolution; /* standard monitor ticks-per-pixel */
- struct Rectangle ViewPositionRange; /* fixed, hardware dependant */
- UWORD TotalRows; /* display height in scanlines */
- UWORD TotalColorClocks; /* scanline width in 280 ns units */
- UWORD MinRow; /* absolute minimum active scanline */
- WORD Compatibility; /* how this coexists with others */
- UBYTE pad[36];
- Point DefaultViewPosition; /* original, never changes */
- ULONG PreferredModeID; /* for Preferences */
- ULONG reserved[2]; /* terminator */
- };
-
- /* monitor compatibility */
-
- #define MCOMPAT_MIXED 0 /* can share display with other MCOMPAT_MIXED */
- #define MCOMPAT_SELF 1 /* can share only within same monitor */
- #define MCOMPAT_NOBODY -1 /* only one viewport at a time */
-
- #define DISPLAYNAMELEN 32
-
- struct NameInfo
- {
- struct QueryHeader Header;
- UBYTE Name[DISPLAYNAMELEN];
- ULONG reserved[2]; /* terminator */
- };
-
- /* DisplayInfoRecord identifiers */
-
- #define INVALID_ID ~0
-
- /* normal identifiers */
-
- #define MONITOR_ID_MASK 0xFFFF1000
-
- #define DEFAULT_MONITOR_ID 0x00000000
- #define NTSC_MONITOR_ID 0x00011000
- #define PAL_MONITOR_ID 0x00021000
-
- /* the following 20 composite keys are for Modes on the default Monitor */
- /* ntsc & pal "flavors" of these particular keys may be made by or'ing */
- /* the ntsc or pal MONITOR_ID with the desired MODE_KEY... */
-
- #define LORES_KEY 0x00000000
- #define HIRES_KEY 0x00008000
- #define SUPER_KEY 0x00008020
- #define HAM_KEY 0x00000800
- #define LORESLACE_KEY 0x00000004
- #define HIRESLACE_KEY 0x00008004
- #define SUPERLACE_KEY 0x00008024
- #define HAMLACE_KEY 0x00000804
- #define LORESDPF_KEY 0x00000400
- #define HIRESDPF_KEY 0x00008400
- #define SUPERDPF_KEY 0x00008420
- #define LORESLACEDPF_KEY 0x00000404
- #define HIRESLACEDPF_KEY 0x00008404
- #define SUPERLACEDPF_KEY 0x00008424
- #define LORESDPF2_KEY 0x00000440
- #define HIRESDPF2_KEY 0x00008440
- #define SUPERDPF2_KEY 0x00008460
- #define LORESLACEDPF2_KEY 0x00000444
- #define HIRESLACEDPF2_KEY 0x00008444
- #define SUPERLACEDPF2_KEY 0x00008464
- #define EXTRAHALFBRITE_KEY 0x00000080
- #define EXTRAHALFBRITELACE_KEY 0x00000084
-
- /* vga identifiers */
-
- #define VGA_MONITOR_ID 0x00031000
-
- #define VGAEXTRALORES_KEY 0x00031004
- #define VGALORES_KEY 0x00039004
- #define VGAPRODUCT_KEY 0x00039024
- #define VGAHAM_KEY 0x00031804
- #define VGAEXTRALORESLACE_KEY 0x00031005
- #define VGALORESLACE_KEY 0x00039005
- #define VGAPRODUCTLACE_KEY 0x00039025
- #define VGAHAMLACE_KEY 0x00031805
- #define VGAEXTRALORESDPF_KEY 0x00031404
- #define VGALORESDPF_KEY 0x00039404
- #define VGAPRODUCTDPF_KEY 0x00039424
- #define VGAEXTRALORESLACEDPF_KEY 0x00031405
- #define VGALORESLACEDPF_KEY 0x00039405
- #define VGAPRODUCTLACEDPF_KEY 0x00039425
- #define VGAEXTRALORESDPF2_KEY 0x00031444
- #define VGALORESDPF2_KEY 0x00039444
- #define VGAPRODUCTDPF2_KEY 0x00039464
- #define VGAEXTRALORESLACEDPF2_KEY 0x00031445
- #define VGALORESLACEDPF2_KEY 0x00039445
- #define VGAPRODUCTLACEDPF2_KEY 0x00039465
- #define VGAEXTRAHALFBRITE_KEY 0x00031084
- #define VGAEXTRAHALFBRITELACE_KEY 0x00031085
-
- /* a2024 identifiers */
-
- #define A2024_MONITOR_ID 0x00041000
-
- #define A2024TENHERTZ_KEY 0x00041000
- #define A2024FIFTEENHERTZ_KEY 0x00049000
-
- /* prototype identifiers */
-
- #define PROTO_MONITOR_ID 0x00051000
-
- #endif /* GRAPHICS_DISPLAYINFO_H */
-