summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2017-03-23 16:40:18 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2017-03-23 16:40:18 (GMT)
commit49cf696ee212a57dd79179031173d883a97e1f68 (patch)
treec36d3a18a5eabd911c2682b99493d82cf9264f87
parent2b566481a1b8874e3b19dc63c68629274cde637a (diff)
downloadblt-49cf696ee212a57dd79179031173d883a97e1f68.zip
blt-49cf696ee212a57dd79179031173d883a97e1f68.tar.gz
blt-49cf696ee212a57dd79179031173d883a97e1f68.tar.bz2
rename
-rw-r--r--tkmacosx/xxlib.m32
1 files changed, 32 insertions, 0 deletions
diff --git a/tkmacosx/xxlib.m b/tkmacosx/xxlib.m
new file mode 100644
index 0000000..412c56c
--- /dev/null
+++ b/tkmacosx/xxlib.m
@@ -0,0 +1,32 @@
+// Copyright (C) 1999-2016
+// Smithsonian Astrophysical Observatory, Cambridge, MA, USA
+// For conditions of distribution and use, see copyright notice in "copyright"
+
+#include <iostream>
+#include <sstream>
+#include <iomanip>
+using namespace std;
+
+#include <tkMacOSXPrivate.h>
+
+void XXWarpPointer(Display* display, Window src_w, Window dest_w,
+ int src_x, int src_y,
+ unsigned int src_width, unsigned int src_height,
+ int dest_x, int dest_y)
+{
+ int xx, yy;
+ if (dest_w)
+ Tk_GetRootCoords(Tk_IdToWindow(display,dest_w), &xx, &yy);
+ else
+ XQueryPointer(display, dest_w, NULL, NULL, &xx, &yy, NULL, NULL, NULL);
+
+ CGPoint pt;
+ pt.x = xx+dest_x;
+ pt.y = yy+dest_y;
+
+ CGEventSourceRef src = CGEventSourceCreate(kCGEventSourceStateCombinedSessionState);
+ CGEventRef ev = CGEventCreateMouseEvent(src,kCGEventMouseMoved,pt,kCGMouseButtonLeft);
+ CGEventPost(kCGSessionEventTap,ev);
+ CFRelease(ev);
+ CFRelease(src);
+}