X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6a370f427a1c7ac3ca7b6b7ff8a29c3fc8734fcd..2d08140fdbb3aaab9457287b49e877ecf3b8b790:/include/wx/app.h diff --git a/include/wx/app.h b/include/wx/app.h index b3715a2c8a..dc7b862ec7 100644 --- a/include/wx/app.h +++ b/include/wx/app.h @@ -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,30 +313,33 @@ 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(); + // 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) { wxCHECK_RET( dest, wxT("need an object to post event to in wxPostEvent") ); +#if wxUSE_GUI dest->AddPendingEvent(event); -} - +#else + dest->ProcessEvent(event); #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 // ------------------------------------------------------------------------- -#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__) || 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) - #ifdef __WATCOMC__ - #define WXAPIENTRY PASCAL - #else - #define WXAPIENTRY FAR PASCAL - #endif + #define WXAPIENTRY WXFAR wxSTDCALL #endif #define IMPLEMENT_WXWIN_MAIN \