home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / BC_DICE2.DMS / in.adf / INCLUDE / graphics / displayinfo.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-01-10  |  4.4 KB  |  216 lines

  1. #ifndef GRAPHICS_DISPLAYINFO_H
  2. #define GRAPHICS_DISPLAYINFO_H
  3. /*
  4. ** $Filename: graphics/displayinfo.h $
  5. ** $Release: 2.04 Includes, V37.4 $
  6. ** $Revision: 37.6 $
  7. ** $Date: 91/11/08 $
  8. **
  9. ** include define file for displayinfo database
  10. **
  11. ** (C) Copyright 1985-1991 Commodore-Amiga, Inc.
  12. ** All Rights Reserved
  13. */
  14.  
  15. #ifndef EXEC_TYPES_H
  16. #include <exec/types.h>
  17. #endif 
  18.  
  19. #ifndef GRAPHICS_GFX_H
  20. #include <graphics/gfx.h>
  21. #endif 
  22.  
  23. #ifndef GRAPHICS_MONITOR_H
  24. #include <graphics/monitor.h>
  25. #endif 
  26.  
  27. #ifndef UTILITY_TAGITEM_H
  28. #include <utility/tagitem.h>
  29. #endif 
  30.  
  31.  
  32.  
  33. typedef APTR DisplayInfoHandle;
  34.  
  35.  
  36.  
  37. #define DTAG_DISP 0x80000000
  38. #define DTAG_DIMS 0x80001000
  39. #define DTAG_MNTR 0x80002000
  40. #define DTAG_NAME 0x80003000
  41.  
  42. struct QueryHeader
  43. {
  44.  ULONG StructID; 
  45.  ULONG DisplayID; 
  46.  ULONG SkipID; 
  47.  ULONG Length; 
  48. };
  49.  
  50. struct DisplayInfo
  51. {
  52.  struct QueryHeader Header;
  53.  UWORD NotAvailable; 
  54.  ULONG PropertyFlags; 
  55.  Point Resolution; 
  56.  UWORD PixelSpeed; 
  57.  UWORD NumStdSprites; 
  58.  UWORD PaletteRange; 
  59.  Point SpriteResolution; 
  60.  UBYTE pad[4];
  61.  ULONG reserved[2]; 
  62. };
  63.  
  64.  
  65.  
  66. #define DI_AVAIL_NOCHIPS 0x0001
  67. #define DI_AVAIL_NOMONITOR 0x0002
  68. #define DI_AVAIL_NOTWITHGENLOCK 0x0004
  69.  
  70.  
  71.  
  72. #define DIPF_IS_LACE 0x00000001
  73. #define DIPF_IS_DUALPF 0x00000002
  74. #define DIPF_IS_PF2PRI 0x00000004
  75. #define DIPF_IS_HAM 0x00000008
  76.  
  77. #define DIPF_IS_ECS 0x00000010 
  78. #define DIPF_IS_PAL 0x00000020
  79. #define DIPF_IS_SPRITES 0x00000040
  80. #define DIPF_IS_GENLOCK 0x00000080
  81.  
  82. #define DIPF_IS_WB 0x00000100
  83. #define DIPF_IS_DRAGGABLE 0x00000200
  84. #define DIPF_IS_PANELLED 0x00000400
  85. #define DIPF_IS_BEAMSYNC 0x00000800
  86.  
  87. #define DIPF_IS_EXTRAHALFBRITE 0x00001000
  88.  
  89. struct DimensionInfo
  90. {
  91.  struct QueryHeader Header;
  92.  UWORD MaxDepth; 
  93.  UWORD MinRasterWidth; 
  94.  UWORD MinRasterHeight; 
  95.  UWORD MaxRasterWidth; 
  96.  UWORD MaxRasterHeight; 
  97.  struct Rectangle Nominal; 
  98.  struct Rectangle MaxOScan; 
  99.  struct Rectangle VideoOScan; 
  100.  struct Rectangle TxtOScan; 
  101.  struct Rectangle StdOScan; 
  102.  UBYTE pad[14];
  103.  ULONG reserved[2]; 
  104. };
  105.  
  106. struct MonitorInfo
  107. {
  108.  struct QueryHeader Header;
  109.  struct MonitorSpec *Mspc; 
  110.  Point ViewPosition; 
  111.  Point ViewResolution; 
  112.  struct Rectangle ViewPositionRange; 
  113.  UWORD TotalRows; 
  114.  UWORD TotalColorClocks; 
  115.  UWORD MinRow; 
  116.  WORD Compatibility; 
  117.  UBYTE pad[36];
  118.  Point DefaultViewPosition; 
  119.  ULONG PreferredModeID; 
  120.  ULONG reserved[2]; 
  121. };
  122.  
  123.  
  124.  
  125. #define MCOMPAT_MIXED 0 
  126. #define MCOMPAT_SELF 1 
  127. #define MCOMPAT_NOBODY -1 
  128.  
  129. #define DISPLAYNAMELEN 32
  130.  
  131. struct NameInfo
  132. {
  133.  struct QueryHeader Header;
  134.  UBYTE Name[DISPLAYNAMELEN];
  135.  ULONG reserved[2]; 
  136. };
  137.  
  138.  
  139.  
  140. #define INVALID_ID ~0
  141.  
  142.  
  143.  
  144. #define MONITOR_ID_MASK 0xFFFF1000
  145.  
  146. #define DEFAULT_MONITOR_ID 0x00000000
  147. #define NTSC_MONITOR_ID 0x00011000
  148. #define PAL_MONITOR_ID 0x00021000
  149.  
  150.  
  151.  
  152.  
  153.  
  154. #define LORES_KEY 0x00000000
  155. #define HIRES_KEY 0x00008000
  156. #define SUPER_KEY 0x00008020
  157. #define HAM_KEY 0x00000800
  158. #define LORESLACE_KEY 0x00000004
  159. #define HIRESLACE_KEY 0x00008004
  160. #define SUPERLACE_KEY 0x00008024
  161. #define HAMLACE_KEY 0x00000804
  162. #define LORESDPF_KEY 0x00000400
  163. #define HIRESDPF_KEY 0x00008400
  164. #define SUPERDPF_KEY 0x00008420
  165. #define LORESLACEDPF_KEY 0x00000404
  166. #define HIRESLACEDPF_KEY 0x00008404
  167. #define SUPERLACEDPF_KEY 0x00008424
  168. #define LORESDPF2_KEY 0x00000440
  169. #define HIRESDPF2_KEY 0x00008440
  170. #define SUPERDPF2_KEY 0x00008460
  171. #define LORESLACEDPF2_KEY 0x00000444
  172. #define HIRESLACEDPF2_KEY 0x00008444
  173. #define SUPERLACEDPF2_KEY 0x00008464
  174. #define EXTRAHALFBRITE_KEY 0x00000080
  175. #define EXTRAHALFBRITELACE_KEY 0x00000084
  176.  
  177.  
  178.  
  179. #define VGA_MONITOR_ID 0x00031000
  180.  
  181. #define VGAEXTRALORES_KEY 0x00031004
  182. #define VGALORES_KEY 0x00039004
  183. #define VGAPRODUCT_KEY 0x00039024
  184. #define VGAHAM_KEY 0x00031804
  185. #define VGAEXTRALORESLACE_KEY 0x00031005
  186. #define VGALORESLACE_KEY 0x00039005
  187. #define VGAPRODUCTLACE_KEY 0x00039025
  188. #define VGAHAMLACE_KEY 0x00031805
  189. #define VGAEXTRALORESDPF_KEY 0x00031404
  190. #define VGALORESDPF_KEY 0x00039404
  191. #define VGAPRODUCTDPF_KEY 0x00039424
  192. #define VGAEXTRALORESLACEDPF_KEY 0x00031405
  193. #define VGALORESLACEDPF_KEY 0x00039405
  194. #define VGAPRODUCTLACEDPF_KEY 0x00039425
  195. #define VGAEXTRALORESDPF2_KEY 0x00031444
  196. #define VGALORESDPF2_KEY 0x00039444
  197. #define VGAPRODUCTDPF2_KEY 0x00039464
  198. #define VGAEXTRALORESLACEDPF2_KEY 0x00031445
  199. #define VGALORESLACEDPF2_KEY 0x00039445
  200. #define VGAPRODUCTLACEDPF2_KEY 0x00039465
  201. #define VGAEXTRAHALFBRITE_KEY 0x00031084
  202. #define VGAEXTRAHALFBRITELACE_KEY 0x00031085
  203.  
  204.  
  205.  
  206. #define A2024_MONITOR_ID 0x00041000
  207.  
  208. #define A2024TENHERTZ_KEY 0x00041000
  209. #define A2024FIFTEENHERTZ_KEY 0x00049000
  210.  
  211.  
  212.  
  213. #define PROTO_MONITOR_ID 0x00051000
  214.  
  215. #endif 
  216.