1c27c18e8SmrgXIWARPPOINTER(libmansuffix)
2c27c18e8Smrg===========================
3c27c18e8Smrg
4c27c18e8SmrgNAME
5c27c18e8Smrg----
6c27c18e8Smrg
7c27c18e8Smrg   XIWarpPointer - move a device's pointer.
8c27c18e8Smrg
9c27c18e8SmrgSYNOPSIS
10c27c18e8Smrg--------
11c27c18e8Smrg
12c27c18e8Smrg   #include <X11/extensions/XInput2.h>
13c27c18e8Smrg
14c27c18e8Smrg   Bool XIWarpPointer( Display *display,
15c27c18e8Smrg                       int deviceid,
16c27c18e8Smrg                       Window src_w,
17c27c18e8Smrg                       Window dest_w,
18c27c18e8Smrg                       double src_x,
19c27c18e8Smrg                       double src_y,
20c27c18e8Smrg                       int src_width,
21c27c18e8Smrg                       int src_height,
22c27c18e8Smrg                       double dest_x,
23c27c18e8Smrg                       double dest_y);
24c27c18e8Smrg   
25c27c18e8Smrg   dest_w
26c27c18e8Smrg          Specifies the destination window or None.
27c27c18e8Smrg
28c27c18e8Smrg   dest_x, dest_y
29c27c18e8Smrg          Specify the x and y coordinates within the destination
30c27c18e8Smrg          window.
31c27c18e8Smrg
32c27c18e8Smrg   deviceid
33c27c18e8Smrg          Specifies the master pointer device or floating slave
34c27c18e8Smrg          device to move.
35c27c18e8Smrg
36c27c18e8Smrg   display
37c27c18e8Smrg          Specifies the connection to the X server.
38c27c18e8Smrg
39c27c18e8Smrg   src_x, src_y, src_width, src_height
40c27c18e8Smrg          Specify a rectangle in the source window.
41c27c18e8Smrg
42c27c18e8Smrg   src_w
43c27c18e8Smrg          Specifies the source window or None.
44c27c18e8Smrg
45c27c18e8SmrgDESCRIPTION
46c27c18e8Smrg-----------
47c27c18e8Smrg
48c27c18e8Smrg   If dest_w is None, XIWarpPointer moves the pointer by the
49c27c18e8Smrg   offsets (dest_x, dest_y) relative to the current position of
50c27c18e8Smrg   the pointer. If dest_w is a window, XIWarpPointer moves the
51c27c18e8Smrg   pointer to the offsets (dest_x, dest_y) relative to the origin
52c27c18e8Smrg   of dest_w. However, if src_w is a window, the move only takes
53c27c18e8Smrg   place if the window src_w contains the pointer and if the
54c27c18e8Smrg   specified rectangle of src_w contains the pointer.
55c27c18e8Smrg
56c27c18e8Smrg   The src_x and src_y coordinates are relative to the origin of
57c27c18e8Smrg   src_w. If src_height is zero, it is replaced with the current
58c27c18e8Smrg   height of src_w minus src_y. If src_width is zero, it is
59c27c18e8Smrg   replaced with the current width of src_w minus src_x.
60c27c18e8Smrg
61c27c18e8Smrg   There is seldom any reason for calling this function. The
62c27c18e8Smrg   pointer should normally be left to the user. If you do use this
63c27c18e8Smrg   function, however, it generates events just as if the user had
64c27c18e8Smrg   instantaneously moved the pointer from one position to another.
65c27c18e8Smrg   Note that you cannot use XIWarpPointer to move the pointer
66c27c18e8Smrg   outside the confine_to window of an active pointer grab. An
67c27c18e8Smrg   attempt to do so will only move the pointer as far as the
68c27c18e8Smrg   closest edge of the confine_to window.
69c27c18e8Smrg
70c27c18e8Smrg   XIWarpPointer is identical to XWarpPointer but specifies the
71c27c18e8Smrg   device explicitly.
72c27c18e8Smrg
73c27c18e8Smrg   XIWarpPointer can generate a BadDevice and a BadWindow error.
74c27c18e8Smrg
75c27c18e8SmrgDIAGNOSTICS
76c27c18e8Smrg-----------
77c27c18e8Smrg
78c27c18e8Smrg   BadDevice
79c27c18e8Smrg          An invalid device was specified. The device does not
80c27c18e8Smrg          exist or is not a pointer device.
81c27c18e8Smrg
82c27c18e8Smrg   BadWindow
83c27c18e8Smrg          A value for a Window argument does not name a defined
84c27c18e8Smrg          window.
85c27c18e8Smrg
86c27c18e8SmrgSEE ALSO
87c27c18e8Smrg--------
88c27c18e8Smrg
89c27c18e8Smrg   XWarpPointer(libmansuffix)
90