This is an automated email from the git hooks/post-receive script. thansen pushed a commit to branch master in repository aseprite.
commit 9b05d2e8ef791a309fe5ae9a1eafbf290bff46ac Author: David Capello <[email protected]> Date: Thu Apr 21 13:13:15 2016 -0300 Add Wacom eraser support on OS X --- src/she/osx/view.h | 5 ++++- src/she/osx/view.mm | 34 +++++++++++++++++++++++++++++++++- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/src/she/osx/view.h b/src/she/osx/view.h index c76d0c7..0a3e8c6 100644 --- a/src/she/osx/view.h +++ b/src/she/osx/view.h @@ -1,5 +1,5 @@ // SHE library -// Copyright (C) 2015 David Capello +// Copyright (C) 2015-2016 David Capello // // This file is released under the terms of the MIT license. // Read LICENSE.txt for more information. @@ -8,6 +8,8 @@ #define SHE_OSX_VIEW_H_INCLUDED #pragma once +#include "she/pointer_type.h" + #include <Cocoa/Cocoa.h> @interface OSXView : NSView { @@ -15,6 +17,7 @@ NSTrackingArea* m_trackingArea; NSCursor* m_nsCursor; bool m_visibleMouse; + she::PointerType m_pointerType; } - (id)initWithFrame:(NSRect)frameRect; - (BOOL)acceptsFirstResponder; diff --git a/src/she/osx/view.mm b/src/she/osx/view.mm index 52bfc6b..e51ac91 100644 --- a/src/she/osx/view.mm +++ b/src/she/osx/view.mm @@ -92,6 +92,7 @@ bool is_key_pressed(KeyScancode scancode) { m_nsCursor = [NSCursor arrowCursor]; m_visibleMouse = true; + m_pointerType = she::PointerType::Unknown; self = [super initWithFrame:frameRect]; if (self != nil) { @@ -307,6 +308,10 @@ bool is_key_pressed(KeyScancode scancode) ev.setPosition(get_local_mouse_pos(self, event)); ev.setButton(get_mouse_buttons(event)); ev.setModifiers(get_modifiers_from_nsevent(event)); + + if (m_pointerType != she::PointerType::Unknown) + ev.setPointerType(m_pointerType); + queue_event(ev); } @@ -317,6 +322,10 @@ bool is_key_pressed(KeyScancode scancode) ev.setPosition(get_local_mouse_pos(self, event)); ev.setButton(get_mouse_buttons(event)); ev.setModifiers(get_modifiers_from_nsevent(event)); + + if (m_pointerType != she::PointerType::Unknown) + ev.setPointerType(m_pointerType); + queue_event(ev); } @@ -327,6 +336,10 @@ bool is_key_pressed(KeyScancode scancode) ev.setPosition(get_local_mouse_pos(self, event)); ev.setButton(get_mouse_buttons(event)); ev.setModifiers(get_modifiers_from_nsevent(event)); + + if (m_pointerType != she::PointerType::Unknown) + ev.setPointerType(m_pointerType); + queue_event(ev); } @@ -360,11 +373,13 @@ bool is_key_pressed(KeyScancode scancode) scale = [(OSXWindow*)self.window scale]; if (event.hasPreciseScrollingDeltas) { + ev.setPointerType(she::PointerType::Multitouch); ev.setWheelDelta(gfx::Point(-event.scrollingDeltaX / scale, -event.scrollingDeltaY / scale)); ev.setPreciseWheel(true); } else { + ev.setPointerType(she::PointerType::Mouse); ev.setWheelDelta(gfx::Point(-event.scrollingDeltaX, -event.scrollingDeltaY)); } @@ -379,10 +394,27 @@ bool is_key_pressed(KeyScancode scancode) ev.setMagnification(event.magnification); ev.setPosition(get_local_mouse_pos(self, event)); ev.setModifiers(get_modifiers_from_nsevent(event)); - + ev.setPointerType(she::PointerType::Multitouch); queue_event(ev); } +- (void)tabletProximity:(NSEvent*)event +{ + if (event.isEnteringProximity == YES) { + switch (event.pointingDeviceType) { + case NSPenPointingDevice: m_pointerType = she::PointerType::Pen; break; + case NSCursorPointingDevice: m_pointerType = she::PointerType::Cursor; break; + case NSEraserPointingDevice: m_pointerType = she::PointerType::Eraser; break; + default: + m_pointerType = she::PointerType::Unknown; + break; + } + } + else { + m_pointerType = she::PointerType::Unknown; + } +} + - (void)cursorUpdate:(NSEvent*)event { [self updateCurrentCursor]; -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/aseprite.git _______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

