]> git.saurik.com Git - wxWidgets.git/commitdiff
updating implementations of wxGetMouseState for osx_cocoa and dummy impls for iphone
authorStefan Csomor <csomor@advancedconcepts.ch>
Fri, 13 Nov 2009 18:30:00 +0000 (18:30 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Fri, 13 Nov 2009 18:30:00 +0000 (18:30 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62631 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/osx/carbon/app.cpp
src/osx/cocoa/utils.mm
src/osx/iphone/utils.mm

index 8e316a5621578666e596e7ddcb49158553ba9708..849eec50732371d7254d95f371730756b0da3182 100644 (file)
@@ -1323,6 +1323,12 @@ int wxMacKeyCodeToModifier(wxKeyCode key)
 }
 #endif
 
+#if wxOSX_USE_COCOA && MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6
+
+// defined in utils.mm
+
+#elif wxOSX_USE_CARBON_OR_COCOA
+
 wxMouseState wxGetMouseState()
 {
     wxMouseState ms;
@@ -1331,7 +1337,6 @@ wxMouseState wxGetMouseState()
     ms.SetX(pt.x);
     ms.SetY(pt.y);
 
-#if wxOSX_USE_CARBON
     UInt32 buttons = GetCurrentButtonState();
     ms.SetLeftDown( (buttons & 0x01) != 0 );
     ms.SetMiddleDown( (buttons & 0x04) != 0 );
@@ -1342,12 +1347,12 @@ wxMouseState wxGetMouseState()
     ms.SetShiftDown(modifiers & shiftKey);
     ms.SetAltDown(modifiers & optionKey);
     ms.SetMetaDown(modifiers & cmdKey);
-#else
-    // TODO
-#endif
+
     return ms;
 }
 
+#endif
+
 // TODO : once the new key/char handling is tested, move all the code to wxWindow
 
 bool wxApp::MacSendKeyDownEvent( wxWindow* focus , long keymessage , long modifiers , long when , short wherex , short wherey , wxChar uniChar )
index 8d74b22883bea2e67eeb82301d8593aaa3fb5176..0f2eb3e517d7ca5e385f1e0262ca1c3f89eacaf9 100644 (file)
@@ -254,6 +254,34 @@ void wxGetMousePosition( int* x, int* y )
         *y = pt.y;
 };
 
+#if wxOSX_USE_COCOA && MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6
+
+wxMouseState wxGetMouseState()
+{
+    wxMouseState ms;
+    
+    wxPoint pt = wxGetMousePosition();
+    ms.SetX(pt.x);
+    ms.SetY(pt.y);
+    
+    NSUInteger modifiers = [NSEvent modifierFlags];
+    NSUInteger buttons = [NSEvent pressedMouseButtons];
+    
+    ms.SetLeftDown( (buttons & 0x01) != 0 );
+    ms.SetMiddleDown( (buttons & 0x04) != 0 );
+    ms.SetRightDown( (buttons & 0x02) != 0 );
+    
+    ms.SetControlDown(modifiers & NSControlKeyMask);
+    ms.SetShiftDown(modifiers & NSShiftKeyMask);
+    ms.SetAltDown(modifiers & NSAlternateKeyMask);
+    ms.SetMetaDown(modifiers & NSCommandKeyMask);
+    
+    return ms;
+}
+
+
+#endif
+
 wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
 {
     return new wxOSXTimerImpl(timer);
index f6b5b25d32d4d5ccab559af5a680f20e7f3d0851..ae34a8473a79006ffa4922faa7c07b2b12a67e80 100644 (file)
@@ -100,6 +100,16 @@ void wxMacWakeUp()
 
 #if wxUSE_GUI
 
+// ----------------------------------------------------------------------------
+// Launch default browser
+// ----------------------------------------------------------------------------
+
+bool wxDoLaunchDefaultBrowser(const wxString& url, int flags)
+{
+    return [[UIApplication sharedApplication] openURL:[NSURL URLWithString:wxCFStringRef(url).AsNSString()]]
+        == YES;
+}
+
 // TODO : reorganize
 
 extern wxFont* CreateNormalFont()
@@ -176,9 +186,18 @@ void wxClientDisplayRect(int *x, int *y, int *width, int *height)
 
 void wxGetMousePosition( int* x, int* y )
 {
-//    wxPoint pt = wxFromNSPoint(NULL, [NSEvent mouseLocation]);
+    if ( x )
+        *x = 0;
+    if ( y )
+        *y = 0;
 };
 
+wxMouseState wxGetMouseState()
+{
+    wxMouseState ms;
+    return ms;
+}    
+
 // Returns depth of screen
 int wxDisplayDepth()
 {
@@ -191,7 +210,7 @@ void wxDisplaySize(int *width, int *height)
     CGRect r = [[UIScreen mainScreen] applicationFrame];
     CGRect bounds = [[UIScreen mainScreen] bounds];
 
-    if ( bounds.size.height > r.size.height )
+    if ( UIInterfaceOrientationIsPortrait([[UIApplication sharedApplication] statusBarOrientation]) )
     {
         // portrait
         if ( width )