+Rect* UMAGetControlBoundsInWindowCoords(ControlRef theControl, Rect *bounds)
+{
+ wxWindow* win = wxFindControlFromMacControl( theControl ) ;
+
+ GetControlBounds( theControl , bounds ) ;
+#if TARGET_API_MAC_OSX
+ if ( win != NULL && win->MacGetTopLevelWindow() != NULL )
+ {
+ wxWindow* parent = win->GetParent() ;
+ if ( parent )
+ {
+ // the parent controls 'origin' expressed in its own
+ // window coordinates (explanation in window.cpp)
+ int x , y ;
+ x = 0 ;
+ y = 0 ;
+
+ if ( !parent->IsTopLevel() )
+ {
+ x += parent->MacGetLeftBorderSize() ;
+ y += parent->MacGetTopBorderSize() ;
+ }
+
+ parent->MacWindowToRootWindow( &x , & y ) ;
+ bounds->left += x ;
+ bounds->right += x ;
+ bounds->top += y ;
+ bounds->bottom += y ;
+ }
+ }
+#endif
+ return bounds ;
+}
+
+
+#endif // wxUSE_GUI
+
+#if wxUSE_BASE
+
+static bool sUMASystemInitialized = false ;
+
+bool UMASystemIsInitialized()
+{
+ return sUMASystemInitialized ;
+}
+
+void UMASetSystemIsInitialized(bool val)
+{
+ sUMASystemInitialized = val;
+}
+
+
+#endif // wxUSE_BASE