/*
- * Copyright (C) 1989-94 GROUPE BULL
+ * Copyright (C) 1989-95 GROUPE BULL
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
#ifdef FOR_MSW
-#if defined(__OS2__)
-#define INCL_OS2
-#include<os2.h>
-#else
+#if !defined(__OS2__)
#include "windows.h" /* MS windows GDI types */
+#else
+#define INCL_PM
+#define INCL_GPI
+#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 OS2RGB(r,g,b) ((unsigned long)r<<16|(unsigned long)g<<8|(unsigned long)b)
+
+#define GetBValue(rgb) ((BYTE)((rgb) >> 16))
+#define GetGValue(rgb) ((BYTE)(((WORD)(rgb)) >> 8))
+#define GetRValue(rgb) ((BYTE)(rgb))
+typedef UINT WORD;
#endif
+
/*
* minimal portability layer between ansi and KR C
*/
/* these defines get undefed at the end of this file */
#if __STDC__ || defined(__cplusplus) || defined(c_plusplus)
/* ANSI || C++ */
-#define FUNC(f, t, p) extern t f p
-#define LFUNC(f, t, p) static t f p
+# define FUNC(f, t, p) extern t f p
+# define LFUNC(f, t, p) static t f p
#else /* k&R */
-#define FUNC(f, t, p) extern t f()
-#define LFUNC(f, t, p) static t f()
+# define FUNC(f, t, p) extern t f()
+# define LFUNC(f, t, p) static t f()
#endif
typedef void *Colormap; /* should be COLORPALETTE, not done
* yet */
-#if !defined(__OS2__)
typedef COLORREF Pixel;
-#else
-typedef unsigned long COLORREF;
-typedef unsigned long Pixel;
-#endif
#define PIXEL_ALREADY_TYPEDEFED /* to let xpm.h know about it */
#endif /* cplusplus */
#define ZPixmap 1 /* not really used */
+#define XYBitmap 1 /* not really used */
#ifndef True
#define True 1
#define False 0
#endif
-
-/*
#ifndef Bool
-typedef BOOL Bool;
+typedef BOOL Bool; /* take MSW bool */
#endif
-*/
-
/* make these local here, simx.c gets the same from xpm.h */
#undef LFUNC
#undef FUNC