diff options
author | Jeremy Huddleston <jeremyhu@freedesktop.org> | 2008-08-20 10:37:17 -0700 |
---|---|---|
committer | Jeremy Huddleston <jeremyhu@freedesktop.org> | 2008-11-14 11:10:15 -0800 |
commit | 3c124832642f1ec3228a57bea3d1eda68a188ff3 (patch) | |
tree | 871d0b0d48ec6b4ef498987b396b8fa1d0099357 | |
parent | e917806fc556c2054b2835c8f85770b554c78092 (diff) |
XQuartz: Made X11Application.m a little more tidy.
(cherry picked from commit 3520386261b838196a8918e8bee16bdccbc9781d)
-rw-r--r-- | hw/xquartz/X11Application.m | 33 |
1 files changed, 8 insertions, 25 deletions
diff --git a/hw/xquartz/X11Application.m b/hw/xquartz/X11Application.m index fa7c532cc..1ffd4420d 100644 --- a/hw/xquartz/X11Application.m +++ b/hw/xquartz/X11Application.m @@ -70,6 +70,10 @@ X11Application *X11App; #define ALL_KEY_MASKS (NSShiftKeyMask | NSControlKeyMask | NSAlternateKeyMask | NSCommandKeyMask) +@interface X11Application (Private) +- (void) sendX11NSEvent:(NSEvent *)e; +@end + @implementation X11Application typedef struct message_struct message; @@ -81,8 +85,6 @@ struct message_struct { static mach_port_t _port; -static void send_nsevent(NSEvent *e); - /* Quartz mode initialization routine. This is often dynamically loaded but is statically linked into this X server. */ Bool QuartzModeBundleInit(void); @@ -195,11 +197,8 @@ static void message_kit_thread (SEL selector, NSObject *arg) { } - (void) sendEvent:(NSEvent *)e { - NSEventType type; OSX_BOOL for_appkit, for_x; - type = [e type]; - /* By default pass down the responder chain and to X. */ for_appkit = YES; for_x = YES; @@ -322,7 +321,7 @@ static void message_kit_thread (SEL selector, NSObject *arg) { if (for_appkit) [super sendEvent:e]; - if (for_x) send_nsevent(e); + if (for_x) [self sendX11NSEvent:e]; } - (void) set_window_menu:(NSArray *)list { @@ -862,27 +861,10 @@ void X11ApplicationMain (int argc, char **argv, char **envp) { /* not reached */ } -/* event conversion */ - -static inline unsigned short -convert_flags (unsigned int nsflags) { - unsigned int xflags = 0; - - if (nsflags == ~0) return 0xffff; - - if (nsflags & NSAlphaShiftKeyMask) xflags |= LockMask; - if (nsflags & NSShiftKeyMask) xflags |= ShiftMask; - if (nsflags & NSControlKeyMask) xflags |= ControlMask; - if (nsflags & NSAlternateKeyMask) xflags |= Mod1Mask; - if (nsflags & NSCommandKeyMask) xflags |= Mod2Mask; - /* FIXME: secondaryfn? */ - - return xflags; -} - +@implementation X11Application (Private) extern int darwin_modifier_flags; // darwinEvents.c -static void send_nsevent(NSEvent *e) { +- (void) sendX11NSEvent:(NSEvent *)e { NSRect screen; NSPoint location; NSWindow *window; @@ -1047,3 +1029,4 @@ static void send_nsevent(NSEvent *e) { default: break; /* for gcc */ } } +@end |