This is an automated email from the git hooks/post-receive script. thansen pushed a commit to branch master in repository aseprite.
commit eff46d413496b76fbd0dd1564b29c4355fcaaff9 Author: David Capello <[email protected]> Date: Sun Jan 25 19:09:30 2015 -0300 Add infinite editor scroll to OS X Fix osx_mouse_position() --- src/allegro/src/macosx/qzmouse.m | 30 ++++++++++++++---------------- src/app/ui/editor/editor.cpp | 2 +- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/src/allegro/src/macosx/qzmouse.m b/src/allegro/src/macosx/qzmouse.m index acbf35a..c2f5f16 100644 --- a/src/allegro/src/macosx/qzmouse.m +++ b/src/allegro/src/macosx/qzmouse.m @@ -216,26 +216,24 @@ static void osx_mouse_exit(void) */ static void osx_mouse_position(int x, int y) { - CGPoint point; - NSRect frame; - int screen_height; + int scale, view_scale; + NSPoint pt; + CGPoint pos; + CGEventRef event; + NSView* view = [osx_window contentView]; _unix_lock_mutex(osx_event_mutex); - _mouse_x = point.x = x; - _mouse_y = point.y = y; + pt = NSMakePoint(x, y); + pt = [view convertPoint:pt toView:view]; + pt = [view convertPoint:pt toView:nil]; + pt = [osx_window convertBaseToScreen:pt]; + pt.y = [[osx_window screen] frame].size.height - pt.y; - if (osx_window) { - CFNumberGetValue(CFDictionaryGetValue(CGDisplayCurrentMode(kCGDirectMainDisplay), kCGDisplayHeight), kCFNumberSInt32Type, &screen_height); - frame = [osx_window frame]; - point.x += frame.origin.x; - point.y += (screen_height - (frame.origin.y + gfx_driver->h)); - } - - CGDisplayMoveCursorToPoint(kCGDirectMainDisplay, point); - - mymickey_x = mymickey_y = 0; - osx_mouse_warped = TRUE; + pos = CGPointMake(pt.x, pt.y); + event = CGEventCreateMouseEvent(NULL, kCGEventMouseMoved, pos, 0); + CGEventPost(kCGHIDEventTap, event); + CFRelease(event); _unix_unlock_mutex(osx_event_mutex); } diff --git a/src/app/ui/editor/editor.cpp b/src/app/ui/editor/editor.cpp index 35fa551..ac68cb3 100644 --- a/src/app/ui/editor/editor.cpp +++ b/src/app/ui/editor/editor.cpp @@ -738,7 +738,7 @@ gfx::Point Editor::autoScroll(MouseMessage* msg, AutoScroll dir, bool blit_valid } setEditorScroll(scroll.x, scroll.y, blit_valid_rgn); -#ifdef WIN32 +#if defined(WIN32) || defined(__APPLE__) mousePos -= delta; ui::set_mouse_position(mousePos); #endif -- 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

