X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ea258ad3489638fbcf504a674f8793b1362bd2b5..9e3cb9eefcb4e8d2d1fb45ad028468547ecc6ad9:/src/xpm/simx.h

diff --git a/src/xpm/simx.h b/src/xpm/simx.h
index 1e2d09ff54..9b916182f7 100644
--- a/src/xpm/simx.h
+++ b/src/xpm/simx.h
@@ -44,15 +44,27 @@
 #else
 #define INCL_PM
 #define INCL_GPI
+#define INCL_DEV
 #include<os2.h>
 typedef unsigned long COLORREF;
+/*
 // RGB under OS2 is more like a PALETTEENTRY struct under Windows so we need a real RGB def
-#define OS2RGB(r,g,b) ((ULONG ((BYTE) (r) | ((UINT) (g) << 8)) | (((ULONG)(BYTE)(b)) << 16)))
-#define GetBValue(rgb) ((BYTE)((rgb) >> 16))
-#define GetGValue(rgb) ((BYTE)(((WORD)(rgb)) >> 8))
-#define GetRValue(rgb) ((BYTE)(rgb))
-typedef UINT    WORD;
+// #define OS2RGB(r,g,b) ((ULONG ((BYTE) (r) | ((UINT) (g) << 8)) | (((ULONG)(BYTE)(b)) << 16)))
+*/
+#ifndef OS2RGB
+#  define OS2RGB(r,g,b) ((unsigned long)r<<16|(unsigned long)g<<8|(unsigned long)b)
+#endif
+
+#ifndef GetBValue
+#  define GetBValue(rgb) ((BYTE)((rgb) >> 16))
+#endif
+#ifndef GetGValue
+#  define GetGValue(rgb) ((BYTE)(((UINT)(rgb)) >> 8))
+#endif
+#ifndef GetRValue
+#  define GetRValue(rgb) ((BYTE)(rgb))
 #endif
+#endif /* else __OS2__ */
 
 
 /*
@@ -78,7 +90,12 @@ FUNC(boundCheckingRealloc, void *, (void *p, long s));
 /* define MSW types for X window types,
    I don't know much about MSW, but the following defines do the job */
 
+#if !defined(__OS2__)
 typedef HDC Display;			/* this should be similar */
+#else
+typedef HPS Display;
+#endif
+
 typedef void *Screen;			/* not used */
 typedef void *Visual;			/* not used yet, is for GRAY, COLOR,
 					 * MONO */