]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xpm/simx.h
Fixed toolbar crash for MinGW/Cygwin
[wxWidgets.git] / src / xpm / simx.h
index 23e8a1a297cd273e9ed21a5d61c684b96ae908f8..9b916182f790f14388819e7811b170c03de4596c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * 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__)
 #include "windows.h"                   /* MS windows GDI types */
+#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)))
+*/
+#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
 /* 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 */
@@ -121,18 +152,15 @@ extern "C" {
 #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