avoid deprecated API, fixes #13727
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72195 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -455,6 +455,11 @@ bool g_lastButtonWasFakeRight = false ;
|
|||||||
@interface NSEvent (DeviceDelta)
|
@interface NSEvent (DeviceDelta)
|
||||||
- (CGFloat)deviceDeltaX;
|
- (CGFloat)deviceDeltaX;
|
||||||
- (CGFloat)deviceDeltaY;
|
- (CGFloat)deviceDeltaY;
|
||||||
|
|
||||||
|
// 10.7+
|
||||||
|
- (BOOL)hasPreciseScrollingDeltas;
|
||||||
|
- (CGFloat)scrollingDeltaX;
|
||||||
|
- (CGFloat)scrollingDeltaY;
|
||||||
@end
|
@end
|
||||||
|
|
||||||
void wxWidgetCocoaImpl::SetupMouseEvent( wxMouseEvent &wxevent , NSEvent * nsEvent )
|
void wxWidgetCocoaImpl::SetupMouseEvent( wxMouseEvent &wxevent , NSEvent * nsEvent )
|
||||||
@@ -609,23 +614,39 @@ void wxWidgetCocoaImpl::SetupMouseEvent( wxMouseEvent &wxevent , NSEvent * nsEve
|
|||||||
|
|
||||||
wxevent.SetEventType( wxEVT_MOUSEWHEEL ) ;
|
wxevent.SetEventType( wxEVT_MOUSEWHEEL ) ;
|
||||||
|
|
||||||
// see http://developer.apple.com/qa/qa2005/qa1453.html
|
if ( UMAGetSystemVersion() >= 0x1070 )
|
||||||
// for more details on why we have to look for the exact type
|
|
||||||
|
|
||||||
const EventRef cEvent = (EventRef) [nsEvent eventRef];
|
|
||||||
bool isMouseScrollEvent = false;
|
|
||||||
if ( cEvent )
|
|
||||||
isMouseScrollEvent = ::GetEventKind(cEvent) == kEventMouseScroll;
|
|
||||||
|
|
||||||
if ( isMouseScrollEvent )
|
|
||||||
{
|
{
|
||||||
deltaX = [nsEvent deviceDeltaX];
|
if ( [nsEvent hasPreciseScrollingDeltas] )
|
||||||
deltaY = [nsEvent deviceDeltaY];
|
{
|
||||||
|
deltaX = [nsEvent scrollingDeltaX];
|
||||||
|
deltaY = [nsEvent scrollingDeltaY];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
deltaX = [nsEvent scrollingDeltaX] * 10;
|
||||||
|
deltaY = [nsEvent scrollingDeltaY] * 10;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
deltaX = ([nsEvent deltaX] * 10);
|
const EventRef cEvent = (EventRef) [nsEvent eventRef];
|
||||||
deltaY = ([nsEvent deltaY] * 10);
|
// see http://developer.apple.com/qa/qa2005/qa1453.html
|
||||||
|
// for more details on why we have to look for the exact type
|
||||||
|
|
||||||
|
bool isMouseScrollEvent = false;
|
||||||
|
if ( cEvent )
|
||||||
|
isMouseScrollEvent = ::GetEventKind(cEvent) == kEventMouseScroll;
|
||||||
|
|
||||||
|
if ( isMouseScrollEvent )
|
||||||
|
{
|
||||||
|
deltaX = [nsEvent deviceDeltaX];
|
||||||
|
deltaY = [nsEvent deviceDeltaY];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
deltaX = ([nsEvent deltaX] * 10);
|
||||||
|
deltaY = ([nsEvent deltaY] * 10);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
wxevent.m_wheelDelta = 10;
|
wxevent.m_wheelDelta = 10;
|
||||||
|
Reference in New Issue
Block a user