]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/app.h
wxImage::Rotate corrections added; docview improvements (menus updated properly)
[wxWidgets.git] / include / wx / app.h
index ef73b134cf7384ccc557e70d7b3aa39a850cf97e..4b682d6aa80d0f91d9c0dc896350789f857da361 100644 (file)
@@ -215,6 +215,10 @@ public:
     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
@@ -254,6 +258,10 @@ protected:
 
     // 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
@@ -282,7 +290,10 @@ protected:
         #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
 
 // ----------------------------------------------------------------------------
@@ -302,14 +313,17 @@ WXDLLEXPORT_DATA(extern wxApp*) wxTheApp;
 // 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();
 
+// Yield to other apps/messages
+extern void WXDLLEXPORT wxWakeUpIdle();
+
+#if wxUSE_GUI
+
 // Post a message to the given eventhandler which will be processed during the
 // next event loop iteration
 inline void WXDLLEXPORT wxPostEvent(wxEvtHandler *dest, wxEvent& event)
@@ -325,7 +339,7 @@ inline void WXDLLEXPORT wxPostEvent(wxEvtHandler *dest, wxEvent& event)
 // 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())
@@ -335,7 +349,7 @@ extern bool WXDLLEXPORT wxInitialize();
 // wxUninitialize()
 extern void WXDLLEXPORT wxUninitialize();
 
-#endif // wxUSE_NOGUI
+#endif // !wxUSE_GUI
 
 // ----------------------------------------------------------------------------
 // macros for dynamic creation of the application object
@@ -356,18 +370,14 @@ public:
 // be in your main program (e.g. hello.cpp). Now IMPLEMENT_APP should add this
 // code if required.
 
-#if defined(__AIX__) || defined(__HPUX__)
+#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)
-        #ifdef __WATCOMC__
-            #define WXAPIENTRY PASCAL
-        #else
-            #define WXAPIENTRY FAR PASCAL
-        #endif
+        #define WXAPIENTRY WXFAR wxSTDCALL
     #endif
 
     #define IMPLEMENT_WXWIN_MAIN \