Ok to apply?

Regards,
Kai
From 69984b415eb0212ac02e85c4a057e5899347f7c0 Mon Sep 17 00:00:00 2001
From: Kai Tietz <ktiet...@googlemail.com>
Date: Mon, 25 Aug 2014 11:52:58 +0200
Subject: Add winapifamily-check, correct Win Vista SP1 check, add missing
 types ...

---
 mingw-w64-headers/include/mxdc.h |  170 ++++++++++++++++++++++++--------------
 1 files changed, 107 insertions(+), 63 deletions(-)

diff --git a/mingw-w64-headers/include/mxdc.h b/mingw-w64-headers/include/mxdc.h
index ecf6940..05d322c 100644
--- a/mingw-w64-headers/include/mxdc.h
+++ b/mingw-w64-headers/include/mxdc.h
@@ -1,75 +1,119 @@
 /**
- * This file has no copyright assigned and is placed in the Public Domain.
  * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ * No warranty is given; refer to the file DISCLAIMER within this package.
  */
-#ifndef _INC_MXDC
-#define _INC_MXDC
-#if (_WIN32_WINNT >= 0x0600)
+
+#ifndef _MXDC_H_
+#define _MXDC_H_
+
+#include <winapifamily.h>
+
+#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
+
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-typedef struct tagMxdcEscapeHeader {
-  ULONG cbInput;
-  ULONG cbOutput;
-  ULONG opCode;
-} MXDC_ESCAPE_HEADER_T, *P_MXDC_ESCAPE_HEADER_T;
-
-typedef struct _tagMxdcGetFileNameData {
-  ULONG   cbOutput;
-  wchar_t wszData[1];
-} MXDC_GET_FILENAME_DATA_T, *P_MXDC_GET_FILENAME_DATA_T;
-
-typedef struct tagMxdcPrintTicketData {
-  DWORD dwDataSize;
-  BYTE  bData[1];
-} MXDC_PRINTTICKET_DATA_T, *P_MXDC_PRINTTICKET_DATA_T;
-
-typedef struct tagMxdcPrintTicketEscape {
-  MXDC_ESCAPE_HEADER_T    mxdcEscape;
-  MXDC_PRINTTICKET_DATA_T printTicketData;
-} MXDC_PRINTTICKET_ESCAPE_T, *P_MXDC_PRINTTICKET_ESCAPE_T;
-
-typedef struct tagMxdcS0PageData {
-  DWORD dwSize;
-  BYTE  bData[1];
-} MXDC_S0PAGE_DATA_T, *P_MXDC_S0PAGE_DATA_T;
-
-typedef struct tagMxdcS0PagePassthroughEscape {
-  MXDC_ESCAPE_HEADER_T mxdcEscape;
-  MXDC_S0PAGE_DATA_T   xpsS0PageData;
-} MXDC_S0PAGE_PASSTHROUGH_ESCAPE_T, *P_MXDC_S0PAGE_PASSTHROUGH_ESCAPE_T;
-
-typedef struct tagMxdcXpsS0PageResource {
-  DWORD dwSize;
-  DWORD dwResourceType;
-  BYTE  szUri[MAX_PATH];
-  DWORD dwDataSize;
-  BYTE  bData[1];
-} MXDC_XPS_S0PAGE_RESOURCE_T, *P_MXDC_XPS_S0PAGE_RESOURCE_T;
-
-typedef struct tagMxdcS0PageResourceEscape {
-  MXDC_ESCAPE_HEADER_T       mxdcEscape;
-  MXDC_XPS_S0PAGE_RESOURCE_T xpsS0PageResourcePassthrough;
-} MXDC_S0PAGE_RESOURCE_ESCAPE_T, *P_MXDC_S0PAGE_RESOURCE_ESCAPE_T;
-
-typedef enum tagMxdcS0PageEnums {
-  MXDC_RESOURCE_TTF,
-  MXDC_RESOURCE_JPEG,
-  MXDC_RESOURCE_PNG,
-  MXDC_RESOURCE_TIFF,
-  MXDC_RESOURCE_WDP,
-  MXDC_RESOURCE_DICTIONARY,
-  MXDC_RESOURCE_ICC_PROFILE,
-  MXDC_RESOURCE_JPEG_THUMBNAIL,
-  MXDC_RESOURCE_PNG_THUMBNAIL,
-  MXDC_RESOURCE_MAX
-} MXDC_S0_PAGE_ENUMS;
+#include <pshpack1.h>
+
+  typedef enum tagMxdcS0PageEnums {
+    MXDC_RESOURCE_TTF = 0,
+    MXDC_RESOURCE_JPEG = 1,
+    MXDC_RESOURCE_PNG = 2,
+    MXDC_RESOURCE_TIFF = 3,
+    MXDC_RESOURCE_WDP = 4,
+    MXDC_RESOURCE_DICTIONARY = 5,
+    MXDC_RESOURCE_ICC_PROFILE = 6,
+    MXDC_RESOURCE_JPEG_THUMBNAIL = 7,
+    MXDC_RESOURCE_PNG_THUMBNAIL = 8,
+    MXDC_RESOURCE_MAX
+  } MXDC_S0_PAGE_ENUMS;
+
+#if NTDDI_VERSION >= 0x06000100
+  typedef enum tagMxdcLandscapeRotationEnums {
+    MXDC_LANDSCAPE_ROTATE_NONE = 0,
+    MXDC_LANDSCAPE_ROTATE_COUNTERCLOCKWISE_90_DEGREES = 90,
+    MXDC_LANDSCAPE_ROTATE_COUNTERCLOCKWISE_270_DEGREES = -90
+  } MXDC_LANDSCAPE_ROTATION_ENUMS;
+
+  typedef enum tagMxdcImageTypeEnums {
+    MXDC_IMAGETYPE_JPEGHIGH_COMPRESSION = 1,
+    MXDC_IMAGETYPE_JPEGMEDIUM_COMPRESSION = 2,
+    MXDC_IMAGETYPE_JPEGLOW_COMPRESSION = 3,
+    MXDC_IMAGETYPE_PNG = 4
+  } MXDC_IMAGE_TYPE_ENUMS;
+#endif
+
+  typedef struct tagMxdcEscapeHeader {
+    ULONG cbInput;
+    ULONG cbOutput;
+    ULONG opCode;
+  } MXDC_ESCAPE_HEADER_T, *P_MXDC_ESCAPE_HEADER_T;
+
+  typedef struct tagMxdcGetFileNameData {
+    ULONG cbOutput;
+    wchar_t wszData[1];
+  } MXDC_GET_FILENAME_DATA_T, *P_MXDC_GET_FILENAME_DATA_T;
+
+  typedef struct tagMxdcS0PageData {
+    DWORD dwSize;
+    BYTE bData[1];
+  } MXDC_S0PAGE_DATA_T, *P_MXDC_S0PAGE_DATA_T;
+
+  typedef struct tagMxdcXpsS0PageResource {
+    DWORD dwSize;
+    DWORD dwResourceType;
+    BYTE szUri[MAX_PATH];
+    DWORD dwDataSize;
+    BYTE bData[1];
+  } MXDC_XPS_S0PAGE_RESOURCE_T, *P_MXDC_XPS_S0PAGE_RESOURCE_T;
+
+  typedef struct tagMxdcPrintTicketPassthrough {
+    DWORD dwDataSize;
+    BYTE bData[1];
+  } MXDC_PRINTTICKET_DATA_T, *P_MXDC_PRINTTICKET_DATA_T;
+
+  typedef struct tagMxdcPrintTicketEscape {
+    MXDC_ESCAPE_HEADER_T mxdcEscape;
+    MXDC_PRINTTICKET_DATA_T printTicketData;
+  } MXDC_PRINTTICKET_ESCAPE_T, *P_MXDC_PRINTTICKET_ESCAPE_T;
+
+  typedef struct tagMxdcS0PagePassthroughEscape {
+    MXDC_ESCAPE_HEADER_T mxdcEscape;
+    MXDC_S0PAGE_DATA_T xpsS0PageData;
+  } MXDC_S0PAGE_PASSTHROUGH_ESCAPE_T, *P_MXDC_S0PAGE_PASSTHROUGH_ESCAPE_T;
+
+  typedef struct tagMxdcS0PageResourceEscape {
+    MXDC_ESCAPE_HEADER_T mxdcEscape;
+    MXDC_XPS_S0PAGE_RESOURCE_T xpsS0PageResourcePassthrough;
+  } MXDC_S0PAGE_RESOURCE_ESCAPE_T, *P_MXDC_S0PAGE_RESOURCE_ESCAPE_T;
+
+#include <poppack.h>
+
+#define MXDC_ESCAPE 4122
+
+#define MXDCOP_GET_FILENAME 14
+#define MXDCOP_PRINTTICKET_FIXED_DOC_SEQ 22
+#define MXDCOP_PRINTTICKET_FIXED_DOC 24
+#define MXDCOP_PRINTTICKET_FIXED_PAGE 26
+#define MXDCOP_SET_S0PAGE 28
+#define MXDCOP_SET_S0PAGE_RESOURCE 30
+#define MXDCOP_SET_XPSPASSTHRU_MODE 32
+
+#if NTDDI_VERSION >= 0x06000100
+#define MXDC_IMAGEABLE_AREA_PROP_NAME_WSTR (L"MxdcImageableArea")
+#define MXDC_IMAGE_COMPRESSION_TYPE_PROP_NAME_WSTR 
(L"MxdcImageCompressionType")
+#define MXDC_DOTS_PER_INCH_PROP_NAME_WSTR (L"MxdcDotsPerInch")
+#define MXDC_LANDSCAPE_ROTATION_PROP_NAME_WSTR (L"MxdcLandscapeRotation")
+#endif
+
+#if NTDDI_VERSION >= 0x06000100
+  HRESULT WINAPI MxdcGetPDEVAdjustment (HANDLE hPrinter, ULONG cbDevMode, 
const DEVMODE *pDevMode, ULONG cbIn, const VOID *pvIn, ULONG 
cbPrintPropertiesCollection, PrintPropertiesCollection 
*pPrintPropertiesCollection);
+#endif
 
 #ifdef __cplusplus
 }
 #endif
-#endif /*(_WIN32_WINNT >= 0x0600)*/
 
-#endif /*_INC_MXDC*/
+#endif
+#endif
-- 
1.7.9

From 4c6a85e6fd024d2b76324a1ed29de44e84e38b51 Mon Sep 17 00:00:00 2001
From: Kai Tietz <ktiet...@googlemail.com>
Date: Mon, 25 Aug 2014 12:44:32 +0200
Subject: Added winapifamily-check, and made COMPILE_MULTIMON_STUBS=1 mode
 compilable.

---
 mingw-w64-headers/include/multimon.h |  334 +++++++++++++++++-----------------
 1 files changed, 166 insertions(+), 168 deletions(-)

diff --git a/mingw-w64-headers/include/multimon.h 
b/mingw-w64-headers/include/multimon.h
index eb24cf2..4ad42aa 100644
--- a/mingw-w64-headers/include/multimon.h
+++ b/mingw-w64-headers/include/multimon.h
@@ -1,16 +1,18 @@
 /**
- * This file has no copyright assigned and is placed in the Public Domain.
  * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ * No warranty is given; refer to the file DISCLAIMER within this package.
  */
 
-#include <_mingw_unicode.h>
+#include <winapifamily.h>
+
+#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 #ifndef SM_CMONITORS
+
 #define SM_XVIRTUALSCREEN 76
 #define SM_YVIRTUALSCREEN 77
 #define SM_CXVIRTUALSCREEN 78
@@ -43,24 +45,31 @@ extern "C" {
   typedef struct tagMONITORINFOEXW : public tagMONITORINFO {
     WCHAR szDevice[CCHDEVICENAME];
   } MONITORINFOEXW,*LPMONITORINFOEXW;
-
-  __MINGW_TYPEDEF_AW(MONITORINFOEX)
-  __MINGW_TYPEDEF_AW(LPMONITORINFOEX)
 #else
   typedef struct tagMONITORINFOEXA {
-    MONITORINFO;
+    __C89_NAMELESS struct {
+      DWORD cbSize;
+      RECT rcMonitor;
+      RECT rcWork;
+      DWORD dwFlags;
+    }; /* MONITORINFO */;
     CHAR szDevice[CCHDEVICENAME];
   } MONITORINFOEXA,*LPMONITORINFOEXA;
 
   typedef struct tagMONITORINFOEXW {
-    MONITORINFO;
+    __C89_NAMELESS struct {
+      DWORD cbSize;
+      RECT rcMonitor;
+      RECT rcWork;
+      DWORD dwFlags;
+    }; /* MONITORINFO */;
     WCHAR szDevice[CCHDEVICENAME];
   } MONITORINFOEXW,*LPMONITORINFOEXW;
+#endif
   __MINGW_TYPEDEF_AW(MONITORINFOEX)
   __MINGW_TYPEDEF_AW(LPMONITORINFOEX)
-#endif
 
-  typedef WINBOOL (CALLBACK *MONITORENUMPROC)(HMONITOR,HDC,LPRECT,LPARAM);
+  typedef WINBOOL (CALLBACK *MONITORENUMPROC)(HMONITOR, HDC, LPRECT, LPARAM);
 
 #ifndef DISPLAY_DEVICE_ATTACHED_TO_DESKTOP
   typedef struct _DISPLAY_DEVICEA {
@@ -105,136 +114,148 @@ extern "C" {
 
 #ifndef MULTIMON_FNS_DEFINED
   int (WINAPI *g_pfnGetSystemMetrics)(int) = NULL;
-  HMONITOR (WINAPI *g_pfnMonitorFromWindow)(HWND,DWORD) = NULL;
-  HMONITOR (WINAPI *g_pfnMonitorFromRect)(LPCRECT,DWORD) = NULL;
-  HMONITOR (WINAPI *g_pfnMonitorFromPoint)(POINT,DWORD) = NULL;
-  WINBOOL (WINAPI *g_pfnGetMonitorInfo)(HMONITOR,LPMONITORINFO) = NULL;
-  WINBOOL (WINAPI 
*g_pfnEnumDisplayMonitors)(HDC,LPCRECT,MONITORENUMPROC,LPARAM) = NULL;
-  WINBOOL (WINAPI *g_pfnEnumDisplayDevices)(PVOID,DWORD,PDISPLAY_DEVICE,DWORD) 
= NULL;
+  HMONITOR (WINAPI *g_pfnMonitorFromWindow)(HWND, DWORD) = NULL;
+  HMONITOR (WINAPI *g_pfnMonitorFromRect)(LPCRECT, DWORD) = NULL;
+  HMONITOR (WINAPI *g_pfnMonitorFromPoint)(POINT, DWORD) = NULL;
+  WINBOOL (WINAPI *g_pfnGetMonitorInfo)(HMONITOR, LPMONITORINFO) = NULL;
+  WINBOOL (WINAPI *g_pfnEnumDisplayMonitors)(HDC, LPCRECT, MONITORENUMPROC, 
LPARAM) = NULL;
+  WINBOOL (WINAPI *g_pfnEnumDisplayDevices)(PVOID, DWORD, PDISPLAY_DEVICE, 
DWORD) = NULL;
   WINBOOL g_fMultiMonInitDone = FALSE;
   WINBOOL g_fMultimonPlatformNT = FALSE;
 #endif
 
   WINBOOL IsPlatformNT() {
-    OSVERSIONINFOA osvi = {0};
-    osvi.dwOSVersionInfoSize = sizeof(osvi);
-    GetVersionExA((OSVERSIONINFOA*)&osvi);
-    return (VER_PLATFORM_WIN32_NT==osvi.dwPlatformId);
+    OSVERSIONINFOA oi = { 0 };
+
+    oi.dwOSVersionInfoSize = sizeof (osvi);
+    GetVersionExA ((OSVERSIONINFOA *) &oi);
+    return (oi.dwPlatformId == VER_PLATFORM_WIN32_NT);
   }
 
   WINBOOL InitMultipleMonitorStubs(void) {
-    HMODULE hUser32;
-    if(g_fMultiMonInitDone) return g_pfnGetMonitorInfo!=NULL;
-    g_fMultimonPlatformNT = IsPlatformNT();
-    hUser32 = GetModuleHandle(TEXT("USER32"));
-    if(hUser32 &&
-      (*(FARPROC*)&g_pfnGetSystemMetrics = 
GetProcAddress(hUser32,"GetSystemMetrics"))!=NULL &&
-      (*(FARPROC*)&g_pfnMonitorFromWindow = 
GetProcAddress(hUser32,"MonitorFromWindow"))!=NULL &&
-      (*(FARPROC*)&g_pfnMonitorFromRect = 
GetProcAddress(hUser32,"MonitorFromRect"))!=NULL &&
-      (*(FARPROC*)&g_pfnMonitorFromPoint = 
GetProcAddress(hUser32,"MonitorFromPoint"))!=NULL &&
-      (*(FARPROC*)&g_pfnEnumDisplayMonitors = 
GetProcAddress(hUser32,"EnumDisplayMonitors"))!=NULL &&
-      (*(FARPROC*)&g_pfnEnumDisplayDevices = 
GetProcAddress(hUser32,"EnumDisplayDevices" __MINGW_PROCNAMEEXT_AW))!=NULL &&
-      (*(FARPROC*)&g_pfnGetMonitorInfo = g_fMultimonPlatformNT ? 
GetProcAddress(hUser32,"GetMonitorInfo" __MINGW_PROCNAMEEXT_AW) :
-      GetProcAddress(hUser32,"GetMonitorInfoA"))!=NULL
-      ) {
-       g_fMultiMonInitDone = TRUE;
-       return TRUE;
-    } else {
-      g_pfnGetSystemMetrics = NULL;
-      g_pfnMonitorFromWindow = NULL;
-      g_pfnMonitorFromRect = NULL;
-      g_pfnMonitorFromPoint = NULL;
-      g_pfnGetMonitorInfo = NULL;
-      g_pfnEnumDisplayMonitors = NULL;
-      g_pfnEnumDisplayDevices = NULL;
+    HMODULE h;
+
+    if (g_fMultiMonInitDone)
+      return g_pfnGetMonitorInfo != NULL;
+
+    g_fMultimonPlatformNT = IsPlatformNT ();
+    h = GetModuleHandle (TEXT ("USER32"));
+
+    if (h
+        && (*((FARPROC *) &g_pfnGetSystemMetrics) = GetProcAddress (h, 
"GetSystemMetrics")) != NULL
+       && (*((FARPROC *) &g_pfnMonitorFromWindow) = GetProcAddress (h, 
"MonitorFromWindow")) != NULL
+       && (*((FARPROC *) &g_pfnMonitorFromRect) = GetProcAddress (h, 
"MonitorFromRect")) != NULL
+       && (*((FARPROC *) &g_pfnMonitorFromPoint) = GetProcAddress (h, 
"MonitorFromPoint")) != NULL
+       && (*((FARPROC *) &g_pfnEnumDisplayMonitors) = GetProcAddress (h, 
"EnumDisplayMonitors")) != NULL
+#ifdef UNICODE
+        && (*((FARPROC *) &g_pfnEnumDisplayDevices) = GetProcAddress (h, 
"EnumDisplayDevicesW")) != NULL
+       && (*((FARPROC *) &g_pfnGetMonitorInfo) = (g_fMultimonPlatformNT ? 
GetProcAddress (h, "GetMonitorInfoW") : GetProcAddress (h, "GetMonitorInfoA"))) 
!= NULL
+#else
+        && (*((FARPROC *) &g_pfnGetMonitorInfo) = GetProcAddress (h, 
"GetMonitorInfoA")) != NULL
+       && (*((FARPROC *) &g_pfnEnumDisplayDevices) = GetProcAddress (h, 
"EnumDisplayDevicesA")) != NULL
+#endif
+    ) {
       g_fMultiMonInitDone = TRUE;
-      return FALSE;
+      return TRUE;
     }
+
+    g_pfnGetSystemMetrics = NULL;
+    g_pfnMonitorFromWindow = NULL;
+    g_pfnMonitorFromRect = NULL;
+    g_pfnMonitorFromPoint = NULL;
+    g_pfnGetMonitorInfo = NULL;
+    g_pfnEnumDisplayMonitors = NULL;
+    g_pfnEnumDisplayDevices = NULL;
+    g_fMultiMonInitDone = TRUE;
+    return FALSE;
   }
 
-  int WINAPI xGetSystemMetrics(int nIndex) {
-    if(InitMultipleMonitorStubs()) return g_pfnGetSystemMetrics(nIndex);
-    switch(nIndex) {
-       case SM_CMONITORS:
-       case SM_SAMEDISPLAYFORMAT:
-         return 1;
-       case SM_XVIRTUALSCREEN:
-       case SM_YVIRTUALSCREEN:
-         return 0;
-       case SM_CXVIRTUALSCREEN:
-         nIndex = SM_CXSCREEN;
-         break;
-       case SM_CYVIRTUALSCREEN:
-         nIndex = SM_CYSCREEN;
-         break;
+  int WINAPI xGetSystemMetrics(int n) {
+    if (InitMultipleMonitorStubs ())
+      return g_pfnGetSystemMetrics (n);
+
+    switch (n) {
+    case SM_CMONITORS:
+    case SM_SAMEDISPLAYFORMAT:
+      return 1;
+    case SM_XVIRTUALSCREEN:
+    case SM_YVIRTUALSCREEN:
+      return 0;
+    case SM_CXVIRTUALSCREEN:
+      return GetSystemMetrics (SM_CXSCREEN);
+    case SM_CYVIRTUALSCREEN:
+      return GetSystemMetrics (SM_CYSCREEN);
+    default:
+      break;
     }
-    return GetSystemMetrics(nIndex);
+
+    return GetSystemMetrics (n);
   }
 
 #define xPRIMARY_MONITOR ((HMONITOR)0x12340042)
 
-  HMONITOR WINAPI xMonitorFromPoint(POINT ptScreenCoords,DWORD dwFlags) {
-    if(InitMultipleMonitorStubs()) return 
g_pfnMonitorFromPoint(ptScreenCoords,dwFlags);
-    if((dwFlags & (MONITOR_DEFAULTTOPRIMARY | MONITOR_DEFAULTTONEAREST)) ||
-      ((ptScreenCoords.x >= 0) &&
-      (ptScreenCoords.x < GetSystemMetrics(SM_CXSCREEN)) &&
-      (ptScreenCoords.y >= 0) &&
-      (ptScreenCoords.y < GetSystemMetrics(SM_CYSCREEN))))
-    {
+  HMONITOR WINAPI xMonitorFromPoint (POINT pt, DWORD flags) {
+    if (InitMultipleMonitorStubs ())
+      return g_pfnMonitorFromPoint (pt, flags);
+
+    if ((flags & (MONITOR_DEFAULTTOPRIMARY | MONITOR_DEFAULTTONEAREST)) != 0
+        || (pt.x >= 0 && pt.y >= 0 && pt.x < GetSystemMetrics (SM_CXSCREEN) && 
pt.y < GetSystemMetrics (SM_CYSCREEN)))
       return xPRIMARY_MONITOR;
-    }
+
     return NULL;
   }
 
-  HMONITOR WINAPI xMonitorFromRect(LPCRECT lprcScreenCoords,DWORD dwFlags)
-  {
-    if(InitMultipleMonitorStubs()) return 
g_pfnMonitorFromRect(lprcScreenCoords,dwFlags);
-    if((dwFlags & (MONITOR_DEFAULTTOPRIMARY | MONITOR_DEFAULTTONEAREST)) ||
-      ((lprcScreenCoords->right > 0) &&
-      (lprcScreenCoords->bottom > 0) &&
-      (lprcScreenCoords->left < GetSystemMetrics(SM_CXSCREEN)) &&
-      (lprcScreenCoords->top < GetSystemMetrics(SM_CYSCREEN))))
-    {
+  HMONITOR WINAPI xMonitorFromRect (LPCRECT pr, DWORD flags) {
+    if (InitMultipleMonitorStubs ())
+      return g_pfnMonitorFromRect (pr, flags);
+
+    if ((flags & (MONITOR_DEFAULTTOPRIMARY | MONITOR_DEFAULTTONEAREST)) != 0
+        || (pr->right > 0 && pr->bottom > 0 && pr->left < GetSystemMetrics 
(SM_CXSCREEN) && pr->top < GetSystemMetrics (SM_CYSCREEN)))
       return xPRIMARY_MONITOR;
-    }
+
     return NULL;
   }
 
-  HMONITOR WINAPI xMonitorFromWindow(HWND hWnd,DWORD dwFlags) {
+  HMONITOR WINAPI xMonitorFromWindow (HWND hw, DWORD flags) {
     WINDOWPLACEMENT wp;
-    if(InitMultipleMonitorStubs()) return g_pfnMonitorFromWindow(hWnd,dwFlags);
-    if(dwFlags & (MONITOR_DEFAULTTOPRIMARY | MONITOR_DEFAULTTONEAREST)) return 
xPRIMARY_MONITOR;
-    if(IsIconic(hWnd) ? GetWindowPlacement(hWnd,&wp) : 
GetWindowRect(hWnd,&wp.rcNormalPosition)) return 
xMonitorFromRect(&wp.rcNormalPosition,dwFlags);
+
+    if (InitMultipleMonitorStubs ())
+      return g_pfnMonitorFromWindow (hw, flags);
+
+    if ((flags & (MONITOR_DEFAULTTOPRIMARY | MONITOR_DEFAULTTONEAREST)) != 0)
+      return xPRIMARY_MONITOR;
+
+    if ((IsIconic (hw) ? GetWindowPlacement (hw, &wp) : GetWindowRect (hw, 
&wp.rcNormalPosition)) != 0)
+      return xMonitorFromRect (&wp.rcNormalPosition, flags);
+
     return NULL;
   }
 
-  WINBOOL WINAPI xGetMonitorInfo(HMONITOR hMonitor,LPMONITORINFO 
lpMonitorInfo) {
-    RECT rcWork;
-    if(InitMultipleMonitorStubs()) {
-      WINBOOL f = g_pfnGetMonitorInfo(hMonitor,lpMonitorInfo);
-#if defined(UNICODE)
-      if(f && !g_fMultimonPlatformNT && (lpMonitorInfo->cbSize >= 
sizeof(MONITORINFOEX))) {
-       
MultiByteToWideChar(CP_ACP,0,(LPSTR)((MONITORINFOEX*)lpMonitorInfo)->szDevice,-1,((MONITORINFOEX*)lpMonitorInfo)->szDevice,(sizeof(((MONITORINFOEX*)lpMonitorInfo)->szDevice)/sizeof(TCHAR)));
-      }
+  WINBOOL WINAPI xGetMonitorInfo (HMONITOR hmon, LPMONITORINFO pmi) {
+    RECT r;
+    WINBOOL f;
+
+    if (InitMultipleMonitorStubs ()) {
+      f = g_pfnGetMonitorInfo (hmon, pmi);
+#ifdef UNICODE
+      if (f && !g_fMultimonPlatformNT && pmi->cbSize >= sizeof (MONITORINFOEX))
+       MultiByteToWideChar (CP_ACP, 0, (LPSTR) ((MONITORINFOEX 
*)pmi)->szDevice, -1, ((MONITORINFOEX *)pmi)->szDevice, (sizeof 
(((MONITORINFOEX *)pmi)->szDevice) / 2));
 #endif
       return f;
     }
-    if((hMonitor==xPRIMARY_MONITOR) &&
-      lpMonitorInfo &&
-      (lpMonitorInfo->cbSize >= sizeof(MONITORINFO)) &&
-      SystemParametersInfoA(SPI_GETWORKAREA,0,&rcWork,0))
-    {
-      lpMonitorInfo->rcMonitor.left = 0;
-      lpMonitorInfo->rcMonitor.top = 0;
-      lpMonitorInfo->rcMonitor.right = GetSystemMetrics(SM_CXSCREEN);
-      lpMonitorInfo->rcMonitor.bottom = GetSystemMetrics(SM_CYSCREEN);
-      lpMonitorInfo->rcWork = rcWork;
-      lpMonitorInfo->dwFlags = MONITORINFOF_PRIMARY;
-      if(lpMonitorInfo->cbSize >= sizeof(MONITORINFOEX)) {
-#if defined(UNICODE)
-       
MultiByteToWideChar(CP_ACP,0,"DISPLAY",-1,((MONITORINFOEX*)lpMonitorInfo)->szDevice,(sizeof(((MONITORINFOEX*)lpMonitorInfo)->szDevice)/sizeof(TCHAR)));
+
+    if ((hmon == xPRIMARY_MONITOR) && pmi &&(pmi->cbSize >= sizeof 
(MONITORINFO)) && SystemParametersInfoA (SPI_GETWORKAREA, 0,&r, 0)) {
+      pmi->rcMonitor.left = 0;
+      pmi->rcMonitor.top = 0;
+      pmi->rcMonitor.right = GetSystemMetrics (SM_CXSCREEN);
+      pmi->rcMonitor.bottom = GetSystemMetrics (SM_CYSCREEN);
+      pmi->rcWork = r;
+      pmi->dwFlags = MONITORINFOF_PRIMARY;
+      if (pmi->cbSize >= sizeof (MONITORINFOEX)) {
+#ifdef UNICODE
+       MultiByteToWideChar (CP_ACP, 0, "DISPLAY", -1, ((MONITORINFOEX 
*)pmi)->szDevice, (sizeof (((MONITORINFOEX *)pmi)->szDevice) / 2));
 #else
-       
lstrcpyn(((MONITORINFOEX*)lpMonitorInfo)->szDevice,TEXT("DISPLAY"),(sizeof(((MONITORINFOEX*)lpMonitorInfo)->szDevice)/sizeof(TCHAR)));
+       lstrcpyn (((MONITORINFOEX *)pmi)->szDevice, "DISPLAY", sizeof 
(((MONITORINFOEX *)pmi)->szDevice));
 #endif
       }
 
@@ -244,95 +265,70 @@ extern "C" {
     return FALSE;
   }
 
-  WINBOOL WINAPI
-    xEnumDisplayMonitors(HDC hdcOptionalForPainting,LPCRECT 
lprcEnumMonitorsThatIntersect,MONITORENUMPROC lpfnEnumProc,LPARAM dwData)
-  {
-    RECT rcLimit;
+  WINBOOL WINAPI xEnumDisplayMonitors (HDC hdcOptionalForPainting, LPCRECT 
lprcEnumMonitorsThatIntersect, MONITORENUMPROC lpfnEnumProc, LPARAM dwData) {
+    RECT rcLimit, rcClip;
+    POINT ptOrg;
 
-    if(InitMultipleMonitorStubs()) {
-      return 
g_pfnEnumDisplayMonitors(hdcOptionalForPainting,lprcEnumMonitorsThatIntersect,lpfnEnumProc,dwData);
-    }
+    if (InitMultipleMonitorStubs ())
+      return g_pfnEnumDisplayMonitors (hdcOptionalForPainting, 
lprcEnumMonitorsThatIntersect, lpfnEnumProc, dwData);
 
-    if(!lpfnEnumProc)
+    if (!lpfnEnumProc)
       return FALSE;
 
-    rcLimit.left = 0;
-    rcLimit.top = 0;
-    rcLimit.right = GetSystemMetrics(SM_CXSCREEN);
-    rcLimit.bottom = GetSystemMetrics(SM_CYSCREEN);
-
-    if(hdcOptionalForPainting)
-    {
-      RECT rcClip;
-      POINT ptOrg;
+    rcLimit.left = rcLimit.top = 0;
+    rcLimit.right = GetSystemMetrics (SM_CXSCREEN);
+    rcLimit.bottom = GetSystemMetrics (SM_CYSCREEN);
 
-      switch (GetClipBox(hdcOptionalForPainting,&rcClip))
-      {
+    if (hdcOptionalForPainting) {
+      switch (GetClipBox (hdcOptionalForPainting,&rcClip)) {
       default:
-       if(!GetDCOrgEx(hdcOptionalForPainting,&ptOrg))
+       if (!GetDCOrgEx (hdcOptionalForPainting,&ptOrg))
          return FALSE;
 
-       OffsetRect(&rcLimit,-ptOrg.x,-ptOrg.y);
-       if(IntersectRect(&rcLimit,&rcLimit,&rcClip) &&
-         (!lprcEnumMonitorsThatIntersect ||
-         IntersectRect(&rcLimit,&rcLimit,lprcEnumMonitorsThatIntersect))) {
+       OffsetRect (&rcLimit, -ptOrg.x, -ptOrg.y);
 
-           break;
-       }
+       if (IntersectRect (&rcLimit, &rcLimit, &rcClip)
+           && (!lprcEnumMonitorsThatIntersect || IntersectRect (&rcLimit, 
&rcLimit, lprcEnumMonitorsThatIntersect)))
+         break;
 
       case NULLREGION:
        return TRUE;
       case ERROR:
        return FALSE;
       }
-    } else {
-      if(lprcEnumMonitorsThatIntersect &&
-       !IntersectRect(&rcLimit,&rcLimit,lprcEnumMonitorsThatIntersect)) {
-
-         return TRUE;
-      }
-    }
+    } else if (lprcEnumMonitorsThatIntersect && !IntersectRect (&rcLimit, 
&rcLimit, lprcEnumMonitorsThatIntersect))
+      return TRUE;
 
-    return 
lpfnEnumProc(xPRIMARY_MONITOR,hdcOptionalForPainting,&rcLimit,dwData);
+    return lpfnEnumProc (xPRIMARY_MONITOR, hdcOptionalForPainting, &rcLimit, 
dwData);
   }
 
-  WINBOOL WINAPI
-    xEnumDisplayDevices(PVOID Unused,DWORD iDevNum,PDISPLAY_DEVICE 
lpDisplayDevice,DWORD dwFlags)
-  {
-    if(InitMultipleMonitorStubs())
-      return g_pfnEnumDisplayDevices(Unused,iDevNum,lpDisplayDevice,dwFlags);
-
-    if(Unused!=NULL)
-      return FALSE;
-
-    if(iDevNum!=0)
-      return FALSE;
-
-    if(!lpDisplayDevice || lpDisplayDevice->cb < sizeof(DISPLAY_DEVICE))
+  WINBOOL WINAPI xEnumDisplayDevices (PVOID Unused, DWORD iDevNum, 
PDISPLAY_DEVICE lpDisplayDevice, DWORD flags) {
+    if (InitMultipleMonitorStubs ())
+      return g_pfnEnumDisplayDevices (Unused, iDevNum, lpDisplayDevice, flags);
+    if (Unused || iDevNum || lpDisplayDevice == NULL || lpDisplayDevice->cb < 
sizeof (DISPLAY_DEVICE))
       return FALSE;
-
-#if defined(UNICODE)
-    
MultiByteToWideChar(CP_ACP,0,"DISPLAY",-1,lpDisplayDevice->DeviceName,(sizeof(lpDisplayDevice->DeviceName)/sizeof(TCHAR)));
-    
MultiByteToWideChar(CP_ACP,0,"DISPLAY",-1,lpDisplayDevice->DeviceString,(sizeof(lpDisplayDevice->DeviceString)/sizeof(TCHAR)));
+#ifdef UNICODE
+    MultiByteToWideChar (CP_ACP, 0, "DISPLAY", -1, 
lpDisplayDevice->DeviceName, (sizeof (lpDisplayDevice->DeviceName) / 2));
+    MultiByteToWideChar (CP_ACP, 0, "DISPLAY", -1, 
lpDisplayDevice->DeviceString, (sizeof (lpDisplayDevice->DeviceString) / 2));
 #else
-    
lstrcpyn((LPTSTR)lpDisplayDevice->DeviceName,TEXT("DISPLAY"),(sizeof(lpDisplayDevice->DeviceName)/sizeof(TCHAR)));
-    
lstrcpyn((LPTSTR)lpDisplayDevice->DeviceString,TEXT("DISPLAY"),(sizeof(lpDisplayDevice->DeviceString)/sizeof(TCHAR)));
+    lstrcpyn ((LPTSTR)lpDisplayDevice->DeviceName, "DISPLAY", sizeof 
(lpDisplayDevice->DeviceName));
+    lstrcpyn ((LPTSTR)lpDisplayDevice->DeviceString, "DISPLAY", sizeof 
(lpDisplayDevice->DeviceString));
 #endif
     lpDisplayDevice->StateFlags = DISPLAY_DEVICE_ATTACHED_TO_DESKTOP | 
DISPLAY_DEVICE_PRIMARY_DEVICE;
+
     return TRUE;
   }
 
 #undef xPRIMARY_MONITOR
 #undef COMPILE_MULTIMON_STUBS
 #else
-
-  extern int WINAPI xGetSystemMetrics(int);
-  extern HMONITOR WINAPI xMonitorFromWindow(HWND,DWORD);
-  extern HMONITOR WINAPI xMonitorFromRect(LPCRECT,DWORD);
-  extern HMONITOR WINAPI xMonitorFromPoint(POINT,DWORD);
-  extern WINBOOL WINAPI xGetMonitorInfo(HMONITOR,LPMONITORINFO);
-  extern WINBOOL WINAPI 
xEnumDisplayMonitors(HDC,LPCRECT,MONITORENUMPROC,LPARAM);
-  extern WINBOOL WINAPI xEnumDisplayDevices(PVOID,DWORD,PDISPLAY_DEVICE,DWORD);
+  extern int WINAPI xGetSystemMetrics (int);
+  extern HMONITOR WINAPI xMonitorFromWindow (HWND, DWORD);
+  extern HMONITOR WINAPI xMonitorFromRect (LPCRECT, DWORD);
+  extern HMONITOR WINAPI xMonitorFromPoint (POINT, DWORD);
+  extern WINBOOL WINAPI xGetMonitorInfo (HMONITOR, LPMONITORINFO);
+  extern WINBOOL WINAPI xEnumDisplayMonitors (HDC, LPCRECT, MONITORENUMPROC, 
LPARAM);
+  extern WINBOOL WINAPI xEnumDisplayDevices (PVOID, DWORD, PDISPLAY_DEVICE, 
DWORD);
 #endif
 
 #define GetSystemMetrics xGetSystemMetrics
@@ -346,3 +342,5 @@ extern "C" {
 #ifdef __cplusplus
 }
 #endif
+
+#endif
-- 
1.7.9

------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to