]> git.saurik.com Git - wxWidgets.git/commitdiff
moved wxEntry(HINSTANCE, ...) declaration to wx/msw/app.h from wx/app.h
authorVadim Zeitlin <vadim@wxwidgets.org>
Tue, 22 Jun 2004 11:07:23 +0000 (11:07 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Tue, 22 Jun 2004 11:07:23 +0000 (11:07 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/app.h
include/wx/msw/app.h

index b2e7a337b9e668897faa84ff4a6f515428870426..5c31889fc109741b98bc66f46479e95c426604ff 100644 (file)
@@ -613,47 +613,21 @@ public:
         { wxApp::SetInitializerFunction(fn); }
 };
 
-// Here's a macro you can use if your compiler really, really wants main() to
-// be in your main program (e.g. hello.cpp). Now IMPLEMENT_APP should add this
-// code if required.
+// the code below defines a IMPLEMENT_WXWIN_MAIN macro which you can use if
+// your compiler really, really wants main() to be in your main program (e.g.
+// hello.cpp). Now IMPLEMENT_APP should add this code if required.
 
 #define IMPLEMENT_WXWIN_MAIN_CONSOLE \
         int main(int argc, char **argv) { return wxEntry(argc, argv); }
 
-#if !wxUSE_GUI || !defined(__WXMSW__)
-    #define IMPLEMENT_WXWIN_MAIN                                              \
-        IMPLEMENT_WXWIN_MAIN_CONSOLE
-#elif defined(__WXMSW__)
-    // we need HINSTANCE declaration to define WinMain()
-    #include "wx/msw/wrapwin.h"
-
-    #ifndef SW_SHOWNORMAL
-        #define SW_SHOWNORMAL 1
-    #endif
-
-    // WinMain() is always ANSI, even in Unicode build, under normal Windows
-    // but is always Unicode under CE
-    #ifdef __WXWINCE__
-        typedef wchar_t *wxCmdLineArgType;
-    #else
-        typedef char *wxCmdLineArgType;
+// port-specific header could have defined it already in some special wau
+#ifndef IMPLEMENT_WXWIN_MAIN
+    #if !wxUSE_GUI
+        #define IMPLEMENT_WXWIN_MAIN IMPLEMENT_WXWIN_MAIN_CONSOLE
+    #else // wxUSE_GUI
+        #define IMPLEMENT_WXWIN_MAIN
     #endif
-
-    #define IMPLEMENT_WXWIN_MAIN \
-        extern int wxEntry(HINSTANCE hInstance,                               \
-                           HINSTANCE hPrevInstance = NULL,                    \
-                           wxCmdLineArgType pCmdLine = NULL,                  \
-                           int nCmdShow = SW_SHOWNORMAL);                     \
-        extern "C" int WINAPI WinMain(HINSTANCE hInstance,                    \
-                                      HINSTANCE hPrevInstance,                \
-                                      wxCmdLineArgType lpCmdLine,             \
-                                      int nCmdShow)                           \
-        {                                                                     \
-            return wxEntry(hInstance, hPrevInstance, lpCmdLine, nCmdShow);    \
-        }
-#else
-    #define IMPLEMENT_WXWIN_MAIN
-#endif
+#endif // defined(IMPLEMENT_WXWIN_MAIN)
 
 #ifdef __WXUNIVERSAL__
     #include "wx/univ/theme.h"
index 75a62173104f997315114b1ffdca112ca995247c..5884d32b6d4cd2fe49a4169d0d8e1f73008518b0 100644 (file)
@@ -81,8 +81,39 @@ protected:
     DECLARE_NO_COPY_CLASS(wxApp)
 };
 
-int WXDLLEXPORT wxEntry(WXHINSTANCE hInstance, WXHINSTANCE hPrevInstance,
-                        wxCmdLineArgType *lpszCmdLine, int nCmdShow);
+// ----------------------------------------------------------------------------
+// MSW-specific wxEntry() overload and IMPLEMENT_WXWIN_MAIN definition
+// ----------------------------------------------------------------------------
+
+// we need HINSTANCE declaration to define WinMain()
+#include "wx/msw/wrapwin.h"
+
+#ifndef SW_SHOWNORMAL
+    #define SW_SHOWNORMAL 1
+#endif
+
+// WinMain() is always ANSI, even in Unicode build, under normal Windows
+// but is always Unicode under CE
+#ifdef __WXWINCE__
+    typedef wchar_t *wxCmdLineArgType;
+#else
+    typedef char *wxCmdLineArgType;
+#endif
+
+extern int WXDLLEXPORT
+wxEntry(HINSTANCE hInstance,
+        HINSTANCE hPrevInstance = NULL,
+        wxCmdLineArgType pCmdLine = NULL,
+        int nCmdShow = SW_SHOWNORMAL);
+
+#define IMPLEMENT_WXWIN_MAIN \
+    extern "C" int WINAPI WinMain(HINSTANCE hInstance,                    \
+                                  HINSTANCE hPrevInstance,                \
+                                  wxCmdLineArgType lpCmdLine,             \
+                                  int nCmdShow)                           \
+    {                                                                     \
+        return wxEntry(hInstance, hPrevInstance, lpCmdLine, nCmdShow);    \
+    }
 
 #endif // _WX_APP_H_