X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2ae328d17faaae564da1b8d082313c4a52856e62..b5aaf62e977b828214d65c3712478410fb2c8a05:/src/osx/utils_osx.cpp diff --git a/src/osx/utils_osx.cpp b/src/osx/utils_osx.cpp index e044f1a54d..20d791b1a7 100644 --- a/src/osx/utils_osx.cpp +++ b/src/osx/utils_osx.cpp @@ -17,6 +17,7 @@ #ifndef WX_PRECOMP #include "wx/intl.h" #include "wx/app.h" + #include "wx/log.h" #if wxUSE_GUI #include "wx/toplevel.h" #include "wx/font.h" @@ -39,12 +40,6 @@ #endif #include "wx/osx/private.h" - -#ifdef wxOSX_USE_COCOA -// to get the themeing APIs -#include -#endif - #include "wx/osx/private/timer.h" #include "wx/evtloop.h" @@ -159,9 +154,31 @@ wxEventLoopBase* wxGUIAppTraits::CreateEventLoop() return new wxEventLoop; } +wxNonOwnedWindow *wxFindWindowFromWXWindow(WXWindow inWindowRef); +wxWindow* wxFindWindowAtPoint(wxWindow* win, const wxPoint& pt); + wxWindow* wxFindWindowAtPoint(const wxPoint& pt) { - return wxGenericFindWindowAtPoint(pt); +#if wxOSX_USE_CARBON + + Point screenPoint = { pt.y , pt.x }; + WindowRef windowRef; + + if ( FindWindow( screenPoint , &windowRef ) ) + { + wxNonOwnedWindow *nonOwned = wxFindWindowFromWXWindow( windowRef ); + + if ( nonOwned ) + return wxFindWindowAtPoint( nonOwned , pt ); + } + + return NULL; + +#else + + return wxGenericFindWindowAtPoint( pt ); + +#endif } /*