From 2ac2b5057eb7bc7cd3c9ca8fbcd9b9de78627149 Mon Sep 17 00:00:00 2001 From: Edouard DUPIN Date: Wed, 29 May 2013 07:21:40 +0200 Subject: [PATCH] [DEV] add mac basic event --- .../ewol/renderer/os/gui.MacOs.Interface.mm | 6 ++- .../ewol/renderer/os/gui.MacOs.OpenglView.h | 12 ++++++ .../ewol/renderer/os/gui.MacOs.OpenglView.mm | 42 +++++++++++++++++++ 3 files changed, 59 insertions(+), 1 deletion(-) diff --git a/sources/ewol/renderer/os/gui.MacOs.Interface.mm b/sources/ewol/renderer/os/gui.MacOs.Interface.mm index c12513ef..6da569de 100644 --- a/sources/ewol/renderer/os/gui.MacOs.Interface.mm +++ b/sources/ewol/renderer/os/gui.MacOs.Interface.mm @@ -25,9 +25,11 @@ int mm_main(int argc, const char *argv[]) #include "ewol/renderer/os/gui.MacOs.Interface.h" #import +#import int mm_main(int argc, const char *argv[]) { + [NSAutoreleasePool new]; [NSApplication sharedApplication]; @@ -63,12 +65,14 @@ int mm_main(int argc, const char *argv[]) // --------------------------------------------------------------- // create a windows of size 800/600 id window = [ [ [NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, 800, 600) - styleMask:NSTitledWindowMask backing:NSBackingStoreBuffered defer:NO] + styleMask:(NSTitledWindowMask|NSMiniaturizableWindowMask|NSClosableWindowMask) backing:NSBackingStoreBuffered defer:NO] autorelease]; // set the windows at a specific position : [window cascadeTopLeftFromPoint:NSMakePoint(50,50)]; // set the title [window setTitle:appName]; + + [window setAcceptsMouseMovedEvents:YES]; // ??? [window makeKeyAndOrderFront:nil]; [NSApp activateIgnoringOtherApps:YES]; diff --git a/sources/ewol/renderer/os/gui.MacOs.OpenglView.h b/sources/ewol/renderer/os/gui.MacOs.OpenglView.h index 8f43c21e..549d4f9d 100644 --- a/sources/ewol/renderer/os/gui.MacOs.OpenglView.h +++ b/sources/ewol/renderer/os/gui.MacOs.OpenglView.h @@ -14,6 +14,18 @@ { } - (void) drawRect: (NSRect) bounds; +- (void)mouseDown: (NSEvent *) event; +- (void)mouseDragged: (NSEvent *) event; +- (void)mouseUp:(NSEvent *)event; +- (void)mouseMoved:(NSEvent *)event; +- (void)mouseEntered:(NSEvent *)event; +- (void)mouseExited:(NSEvent *)event; +- (void)rightMouseDown:(NSEvent *)event; +- (void)rightMouseDragged:(NSEvent *)event; +- (void)rightMouseUp:(NSEvent *)event; +- (void)otherMouseDown:(NSEvent *)event; +- (void)otherMouseDragged:(NSEvent *)event; +- (void)otherMouseUp:(NSEvent *)event; @end diff --git a/sources/ewol/renderer/os/gui.MacOs.OpenglView.mm b/sources/ewol/renderer/os/gui.MacOs.OpenglView.mm index 209b6b3f..45bec447 100644 --- a/sources/ewol/renderer/os/gui.MacOs.OpenglView.mm +++ b/sources/ewol/renderer/os/gui.MacOs.OpenglView.mm @@ -10,6 +10,7 @@ #import #include #include +#include static int32_t width=0, height=0; @@ -28,4 +29,45 @@ 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"); +} +-(void)mouseDragged:(NSEvent *)event { + EWOL_INFO("mouseDragged"); +} +-(void)mouseUp:(NSEvent *)event { + EWOL_INFO("mouseUp"); +} +-(void)mouseMoved:(NSEvent *)event { + EWOL_INFO("mouseMoved"); +} +-(void)mouseEntered:(NSEvent *)event { + EWOL_INFO("mouseEntered"); +} +-(void)mouseExited:(NSEvent *)event { + EWOL_INFO("mouseExited"); +} +-(void)rightMouseDown:(NSEvent *)event { + EWOL_INFO("rightMouseDown"); +} +-(void)rightMouseDragged:(NSEvent *)event { + EWOL_INFO("rightMouseDragged"); +} +-(void)rightMouseUp:(NSEvent *)event { + EWOL_INFO("rightMouseUp"); +} +-(void)otherMouseDown:(NSEvent *)event { + EWOL_INFO("otherMouseDown"); +} +-(void)otherMouseDragged:(NSEvent *)event { + EWOL_INFO("otherMouseDragged"); +} +-(void)otherMouseUp:(NSEvent *)event { + EWOL_INFO("otherMouseUp"); +} + + @end