Added tracking support and fixed loading of resource strings.
[wine] / include / multimon.h
1 /*
2  * Multimonitor APIs
3  *
4  * Copyright 1998 Turchanov Sergey
5  */
6
7 #ifndef __WINE_MULTIMON_H
8 #define __WINE_MULTIMON_H
9
10 #define MONITOR_DEFAULTTONULL       0x00000000
11 #define MONITOR_DEFAULTTOPRIMARY    0x00000001
12 #define MONITOR_DEFAULTTONEAREST    0x00000002
13
14 #define HMONITOR HANDLE32 
15
16 HMONITOR WINAPI MonitorFromPoint(POINT32 pt, DWORD dwFlags);
17
18 HMONITOR WINAPI MonitorFromRect(LPRECT32 lprc, DWORD dwFlags);
19
20 HMONITOR WINAPI MonitorFromWindow(HWND32 hwnd, DWORD dwFlags);
21
22 #define MONITORINFOF_PRIMARY        0x00000001
23
24 #ifndef CCHDEVICENAME
25 #define CCHDEVICENAME 32
26 #endif
27
28 typedef struct tagMONITORINFO
29 {
30     DWORD   cbSize;
31     RECT32  rcMonitor;
32     RECT32  rcWork;
33     DWORD   dwFlags;
34 } MONITORINFO, *LPMONITORINFO;
35
36 typedef struct tagMONITORINFOEX32A
37 {
38     MONITORINFO dummy;
39     CHAR        szDevice[CCHDEVICENAME];
40 } MONITORINFOEX32A, *LPMONITORINFOEX32A;
41
42 typedef struct tagMONITORINFOEX32W
43 {
44     MONITORINFO dummy;
45     WCHAR       szDevice[CCHDEVICENAME];
46 } MONITORINFOEX32W, *LPMONITORINFOEX32W;
47
48 DECL_WINELIB_TYPE_AW (MONITOINFOEX)
49 DECL_WINELIB_TYPE_AW (LPMONITORINFOEXW)
50
51 BOOL32 WINAPI GetMonitorInfo32A(HMONITOR hMonitor, LPMONITORINFO lpmi);
52 BOOL32 WINAPI GetMonitorInfo32W(HMONITOR hMonitor, LPMONITORINFO lpmi);
53
54 #define GetMonitorInfo WINELIB_NAME_AW(GetMonitorInfo)
55
56 typedef BOOL32 (CALLBACK* MONITORENUMPROC)(HMONITOR, HDC32, LPRECT32, LPARAM);
57
58 BOOL32 WINAPI EnumDisplayMonitors(
59     HDC32             hdc,
60     LPRECT32         lprcClip,
61     MONITORENUMPROC lpfnEnum,
62     LPARAM          dwData);
63     
64 #endif __WINE_MULTIMON_H
65