Indentation fix, cleanup.
[AROS.git] / compiler / include / intuition / monitorclass.h
blob098dce3aa6e1bb2203875c14134762a22528d99a
1 #ifndef INTUITION_MONITORCLASS_H
2 #define INTUITION_MONITORCLASS_H
4 /*
5 Copyright © 2010, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: Headerfile for BOOPSI monitorclass.
9 Lang: english
12 #include <exec/types.h>
14 /* Length of array returned by MA_PixelFormats */
15 #define MONITOR_MAXPIXELFORMATS 14
17 /* Attributes */
18 #define MA_Dummy (TAG_USER)
20 #define MA_MonitorName (MA_Dummy + 1) /* [..G] STRPTR Monitor name */
21 #define MA_Manufacturer (MA_Dummy + 2) /* [..G] STRPTR Hardware manufacturer string */
22 #define MA_ManufacturerID (MA_Dummy + 3) /* [..G] ULONG */
23 #define MA_ProductID (MA_Dummy + 4) /* [..G] ULONG */
24 #define MA_MemorySize (MA_Dummy + 5) /* [..G] ULONG Video card memory size */
25 #define MA_PixelFormats (MA_Dummy + 6) /* [..G] ULONG * Pixelformat support flags */
26 #define MA_TopLeftMonitor (MA_Dummy + 7) /* [.SG] Object * Monitor placed in a position relative to the current one */
27 #define MA_TopMiddleMonitor (MA_Dummy + 8) /* [.SG] Object * */
28 #define MA_TopRightMonitor (MA_Dummy + 9) /* [.SG] Object * */
29 #define MA_MiddleLeftMonitor (MA_Dummy + 10) /* [.SG] Object * */
30 #define MA_MiddleRightMonitor (MA_Dummy + 11) /* [.SG] Object * */
31 #define MA_BottomLeftMonitor (MA_Dummy + 12) /* [.SG] Object * */
32 #define MA_BottomMiddleMonitor (MA_Dummy + 13) /* [.SG] Object * */
33 #define MA_BottomRightMonitor (MA_Dummy + 14) /* [.SG] Object * */
34 #define MA_GammaControl (MA_Dummy + 15) /* [..G] BOOL Whether gamma control is supported */
35 #define MA_PointerType (MA_Dummy + 16) /* [..G] ULONG Supported pointer types */
36 #define MA_DriverName (MA_Dummy + 17) /* [..G] STRPTR Driver name */
37 #define MA_MemoryClock (MA_Dummy + 18) /* [..G] ULONG Video memory clock in Hz, 0 if unknown */
39 /* Pointer type flags */
40 #define PointerType_3Plus1 0x0001 /* color 0 transparent, 1-3 visible */
41 #define PointerType_2Plus1 0x0002 /* color 0 transparent, 2-3 visible, 1 undefined/clear/inverse */
42 #define PointerType_ARGB 0x0004 /* Direct color alpha-blended bitmap pointer */
44 /* Methods */
45 #define MM_GetRootBitMap 0x401 /* Reserved */
46 #define MM_Query3DSupport 0x402 /* Ask for 3D acceleration support for given pixelformat */
47 #define MM_GetDefaultGammaTables 0x403 /* Get default gamma correction table */
48 #define MM_GetDefaultPixelFormat 0x404 /* Ask for preferred pixelformat for given depth (-1 = unsupported depth) */
49 #define MM_GetPointerBounds 0x405 /* Ask for maximum supported mouse pointer size */
50 #define MM_RunBlanker 0x406 /* Start screensaver for this monitor */
51 #define MM_EnterPowerSaveMode 0x407 /* Start power saving mode */
52 #define MM_ExitBlanker 0x408 /* Stop screensaver or power saving mode */
54 /* AROS-specific attributes */
55 #define MA_AROS (TAG_USER + 0x00010000)
57 #define MA_Windowed (MA_AROS + 1) /* [G..] BOOL A display is a window on hosted OS */
59 /* AROS-specific methods */
60 #define MM_SetDefaultGammaTables 0x1401 /* Set default gamma correction table */
62 struct msGetRootBitMap
64 STACKED ULONG MethodID;
65 STACKED ULONG PixelFormat;
66 STACKED struct BitMap **Store;
69 struct msQuery3DSupport
71 STACKED ULONG MethodID;
72 STACKED ULONG PixelFormat;
73 STACKED ULONG *Store;
76 #define MSQUERY3D_UNKNOWN (0) /* Unsupported pixelformat or other error */
77 #define MSQUERY3D_NODRIVER (1) /* No 3D support available */
78 #define MSQUERY3D_SWDRIVER (2) /* Software 3D support available */
79 #define MSQUERY3D_HWDRIVER (3) /* Hardware accelerated 3D available */
81 struct msGetDefaultGammaTables
83 STACKED ULONG MethodID;
84 STACKED UBYTE *Red; /* Optional pointers to 256-byte arrays to fill in */
85 STACKED UBYTE *Green;
86 STACKED UBYTE *Blue;
89 struct msGetDefaultPixelFormat
91 STACKED ULONG MethodID;
92 STACKED ULONG Depth;
93 STACKED ULONG *Store;
96 struct msGetPointerBounds
98 STACKED ULONG MethodID;
99 STACKED ULONG PointerType;
100 STACKED ULONG *Width;
101 STACKED ULONG *Height;
104 #define msSetDefaultGammaTables msGetDefaultGammaTables
106 #endif