]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/app.h
Moved wxGLCanvas to more normal positions
[wxWidgets.git] / include / wx / app.h
index cad0b662644015d65f531f19d906c6d5ccd94030..dc7b862ec7abb9a41aa86d559bbccabb548f6320 100644 (file)
@@ -215,6 +215,10 @@ public:
     void SetWantDebugOutput( bool flag ) { m_wantDebugOutput = flag; }
     bool GetWantDebugOutput() const { return m_wantDebugOutput; }
 
     void SetWantDebugOutput( bool flag ) { m_wantDebugOutput = flag; }
     bool GetWantDebugOutput() const { return m_wantDebugOutput; }
 
+        // set use of best visual flag (see below)
+    void SetUseBestVisual( bool flag ) { m_useBestVisual = flag; }
+    bool GetUseBestVisual() const { return m_useBestVisual; }
+    
         // set/get printing mode: see wxPRINT_XXX constants.
         //
         // default behaviour is the normal one for Unix: always use PostScript
         // set/get printing mode: see wxPRINT_XXX constants.
         //
         // default behaviour is the normal one for Unix: always use PostScript
@@ -254,6 +258,10 @@ protected:
 
     // TRUE if the application wants to get debug output
     bool m_wantDebugOutput;
 
     // TRUE if the application wants to get debug output
     bool m_wantDebugOutput;
+    
+    // TRUE if the apps whats to use the best visual on systems where
+    // more than one are available (Sun, SGI, XFree86 4.0 ?)
+    bool m_useBestVisual;
 
 #if wxUSE_GUI
     // the main top level window - may be NULL
 
 #if wxUSE_GUI
     // the main top level window - may be NULL
@@ -282,7 +290,10 @@ protected:
         #include "wx/stubs/app.h"
     #endif
 #else // !GUI
         #include "wx/stubs/app.h"
     #endif
 #else // !GUI
-    typedef wxAppBase wxApp;
+    // can't use typedef because wxApp forward declared as a class
+    class WXDLLEXPORT wxApp : public wxAppBase
+    {
+    };
 #endif // GUI/!GUI
 
 // ----------------------------------------------------------------------------
 #endif // GUI/!GUI
 
 // ----------------------------------------------------------------------------
@@ -302,18 +313,14 @@ WXDLLEXPORT_DATA(extern wxApp*) wxTheApp;
 // event loop related functions only work in GUI programs
 // ------------------------------------------------------
 
 // event loop related functions only work in GUI programs
 // ------------------------------------------------------
 
-#if wxUSE_GUI
-
 // Force an exit from main loop
 extern void WXDLLEXPORT wxExit();
 
 // Yield to other apps/messages
 extern bool WXDLLEXPORT wxYield();
 
 // Force an exit from main loop
 extern void WXDLLEXPORT wxExit();
 
 // Yield to other apps/messages
 extern bool WXDLLEXPORT wxYield();
 
-#ifdef __WXGTK__
 // Yield to other apps/messages
 extern void WXDLLEXPORT wxWakeUpIdle();
 // Yield to other apps/messages
 extern void WXDLLEXPORT wxWakeUpIdle();
-#endif
 
 // Post a message to the given eventhandler which will be processed during the
 // next event loop iteration
 
 // Post a message to the given eventhandler which will be processed during the
 // next event loop iteration
@@ -321,16 +328,18 @@ inline void WXDLLEXPORT wxPostEvent(wxEvtHandler *dest, wxEvent& event)
 {
     wxCHECK_RET( dest, wxT("need an object to post event to in wxPostEvent") );
 
 {
     wxCHECK_RET( dest, wxT("need an object to post event to in wxPostEvent") );
 
+#if wxUSE_GUI
     dest->AddPendingEvent(event);
     dest->AddPendingEvent(event);
-}
-
+#else
+    dest->ProcessEvent(event);
 #endif // wxUSE_GUI
 #endif // wxUSE_GUI
+}
 
 // console applications may avoid using DECLARE_APP and IMPLEMENT_APP macros
 // and call these functions instead at the program startup and termination
 // -------------------------------------------------------------------------
 
 
 // console applications may avoid using DECLARE_APP and IMPLEMENT_APP macros
 // and call these functions instead at the program startup and termination
 // -------------------------------------------------------------------------
 
-#if wxUSE_NOGUI
+#if !wxUSE_GUI
 
 // initialize the library (may be called as many times as needed, but each
 // call to wxInitialize() must be matched by wxUninitialize())
 
 // initialize the library (may be called as many times as needed, but each
 // call to wxInitialize() must be matched by wxUninitialize())
@@ -340,7 +349,7 @@ extern bool WXDLLEXPORT wxInitialize();
 // wxUninitialize()
 extern void WXDLLEXPORT wxUninitialize();
 
 // wxUninitialize()
 extern void WXDLLEXPORT wxUninitialize();
 
-#endif // wxUSE_NOGUI
+#endif // !wxUSE_GUI
 
 // ----------------------------------------------------------------------------
 // macros for dynamic creation of the application object
 
 // ----------------------------------------------------------------------------
 // macros for dynamic creation of the application object
@@ -361,18 +370,14 @@ public:
 // be in your main program (e.g. hello.cpp). Now IMPLEMENT_APP should add this
 // code if required.
 
 // be in your main program (e.g. hello.cpp). Now IMPLEMENT_APP should add this
 // code if required.
 
-#if defined(__AIX__) || defined(__HPUX__) || defined( __VMS__ )
+#if !wxUSE_GUI || defined(__AIX__) || defined(__HPUX__) || defined( __VMS__ ) || defined(__WXPM__)
     #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)
     #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
+        #define WXAPIENTRY WXFAR wxSTDCALL
     #endif
 
     #define IMPLEMENT_WXWIN_MAIN \
     #endif
 
     #define IMPLEMENT_WXWIN_MAIN \