OSDN Git Service

Please enter the commit message for your changes. Lines starting
[eos/base.git] / util / src / TclTk / tk8.6.12 / macosx / tkMacOSXEvent.c
diff --git a/util/src/TclTk/tk8.6.12/macosx/tkMacOSXEvent.c b/util/src/TclTk/tk8.6.12/macosx/tkMacOSXEvent.c
new file mode 100644 (file)
index 0000000..31a7663
--- /dev/null
@@ -0,0 +1,116 @@
+/*
+ * tkMacOSXEvent.c --
+ *
+ *     This file contains the basic Mac OS X Event handling routines.
+ *
+ * Copyright (c) 1995-1997 Sun Microsystems, Inc.
+ * Copyright 2001-2009, Apple Inc.
+ * Copyright (c) 2005-2009 Daniel A. Steffen <das@users.sourceforge.net>
+ *
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ */
+
+#include "tkMacOSXPrivate.h"
+#include "tkMacOSXEvent.h"
+#include "tkMacOSXDebug.h"
+#include "tkMacOSXConstants.h"
+
+#pragma mark TKApplication(TKEvent)
+
+enum {
+    NSWindowWillMoveEventType = 20
+};
+
+@implementation TKApplication(TKEvent)
+/* TODO: replace by +[addLocalMonitorForEventsMatchingMask ? */
+- (NSEvent *) tkProcessEvent: (NSEvent *) theEvent
+{
+#ifdef TK_MAC_DEBUG_EVENTS
+    TKLog(@"-[%@(%p) %s] %@", [self class], self, _cmd, theEvent);
+#endif
+    NSEvent        *processedEvent = theEvent;
+    NSEventType            type = [theEvent type];
+    NSInteger      subtype;
+
+    switch ((NSInteger)type) {
+    case NSAppKitDefined:
+        subtype = [theEvent subtype];
+
+       switch (subtype) {
+           /* Ignored at the moment. */
+       case NSApplicationActivatedEventType:
+           break;
+       case NSApplicationDeactivatedEventType:
+           break;
+       case NSWindowExposedEventType:
+           break;
+       case NSScreenChangedEventType:
+           break;
+       case NSWindowMovedEventType:
+           break;
+        case NSWindowWillMoveEventType:
+            break;
+
+        default:
+            break;
+       }
+       break; /* AppkitEvent. Return theEvent */
+    case NSKeyUp:
+    case NSKeyDown:
+    case NSFlagsChanged:
+       processedEvent = [self tkProcessKeyEvent:theEvent];
+       break; /* Key event.  Return the processed event. */
+    case NSLeftMouseDown:
+    case NSLeftMouseUp:
+    case NSRightMouseDown:
+    case NSRightMouseUp:
+    case NSLeftMouseDragged:
+    case NSRightMouseDragged:
+    case NSMouseMoved:
+    case NSMouseEntered:
+    case NSMouseExited:
+    case NSScrollWheel:
+    case NSOtherMouseDown:
+    case NSOtherMouseUp:
+    case NSOtherMouseDragged:
+    case NSTabletPoint:
+    case NSTabletProximity:
+       processedEvent = [self tkProcessMouseEvent:theEvent];
+       break; /* Mouse event.  Return the processed event. */
+#if 0
+    case NSSystemDefined:
+        subtype = [theEvent subtype];
+       break;
+    case NSApplicationDefined: {
+       id win;
+       win = [theEvent window];
+       break;
+       }
+    case NSCursorUpdate:
+        break;
+    case NSEventTypeGesture:
+    case NSEventTypeMagnify:
+    case NSEventTypeRotate:
+    case NSEventTypeSwipe:
+    case NSEventTypeBeginGesture:
+    case NSEventTypeEndGesture:
+        break;
+#endif
+
+    default:
+       break; /* return theEvent */
+    }
+    return processedEvent;
+}
+@end
+#pragma mark -
+
+/*
+ * Local Variables:
+ * mode: objc
+ * c-basic-offset: 4
+ * fill-column: 79
+ * coding: utf-8
+ * End:
+ */