diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2017-03-23 16:40:18 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2017-03-23 16:40:18 (GMT) |
commit | 49cf696ee212a57dd79179031173d883a97e1f68 (patch) | |
tree | c36d3a18a5eabd911c2682b99493d82cf9264f87 /tkmacosx | |
parent | 2b566481a1b8874e3b19dc63c68629274cde637a (diff) | |
download | blt-49cf696ee212a57dd79179031173d883a97e1f68.zip blt-49cf696ee212a57dd79179031173d883a97e1f68.tar.gz blt-49cf696ee212a57dd79179031173d883a97e1f68.tar.bz2 |
rename
Diffstat (limited to 'tkmacosx')
-rw-r--r-- | tkmacosx/xxlib.m | 32 |
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); +} |