X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8ea92b4d7792987769774ac381685dae15c70454..dad7b12aee25f7f061b4876d3dc10e5657497b2a:/src/mac/carbon/utils.cpp?ds=sidebyside diff --git a/src/mac/carbon/utils.cpp b/src/mac/carbon/utils.cpp index 26b435433b..6139d8a3e1 100644 --- a/src/mac/carbon/utils.cpp +++ b/src/mac/carbon/utils.cpp @@ -9,12 +9,13 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) // Note: this is done in utilscmn.cpp now. // #pragma implementation "utils.h" #endif -#include "wx/setup.h" +#include "wx/wxprec.h" + #include "wx/utils.h" #include "wx/app.h" #include "wx/apptrait.h" @@ -1023,6 +1024,7 @@ void wxMacControl::SetDrawingEnabled( bool enable ) #endif } +#if TARGET_API_MAC_OSX bool wxMacControl::GetNeedsDisplay() const { #if TARGET_API_MAC_OSX @@ -1041,6 +1043,7 @@ void wxMacControl::SetNeedsDisplay( bool needsDisplay , RgnHandle where ) HIViewSetNeedsDisplay( m_controlRef , needsDisplay ) ; #endif } +#endif void wxMacControl::Convert( wxPoint *pt , wxMacControl *from , wxMacControl *to ) { @@ -1051,6 +1054,21 @@ void wxMacControl::Convert( wxPoint *pt , wxMacControl *from , wxMacControl *to HIViewConvertPoint( &hiPoint , from->m_controlRef , to->m_controlRef ) ; pt->x = (int)hiPoint.x ; pt->y = (int)hiPoint.y ; +#else + Rect fromRect ; + Rect toRect ; + from->GetRect( &fromRect ) ; + to->GetRect( &toRect ) ; + + // correct the case of the root control + if ( fromRect.left == -32768 && fromRect.top == -32768 && fromRect.bottom == 32767 && fromRect.right == 32767) + fromRect.left = fromRect.top = 0 ; + + if ( toRect.left == -32768 && toRect.top == -32768 && toRect.bottom == 32767 && toRect.right == 32767 ) + toRect.left = toRect.top = 0 ; + + pt->x = pt->x + fromRect.left - toRect.left ; + pt->y = pt->y + fromRect.top - toRect.top ; #endif }