diff options
Diffstat (limited to 'area_darwin.m')
| -rw-r--r-- | area_darwin.m | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/area_darwin.m b/area_darwin.m index f283b5e..c45aa40 100644 --- a/area_darwin.m +++ b/area_darwin.m @@ -10,6 +10,7 @@ #define to(T, x) ((T *) (x)) #define toNSEvent(x) to(NSEvent, (x)) +#define toAreaView(x) to(areaView, (x)) #define toNSInteger(x) ((NSInteger) (x)) #define fromNSInteger(x) ((intptr_t) (x)) @@ -110,7 +111,16 @@ uintptr_t modifierFlags(id e) return fromNSUInteger([toNSEvent(e) modifierFlags]); } -// TODO move getTranslatedEventPoint() here +struct xpoint getTranslatedEventPoint(id area, id e) +{ + NSPoint p; + struct xpoint q; + + p = [toAreaView(area) convertPoint:[toNSEvent(e) locationInWindow] fromView:nil]; + q.x = (intptr_t) p.x; + q.y = (intptr_t) p.y; + return q; +} intptr_t buttonNumber(id e) { |
