+#ifdef __WXMOTIF__
+/* Stand-ins for X/Xt/Motif types */
+typedef void* WXWindow;
+typedef void* WXWidget;
+typedef void* WXAppContext;
+typedef void* WXColormap;
+typedef void WXDisplay;
+typedef void WXEvent;
+typedef void* WXCursor;
+typedef void* WXPixmap;
+typedef void* WXFontStructPtr;
+typedef void* WXGC;
+typedef void* WXRegion;
+typedef void* WXFont;
+typedef void* WXImage;
+typedef void* WXCursor;
+typedef void* WXFontList;
+#endif
+
+#ifdef __WXGTK__
+/* Stand-ins for GLIB types */
+typedef int gint;
+typedef unsigned guint;
+typedef unsigned long gulong;
+typedef void* gpointer;
+
+/* Stand-ins for GDK types */
+typedef gulong GdkAtom;
+typedef struct _GdkColor GdkColor;
+typedef struct _GdkColormap GdkColormap;
+typedef struct _GdkFont GdkFont;
+typedef struct _GdkGC GdkGC;
+typedef struct _GdkWindow GdkWindow;
+typedef struct _GdkWindow GdkBitmap;
+typedef struct _GdkWindow GdkPixmap;
+typedef struct _GdkCursor GdkCursor;
+typedef struct _GdkRegion GdkRegion;
+
+/* Stand-ins for GTK types */
+typedef struct _GtkWidget GtkWidget;
+typedef struct _GtkStyle GtkStyle;
+typedef struct _GtkAdjustment GtkAdjustment;
+typedef struct _GtkList GtkList;
+typedef struct _GtkToolbar GtkToolbar;
+typedef struct _GtkTooltips GtkTooltips;
+typedef struct _GtkNotebook GtkNotebook;
+typedef struct _GtkNotebookPage GtkNotebookPage;
+
+#endif
+
+// This is required because of clashing macros in windows.h, which may be
+// included before or after wxWindows classes, and therefore must be
+// disabled here before any significant wxWindows headers are included.
+#ifdef __WXMSW__
+#ifdef GetClassInfo
+#undef GetClassInfo
+#endif
+
+#ifdef GetClassName
+#undef GetClassName
+#endif
+
+#ifdef DrawText
+#undef DrawText
+#endif
+
+#ifdef GetCharWidth
+#undef GetCharWidth
+#endif
+
+#ifdef StartDoc
+#undef StartDoc
+#endif
+
+#ifdef FindWindow
+#undef FindWindow
+#endif
+
+#ifdef FindResource
+#undef FindResource
+#endif