// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifndef __APPH_BASE__
-#define __APPH_BASE__
+#ifndef _WX_APP_H_BASE_
+#define _WX_APP_H_BASE_
-#ifndef __GTK__
+#ifdef __WXMSW__
class WXDLLEXPORT wxApp;
typedef wxApp* (*wxAppInitializerFunction) (void);
#endif
#include "wx/object.h"
-#ifdef __GTK__
+#ifndef __WXMSW__
typedef wxObject* (*wxAppInitializerFunction) (void); // returning wxApp* won't work with gcc
#endif
-#if defined(__WINDOWS__)
+#if defined(__WXMSW__)
#include "wx/msw/app.h"
-#elif defined(__MOTIF__)
-#include "wx/xt/app.h"
-#elif defined(__GTK__)
+#elif defined(__WXMOTIF__)
+#include "wx/motif/app.h"
+#elif defined(__WXQT__)
+#include "wx/qt/app.h"
+#elif defined(__WXGTK__)
#include "wx/gtk/app.h"
+#elif defined(__WXMAC__)
+#include "wx/mac/app.h"
+#elif defined(__WXSTUBS__)
+#include "wx/stubs/app.h"
#endif
-
// Having a global instance of this class allows
// wxApp to be aware of the app creator function.
// wxApp can then call this function to create a new
// (e.g. hello.cpp).
// Now IMPLEMENT_APP should add this code if required.
-#if defined(AIX) || defined(AIX4) /* || defined(____HPUX__) */
-#define IMPLEMENT_WXWIN_MAIN int main(int argc, char *argv[]) { return wxEntry(argc, argv); }
+#if defined(__AIX__) || defined(__HPUX__)
+#define IMPLEMENT_WXWIN_MAIN \
+extern int wxEntry( int argc, char *argv[] ); \
+int main(int argc, char *argv[]) { return wxEntry(argc, argv); }
+
+#elif defined(__WXMSW__) && defined(WXUSINGDLL)
+
+// NT defines APIENTRY, 3.x not
+#if !defined(WXAPIENTRY)
+# ifdef __WATCOMC__
+# define WXAPIENTRY PASCAL
+# else
+# define WXAPIENTRY FAR PASCAL
+# endif
+#endif
+
+#define IMPLEMENT_WXWIN_MAIN \
+int WXAPIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,\
+ LPSTR m_lpCmdLine, int nCmdShow )\
+{\
+ return wxEntry((WXHINSTANCE) hInstance, (WXHINSTANCE) hPrevInstance,\
+ m_lpCmdLine, nCmdShow);\
+}
+
#else
#define IMPLEMENT_WXWIN_MAIN
#endif
#endif
- // __APPH_BASE__
+ // _WX_APP_H_BASE_