X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e6ed776fb2d330b4b6d0105c3628ccf88fd3bb60..d958c9bd1754393a2b2e35a95df4df4e74bcd3c4:/src/xpm/simx.h?ds=sidebyside diff --git a/src/xpm/simx.h b/src/xpm/simx.h index 001cfdb4eb..9b916182f7 100644 --- a/src/xpm/simx.h +++ b/src/xpm/simx.h @@ -39,7 +39,33 @@ #ifdef FOR_MSW +#if !defined(__OS2__) #include "windows.h" /* MS windows GDI types */ +#else +#define INCL_PM +#define INCL_GPI +#define INCL_DEV +#include +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))) +*/ +#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__ */ + /* * minimal portability layer between ansi and KR C @@ -49,11 +75,11 @@ /* 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 @@ -64,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 */