>># 
>># Copyright 1990, 1991 by the Massachusetts Institute of Technology and
>># UniSoft Group Limited.
>># 
>># Permission to use, copy, modify, distribute, and sell this software and
>># its documentation for any purpose is hereby granted without fee,
>># provided that the above copyright notice appear in all copies and that
>># both that copyright notice and this permission notice appear in
>># supporting documentation, and that the names of MIT and UniSoft not be
>># used in advertising or publicity pertaining to distribution of the
>># software without specific, written prior permission.  MIT and UniSoft
>># make no representations about the suitability of this software for any
>># purpose.  It is provided "as is" without express or implied warranty.
>># 
>># $XConsortium: qrypntr.m,v 1.5 92/06/11 16:13:40 rws Exp $
>># 
>>#      SCCS:  @(#)  EWin.mc Rel 1.4	    (7/19/91)
>>#
>>TITLE XQueryPointer CH04
>>ASSERTION A XQueryPointer-1
A call to XQueryPointer returns the root window the pointer
is logically on in root_return, and the pointer coordinates
relative to the root window's origin in root_x_return and
root_y_return.
>>STRATEGY
Call XWarpPointer to move pointer to a known position
Call XQueryPointer to obtain pointer position
Verify that the correct root window and pointer position were returned
>>ASSERTION C XQueryPointer-2
If multiple screens are supported: When the pointer is not
on the same screen as the specified window w, then a call
to XQueryPointer returns False, child_return is set to None,
and win_x_return and win_y_return are set to zero.
>>STRATEGY
If multiple screens are supported:
	Ensure that pointer is not on the alternate screen
	Call XQueryPointer to obtain pointer position on alternate screen
	Verify that win_x_return, win_y_return and child_return
		were set correctly
>>ASSERTION A XQueryPointer-3
When the pointer is on the same screen as the specified
window w and a child of that window contains the pointer,
then a call to XQueryPointer returns True, win_x_return and
win_y_return are set to the pointer coordinates relative to
the origin of the specified window w, and child_return is
set to the child window.
>>STRATEGY
Create a child of the root window
Ensure the pointer is over the child by calling warppointer()
Call XQueryPointer to obtain pointer position
Verify that win_x_return, win_y_return and child_return
	were set correctly
>>ASSERTION A XQueryPointer-4
When the pointer is on the same screen as the specified
window w and no child of that window contains the pointer,
then a call to XQueryPointer returns True, win_x_return and
win_y_return are set to the pointer coordinates relative to
the origin of the specified window w, and child_return is
set to None.
>>STRATEGY
Create window
Ensure the pointer is over the window by calling warppointer()
Call XQueryPointer to obtain pointer position
Verify that win_x_return, win_y_return and child_return
	were set correctly
>>ASSERTION B XQueryPointer-5
A call to XQueryPointer returns the current logical state
of the keyboard buttons and the modifier keys as the bitwise
inclusive OR of one or more of the button or modifier key
bitmasks in mask_return.
>>STRATEGY
Report UNTESTED
>>ASSERTION A XQueryPointer-6
When a window argument does not name a valid Window, then a
BadWindow error occurs.
>>STRATEGY
Create a bad window by creating and destroying a window.
Call test function using bad window as the window argument.
Verify that a BadWindow error occurs.
