- Revert 44301
[reactos.git] / subsystems / win32 / win32k / include / monitor.h
1 #ifndef _WIN32K_MONITOR_H
2 #define _WIN32K_MONITOR_H
3
4 //struct PDEVOBJ;
5
6 /* monitor object */
7 typedef struct _MONITOR_OBJECT
8 {
9 HANDLE Handle; /* system object handle */
10 FAST_MUTEX Lock; /* R/W lock */
11
12 BOOL IsPrimary; /* wether this is the primary monitor */
13 UNICODE_STRING DeviceName; /* name of the monitor */
14 PDEVOBJ *GdiDevice; /* pointer to the GDI device to
15 which this monitor is attached */
16 struct _MONITOR_OBJECT *Prev, *Next; /* doubly linked list */
17
18 // This is the structure Windows uses:
19 // HEAD head;
20 // struct _MONITOR_OBJECT *pMonitorNext;
21 // DWORD dwMONFlags;
22 RECT rcMonitor;
23 RECT rcWork;
24 // HRGN hrgnMonitor;
25 // SHORT Spare0;
26 // SHORT cWndStack;
27 // HDEV hDev;
28 // HDEV hDevReal;
29 // BYTE DockTargets[4][7];
30 // struct _MONITOR_OBJECT* Flink;
31 // struct _MONITOR_OBJECT* Blink;
32 } MONITOR_OBJECT, *PMONITOR_OBJECT;
33
34 /* functions */
35 NTSTATUS InitMonitorImpl();
36 NTSTATUS CleanupMonitorImpl();
37
38 NTSTATUS IntAttachMonitor(PDEVOBJ *pGdiDevice, ULONG DisplayNumber);
39 NTSTATUS IntDetachMonitor(PDEVOBJ *pGdiDevice);
40 PMONITOR_OBJECT FASTCALL UserGetMonitorObject(IN HMONITOR);
41
42 #endif /* _WIN32K_MONITOR_H */
43
44 /* EOF */