]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/missing.h
miscellaneous wxFont enhancements (patch 1496606):
[wxWidgets.git] / include / wx / msw / missing.h
index 451b3646113a4fc1f443ce089a47030ec6776149..dfbee6d8d8db65aa49fe9aaabc55193ffb1ae904 100644 (file)
 #define EM_SETUSEMOUSEFORINPUT (WM_USER + 0x224)
 #endif
 
+#ifndef TPM_RECURSE
+#define TPM_RECURSE 1
+#endif
+
 // ----------------------------------------------------------------------------
 // ListView common control
 // Needed by listctrl.cpp
     #define LVS_EX_SUBITEMIMAGES 0x00000002
 #endif
 
+#ifndef HDN_GETDISPINFOW
+    #define HDN_GETDISPINFOW (HDN_FIRST-29)
+#endif
+
  /*
   * In addition to the above, the following are required for several compilers.
   */
 
 #ifdef __DMC__
 
-#ifdef __DMC__
-    #ifndef _TrackMouseEvent
-        #define _TrackMouseEvent TrackMouseEvent
-    #endif
+typedef struct _OSVERSIONINFOEX {
+    DWORD dwOSVersionInfoSize;
+    DWORD dwMajorVersion;
+    DWORD dwMinorVersion;
+    DWORD dwBuildNumber;
+    DWORD dwPlatformId;
+    TCHAR szCSDVersion[ 128 ];
+    WORD  wServicePackMajor;
+    WORD  wServicePackMinor;
+    WORD  wSuiteMask;
+    BYTE  wProductType;
+    BYTE  wReserved;
+} OSVERSIONINFOEX;
+
+#ifndef _TrackMouseEvent
+    #define _TrackMouseEvent TrackMouseEvent
 #endif
 
 #ifndef LVM_SETEXTENDEDLISTVIEWSTYLE
     #define HDM_GETITEMRECT (HDM_FIRST+7)
 #endif
 
-#ifndef HDN_GETDISPINFOW
-    #define HDN_GETDISPINFOW (HDN_FIRST-29)
-#endif
-
 #ifndef ListView_GetHeader
     #define ListView_GetHeader(w) (HWND)SendMessage((w),LVM_GETHEADER,0,0)
 #endif
     #define LVSICF_NOSCROLL         0x0002
 #endif
 
+#ifndef CP_SYMBOL
+    #define CP_SYMBOL 42
+#endif
+
+// ----------------------------------------------------------------------------
+// wxDisplay
+// ----------------------------------------------------------------------------
+
+// The windows headers with Digital Mars lack some typedefs.
+// typedef them as my_XXX and then #define to rename to XXX in case
+// a newer version of Digital Mars fixes the headers
+// (or up to date PSDK is in use with older version)
+// also we use any required definition (MONITOR_DEFAULTTONULL) to recognize
+// whether whole missing block needs to be included
+
+#ifndef MONITOR_DEFAULTTONULL
+
+    #define HMONITOR_DECLARED
+    DECLARE_HANDLE(HMONITOR);
+    typedef BOOL(CALLBACK* my_MONITORENUMPROC)(HMONITOR,HDC,LPRECT,LPARAM);
+    #define MONITORENUMPROC my_MONITORENUMPROC
+    typedef struct my_tagMONITORINFO {
+        DWORD cbSize;
+        RECT rcMonitor;
+        RECT rcWork;
+        DWORD dwFlags;
+    } my_MONITORINFO,*my_LPMONITORINFO;
+    #define MONITORINFO my_MONITORINFO
+    #define LPMONITORINFO my_LPMONITORINFO
+
+    typedef struct my_MONITORINFOEX : public my_tagMONITORINFO
+    {
+        TCHAR       szDevice[CCHDEVICENAME];
+    } my_MONITORINFOEX, *my_LPMONITORINFOEX;
+    #define MONITORINFOEX my_MONITORINFOEX
+    #define LPMONITORINFOEX my_LPMONITORINFOEX
+
+    #ifndef MONITOR_DEFAULTTONULL
+        #define MONITOR_DEFAULTTONULL 0
+    #endif // MONITOR_DEFAULTTONULL
+
+    #ifndef MONITORINFOF_PRIMARY
+        #define MONITORINFOF_PRIMARY 1
+    #endif // MONITORINFOF_PRIMARY
+
+    #ifndef DDENUM_ATTACHEDSECONDARYDEVICES
+        #define DDENUM_ATTACHEDSECONDARYDEVICES 1
+    #endif
+
+#endif // MONITOR_DEFAULTTONULL
+
 // ----------------------------------------------------------------------------
 // Tree control
 // ----------------------------------------------------------------------------