X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4bcc364758483190ff62908d76ac99b922825027..38a5c64e29ab1d081af309a73c7af94069cf799f:/src/x11/app.cpp diff --git a/src/x11/app.cpp b/src/x11/app.cpp index ad51904800..9bb8539733 100644 --- a/src/x11/app.cpp +++ b/src/x11/app.cpp @@ -12,21 +12,24 @@ // for compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" -#include "wx/frame.h" #include "wx/app.h" -#include "wx/utils.h" + +#ifndef WX_PRECOMP + #include "wx/hash.h" + #include "wx/intl.h" + #include "wx/log.h" + #include "wx/utils.h" + #include "wx/frame.h" +#endif + #include "wx/gdicmn.h" #include "wx/icon.h" #include "wx/dialog.h" -#include "wx/log.h" #include "wx/module.h" #include "wx/memory.h" -#include "wx/log.h" -#include "wx/intl.h" #include "wx/evtloop.h" #include "wx/timer.h" #include "wx/filename.h" -#include "wx/hash.h" #include "wx/univ/theme.h" #include "wx/univ/renderer.h" @@ -90,7 +93,7 @@ BEGIN_EVENT_TABLE(wxApp, wxEvtHandler) EVT_IDLE(wxAppBase::OnIdle) END_EVENT_TABLE() -bool wxApp::Initialize(int& argc, wxChar **argv) +bool wxApp::Initialize(int& argC, wxChar **argV) { #if defined(__WXDEBUG__) && !wxUSE_NANOX // install the X error handler @@ -100,66 +103,66 @@ bool wxApp::Initialize(int& argc, wxChar **argv) wxString displayName; bool syncDisplay = false; - int argcOrig = argc; - for ( int i = 0; i < argcOrig; i++ ) + int argCOrig = argC; + for ( int i = 0; i < argCOrig; i++ ) { - if (wxStrcmp( argv[i], _T("-display") ) == 0) + if (wxStrcmp( argV[i], _T("-display") ) == 0) { - if (i < (argc - 1)) + if (i < (argC - 1)) { - argv[i++] = NULL; + argV[i++] = NULL; - displayName = argv[i]; + displayName = argV[i]; - argv[i] = NULL; - argc -= 2; + argV[i] = NULL; + argC -= 2; } } - else if (wxStrcmp( argv[i], _T("-geometry") ) == 0) + else if (wxStrcmp( argV[i], _T("-geometry") ) == 0) { - if (i < (argc - 1)) + if (i < (argC - 1)) { - argv[i++] = NULL; + argV[i++] = NULL; int w, h; - if (wxSscanf(argv[i], _T("%dx%d"), &w, &h) != 2) + if (wxSscanf(argV[i], _T("%dx%d"), &w, &h) != 2) { wxLogError( _("Invalid geometry specification '%s'"), - wxString(argv[i]).c_str() ); + wxString(argV[i]).c_str() ); } else { g_initialSize = wxSize(w, h); } - argv[i] = NULL; - argc -= 2; + argV[i] = NULL; + argC -= 2; } } - else if (wxStrcmp( argv[i], _T("-sync") ) == 0) + else if (wxStrcmp( argV[i], _T("-sync") ) == 0) { syncDisplay = true; - argv[i] = NULL; - argc--; + argV[i] = NULL; + argC--; } - else if (wxStrcmp( argv[i], _T("-iconic") ) == 0) + else if (wxStrcmp( argV[i], _T("-iconic") ) == 0) { g_showIconic = true; - argv[i] = NULL; - argc--; + argV[i] = NULL; + argC--; } } - if ( argc != argcOrig ) + if ( argC != argCOrig ) { // remove the argumens we consumed - for ( int i = 0; i < argc; i++ ) + for ( int i = 0; i < argC; i++ ) { - while ( !argv[i] ) + while ( !argV[i] ) { - memmove(argv + i, argv + i + 1, argcOrig - i); + memmove(argV + i, argV + i + 1, argCOrig - i); } } } @@ -186,7 +189,7 @@ bool wxApp::Initialize(int& argc, wxChar **argv) // Misc. wxSetDetectableAutoRepeat( true ); - if ( !wxAppBase::Initialize(argc, argv) ) + if ( !wxAppBase::Initialize(argC, argV) ) { XCloseDisplay(xdisplay); @@ -243,6 +246,7 @@ wxApp::~wxApp() } #if !wxUSE_NANOX + //----------------------------------------------------------------------- // X11 predicate function for exposure compression //----------------------------------------------------------------------- @@ -253,7 +257,8 @@ struct wxExposeInfo Bool found_non_matching; }; -static Bool expose_predicate (Display *display, XEvent *xevent, XPointer arg) +extern "C" +Bool wxX11ExposePredicate (Display *display, XEvent *xevent, XPointer arg) { wxExposeInfo *info = (wxExposeInfo*) arg; @@ -274,8 +279,8 @@ static Bool expose_predicate (Display *display, XEvent *xevent, XPointer arg) return TRUE; } -#endif - // wxUSE_NANOX + +#endif // wxUSE_NANOX //----------------------------------------------------------------------- // Processes an X event, returning true if the event was processed. @@ -322,7 +327,7 @@ bool wxApp::ProcessXEvent(WXEvent* _event) wxExposeInfo info; info.window = event->xexpose.window; info.found_non_matching = false; - while (XCheckIfEvent( wxGlobalDisplay(), &tmp_event, expose_predicate, (XPointer) &info )) + while (XCheckIfEvent( wxGlobalDisplay(), &tmp_event, wxX11ExposePredicate, (XPointer) &info )) { // Don't worry about optimizing redrawing the border etc. } @@ -341,7 +346,7 @@ bool wxApp::ProcessXEvent(WXEvent* _event) wxExposeInfo info; info.window = event->xexpose.window; info.found_non_matching = false; - while (XCheckIfEvent( wxGlobalDisplay(), &tmp_event, expose_predicate, (XPointer) &info )) + while (XCheckIfEvent( wxGlobalDisplay(), &tmp_event, wxX11ExposePredicate, (XPointer) &info )) { win->GetUpdateRegion().Union( tmp_event.xexpose.x, tmp_event.xexpose.y, tmp_event.xexpose.width, tmp_event.xexpose.height );