]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/window_osx.cpp
Fix discrepancy between different ways of measuring text extents under Mac.
[wxWidgets.git] / src / osx / window_osx.cpp
index 3d355fde51783d2863fb7fc162ec5e8e410ec07b..72e3203879b9d39bff65ac2b99cddad0325df3e5 100644 (file)
@@ -1060,6 +1060,22 @@ bool wxWindowMac::Show(bool show)
     if ( m_peer )
         m_peer->SetVisibility( show ) ;
 
+    wxShowEvent eventShow(GetId(), show);
+    eventShow.SetEventObject(this);
+    
+    HandleWindowEvent(eventShow);
+    
+    return true;
+}
+
+bool wxWindowMac::OSXShowWithEffect(bool show,
+                                    wxShowEffect effect,
+                                    unsigned timeout)
+{
+    if ( effect == wxSHOW_EFFECT_NONE ||
+            !m_peer || !m_peer->ShowWithEffect(show, effect, timeout) )
+        return Show(show);
+
     return true;
 }
 
@@ -1195,6 +1211,7 @@ wxWindow *wxGetActiveWindow()
 // Coordinates relative to the window
 void wxWindowMac::WarpPointer(int x_pos, int y_pos)
 {
+#if wxOSX_USE_COCOA_OR_CARBON
     int x = x_pos;
     int y = y_pos;
     DoClientToScreen(&x, &y);
@@ -1209,14 +1226,15 @@ void wxWindowMac::WarpPointer(int x_pos, int y_pos)
 
     event.m_altDown = mState.AltDown();
     event.m_controlDown = mState.ControlDown();
-    event.m_leftDown = mState.LeftDown();
-    event.m_middleDown = mState.MiddleDown();
-    event.m_rightDown = mState.RightDown();
+    event.m_leftDown = mState.LeftIsDown();
+    event.m_middleDown = mState.MiddleIsDown();
+    event.m_rightDown = mState.RightIsDown();
     event.m_metaDown = mState.MetaDown();
     event.m_shiftDown = mState.ShiftDown();
     event.SetId(GetId());
     event.SetEventObject(this);
     GetEventHandler()->ProcessEvent(event);
+#endif
 }
 
 int wxWindowMac::GetScrollPos(int orient) const