X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ce29e4fbe5d8f0c0e6972da064446204e59e9905..659af826726fea66d2476d3a0ead2fb00e34ad23:/src/common/wincmn.cpp diff --git a/src/common/wincmn.cpp b/src/common/wincmn.cpp index 5115c3cce6..c296441e77 100644 --- a/src/common/wincmn.cpp +++ b/src/common/wincmn.cpp @@ -215,6 +215,9 @@ wxWindowBase::wxWindowBase() // VZ: this one shouldn't exist... m_isBeingDeleted = false; + + // Reserved for future use + m_windowReserved = NULL; } // common part of window creation process @@ -438,7 +441,8 @@ void wxWindowBase::Centre(int direction) //RN: If we are using wxDisplay we get //the dimensions of the monitor the window is on, //otherwise we get the dimensions of the primary monitor -#if wxUSE_DISPLAY + //FIXME: wxDisplay::GetFromWindow only implemented on MSW +#if wxUSE_DISPLAY && defined(__WXMSW__) int nDisplay = wxDisplay::GetFromWindow((wxWindow*)this); if(nDisplay != wxNOT_FOUND) { @@ -810,10 +814,17 @@ void wxWindowBase::DoSetVirtualSize( int x, int y ) wxSize wxWindowBase::DoGetVirtualSize() const { - if (m_virtualSize == wxDefaultSize) - return GetClientSize(); + if ( m_virtualSize.IsFullySpecified() ) + return m_virtualSize; + + wxSize size = GetClientSize(); + if ( m_virtualSize.x != wxDefaultCoord ) + size.x = m_virtualSize.x; - return m_virtualSize; + if ( m_virtualSize.y != wxDefaultCoord ) + size.y = m_virtualSize.y; + + return size; } // ---------------------------------------------------------------------------- @@ -1036,8 +1047,17 @@ wxWindowBase::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant)) wxVisualAttributes attrs; attrs.font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); attrs.colFg = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT); - attrs.colBg = wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE); + // On Smartphone/PocketPC, wxSYS_COLOUR_WINDOW is a better reflection of + // the usual background colour than wxSYS_COLOUR_BTNFACE. + // It's a pity that wxSYS_COLOUR_WINDOW isn't always a suitable background + // colour on other platforms. + +#if defined(__WXWINCE__) && (defined(__SMARTPHONE__) || defined(__POCKETPC__)) + attrs.colBg = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW); +#else + attrs.colBg = wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE); +#endif return attrs; }