From 0bb1a97ff30573b7d812757625a69e870bf22951 Mon Sep 17 00:00:00 2001 From: Edouard DUPIN Date: Wed, 29 May 2013 21:06:38 +0200 Subject: [PATCH] [DEV] add the linker on MACOS API event handler --- .../ewol/renderer/os/gui.MacOs.OpenglView.h | 7 +-- .../ewol/renderer/os/gui.MacOs.OpenglView.mm | 51 +++++++++++++------ 2 files changed, 40 insertions(+), 18 deletions(-) diff --git a/sources/ewol/renderer/os/gui.MacOs.OpenglView.h b/sources/ewol/renderer/os/gui.MacOs.OpenglView.h index 549d4f9d..efb2cc3d 100644 --- a/sources/ewol/renderer/os/gui.MacOs.OpenglView.h +++ b/sources/ewol/renderer/os/gui.MacOs.OpenglView.h @@ -13,9 +13,9 @@ @interface OpenGLView : NSOpenGLView { } -- (void) drawRect: (NSRect) bounds; -- (void)mouseDown: (NSEvent *) event; -- (void)mouseDragged: (NSEvent *) event; +- (void)drawRect:(NSRect) bounds; +- (void)mouseDown:(NSEvent *) event; +- (void)mouseDragged:(NSEvent *) event; - (void)mouseUp:(NSEvent *)event; - (void)mouseMoved:(NSEvent *)event; - (void)mouseEntered:(NSEvent *)event; @@ -26,6 +26,7 @@ - (void)otherMouseDown:(NSEvent *)event; - (void)otherMouseDragged:(NSEvent *)event; - (void)otherMouseUp:(NSEvent *)event; +//- (void)sendEvent:(NSEvent *)event @end diff --git a/sources/ewol/renderer/os/gui.MacOs.OpenglView.mm b/sources/ewol/renderer/os/gui.MacOs.OpenglView.mm index 45bec447..08d4edab 100644 --- a/sources/ewol/renderer/os/gui.MacOs.OpenglView.mm +++ b/sources/ewol/renderer/os/gui.MacOs.OpenglView.mm @@ -32,42 +32,63 @@ static int32_t width=0, height=0; -(void)mouseDown:(NSEvent *)event { NSPoint point = [event locationInWindow]; //float x = [event locationInWindow].x; //point.x; - EWOL_INFO("mouseDown" << (float)point.x << " " << (float)point.y); - EWOL_INFO("mouseDown"); + EWOL_INFO("mouseDown : " << (float)point.x << " " << (float)point.y); + eSystem::SetMouseState(1, true, point.x, point.y); } -(void)mouseDragged:(NSEvent *)event { - EWOL_INFO("mouseDragged"); + NSPoint point = [event locationInWindow]; + EWOL_INFO("mouseDragged : " << (float)point.x << " " << (float)point.y); + eSystem::SetMouseMotion(1, point.x, point.y); } -(void)mouseUp:(NSEvent *)event { - EWOL_INFO("mouseUp"); + NSPoint point = [event locationInWindow]; + EWOL_INFO("mouseUp : " << (float)point.x << " " << (float)point.y); + eSystem::SetMouseState(1, false, point.x, point.y); } -(void)mouseMoved:(NSEvent *)event { - EWOL_INFO("mouseMoved"); + NSPoint point = [event locationInWindow]; + EWOL_INFO("mouseMoved : " << (float)point.x << " " << (float)point.y); } -(void)mouseEntered:(NSEvent *)event { - EWOL_INFO("mouseEntered"); + NSPoint point = [event locationInWindow]; + EWOL_INFO("mouseEntered : " << (float)point.x << " " << (float)point.y); } -(void)mouseExited:(NSEvent *)event { - EWOL_INFO("mouseExited"); + NSPoint point = [event locationInWindow]; + EWOL_INFO("mouseExited : " << (float)point.x << " " << (float)point.y); } -(void)rightMouseDown:(NSEvent *)event { - EWOL_INFO("rightMouseDown"); + NSPoint point = [event locationInWindow]; + EWOL_INFO("rightMouseDown : " << (float)point.x << " " << (float)point.y); + eSystem::SetMouseState(3, true, point.x, point.y); } -(void)rightMouseDragged:(NSEvent *)event { - EWOL_INFO("rightMouseDragged"); + NSPoint point = [event locationInWindow]; + EWOL_INFO("rightMouseDragged : " << (float)point.x << " " << (float)point.y); + eSystem::SetMouseMotion(3, point.x, point.y); } -(void)rightMouseUp:(NSEvent *)event { - EWOL_INFO("rightMouseUp"); + NSPoint point = [event locationInWindow]; + EWOL_INFO("rightMouseUp : " << (float)point.x << " " << (float)point.y); + eSystem::SetMouseState(3, false, point.x, point.y); } -(void)otherMouseDown:(NSEvent *)event { - EWOL_INFO("otherMouseDown"); + NSPoint point = [event locationInWindow]; + EWOL_INFO("otherMouseDown : " << (float)point.x << " " << (float)point.y); } -(void)otherMouseDragged:(NSEvent *)event { - EWOL_INFO("otherMouseDragged"); + NSPoint point = [event locationInWindow]; + EWOL_INFO("otherMouseDragged : " << (float)point.x << " " << (float)point.y); } -(void)otherMouseUp:(NSEvent *)event { - EWOL_INFO("otherMouseUp"); + NSPoint point = [event locationInWindow]; + EWOL_INFO("otherMouseUp : " << (float)point.x << " " << (float)point.y); } - - +/* +// http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/EventOverview/EventArchitecture/EventArchitecture.html +-(void)sendEvent:(NSEvent *)event { + NSPoint point = [event locationInWindow]; + EWOL_INFO("sendEvent : " << (float)point.x << " " << (float)point.y); +} +*/ @end