win32api-2.3: Display handling
Sascha Brawer <[email protected]> Fri, 12 Sep 2003 14:04:53 +0200
| Newsgroups | gmane.comp.gnu.mingw.patches |
|---|---|
| Message-ID | <[email protected]> |
Dear MinGW maintainers, here's a patch for w32api-2.3 that adds ChangeDisplaySettingsEx and EnumDisplayDevices. Thanks a lot, by the way, for having created these Windows API header files! Best, -- Sascha Sascha Brawer, [email protected], http://www.dandelis.ch/people/brawer/ 2003-09-09 Sascha Brawer <[email protected]> * include/winuser.h (DISPLAY_DEVICE_ATTACHED_TO_DESKTOP, DISPLAY_DEVICE_PRIMARY_DEVICE, DISPLAY_DEVICE_MIRRORING_DRIVER, DISPLAY_DEVICE_VGA_COMPATIBLE, DISPLAY_DEVICE_REMOVABLE, DISPLAY_DEVICE_MODESPRUNED): Define constant. (ChangeDisplaySettingsEx[A,W]): Add prototype. (EnumDisplayDevices[A,W]): Likewise. * lib/user32.def (ChangeDisplaySettingsEx[A,W]): Add exports. (EnumDisplayDevices[A,W]): Likewise. $ diff -u include/winuser.h.orig include/winuser.h --- include/winuser.h.orig 2003-09-09 12:35:16.000000000 +0200 +++ include/winuser.h 2003-09-09 16:12:17.000000000 +0200 @@ -151,6 +151,12 @@ #define DISP_CHANGE_FAILED (-1) #define DISP_CHANGE_BADMODE (-2) #define DISP_CHANGE_NOTUPDATED (-3) +#define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 1 +#define DISPLAY_DEVICE_PRIMARY_DEVICE 4 +#define DISPLAY_DEVICE_MIRRORING_DRIVER 8 +#define DISPLAY_DEVICE_VGA_COMPATIBLE 0x10 +#define DISPLAY_DEVICE_REMOVABLE 0x20 +#define DISPLAY_DEVICE_MODESPRUNED 0x08000000 #define BST_CHECKED 1 #define BST_INDETERMINATE 2 #define BST_UNCHECKED 0 @@ -2764,6 +2770,8 @@ #ifndef NOGDI LONG WINAPI ChangeDisplaySettingsA(PDEVMODEA,DWORD); LONG WINAPI ChangeDisplaySettingsW(PDEVMODEW,DWORD); +LONG WINAPI ChangeDisplaySettingsExA(LPCSTR,LPDEVMODEA,HWND,DWORD,LPVOID); +LONG WINAPI ChangeDisplaySettingsExW(LPCWSTR,LPDEVMODEW,HWND,DWORD,LPVOID); #endif BOOL WINAPI ChangeMenuA(HMENU,UINT,LPCSTR,UINT,UINT); BOOL WINAPI ChangeMenuW(HMENU,UINT,LPCWSTR,UINT,UINT); @@ -2902,6 +2910,8 @@ BOOL WINAPI EnumDesktopWindows(HDESK,ENUMWINDOWSPROC,LPARAM); BOOL WINAPI EnumDisplayMonitors(HDC,LPCRECT,MONITORENUMPROC,LPARAM); #ifndef NOGDI +BOOL WINAPI EnumDisplayDevicesA(LPCSTR,DWORD,PDISPLAY_DEVICE,DWORD); +BOOL WINAPI EnumDisplayDevicesW(LPCWSTR,DWORD,PDISPLAY_DEVICE,DWORD); BOOL WINAPI EnumDisplaySettingsA(LPCSTR,DWORD,PDEVMODEA); BOOL WINAPI EnumDisplaySettingsW(LPCWSTR,DWORD,PDEVMODEW); #endif @@ -3461,7 +3471,9 @@ typedef ICONMETRICSW ICONMETRICS,*LPICONMETRICS; typedef NONCLIENTMETRICSW NONCLIENTMETRICS,*LPNONCLIENTMETRICS; #define ChangeDisplaySettings ChangeDisplaySettingsW +#define ChangeDisplaySettingsEx ChangeDisplaySettingsExW #define CreateDesktop CreateDesktopW +#define EnumDisplayDevices EnumDisplayDevicesW #define EnumDisplaySettings EnumDisplaySettingsW #endif /* NOGDI */ #else /* UNICODE */ @@ -3617,7 +3629,9 @@ typedef ICONMETRICSA ICONMETRICS,*LPICONMETRICS; typedef NONCLIENTMETRICSA NONCLIENTMETRICS,*LPNONCLIENTMETRICS; #define ChangeDisplaySettings ChangeDisplaySettingsA +#define ChangeDisplaySettingsEx ChangeDisplaySettingsExA #define CreateDesktop CreateDesktopA +#define EnumDisplayDevices EnumDisplayDevicesA #define EnumDisplaySettings EnumDisplaySettingsA #endif /* NOGDI */ #endif /* UNICODE */ $ diff -u lib/user32.def.orig lib/user32.def --- lib/user32.def.orig 2003-09-09 16:36:30.000000000 +0200 +++ lib/user32.def 2003-09-09 16:09:44.000000000 +0200 @@ -25,6 +25,8 @@ ChangeClipboardChain@8 ChangeDisplaySettingsA@8 ChangeDisplaySettingsW@8 +ChangeDisplaySettingsExA@20 +ChangeDisplaySettingsExW@20 ChangeMenuA@20 ChangeMenuW@20 CharLowerA@4 @@ -179,6 +181,8 @@ EnumDesktopWindows@12 EnumDesktopsA@12 EnumDesktopsW@12 +EnumDisplayDevicesA@16 +EnumDisplayDevicesW@16 EnumDisplayMonitors@16 EnumDisplaySettingsA@12 EnumDisplaySettingsW@12 ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf