diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2010-01-06 14:58:29 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2010-01-06 14:58:29 (GMT) |
commit | 1a6ac30b077e52ba1da9ac22a8d38356ece00cec (patch) | |
tree | 26bd34fc1fc835f2a79bdefdc48e6aff6bbd207f /win | |
parent | ef7b2a248d85365c8bfc78d1ef62475638b1a6bc (diff) | |
download | tk-1a6ac30b077e52ba1da9ac22a8d38356ece00cec.zip tk-1a6ac30b077e52ba1da9ac22a8d38356ece00cec.tar.gz tk-1a6ac30b077e52ba1da9ac22a8d38356ece00cec.tar.bz2 |
[Bug 2926819]: Factor out the pointer warping code a bit better and extend it
to work on OSX too.
Diffstat (limited to 'win')
-rw-r--r-- | win/tkWinPointer.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/win/tkWinPointer.c b/win/tkWinPointer.c index 6788c71..86c0f53 100644 --- a/win/tkWinPointer.c +++ b/win/tkWinPointer.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkWinPointer.c,v 1.10 2005/12/02 00:19:04 dkf Exp $ + * RCS: @(#) $Id: tkWinPointer.c,v 1.11 2010/01/06 14:58:30 dkf Exp $ */ #include "tkWinInt.h" @@ -362,6 +362,20 @@ XWarpPointer( GetWindowRect(Tk_GetHWND(dest_w), &r); SetCursorPos(r.left+dest_x, r.top+dest_y); } + +void +TkpWarpPointer( + TkDisplay *dispPtr) +{ + if (dispPtr->warpWindow) { + RECT r; + + GetWindowRect(Tk_GetHWND(Tk_WindowId(dispPtr->warpWindow)), &r); + SetCursorPos(r.left + dispPtr->warpX, r.top + dispPtr->warpY); + } else { + SetCursorPos(dispPtr->warpX, dispPtr->warpY); + } +} /* *---------------------------------------------------------------------- |