diff options
author | Dan Nicholson <dbn.lists@gmail.com> | 2009-09-28 23:36:24 -0700 |
---|---|---|
committer | Dan Nicholson <dbn.lists@gmail.com> | 2009-09-29 06:08:25 -0700 |
commit | 8d42ed429d99422495021adb9cbe4dae7c8ec4c8 (patch) | |
tree | f7135231148b8b3918f92b73c1cb63b505c35658 /xts5/Xlib13/XChangeActivePointerGrab/XChangeActivePointerGrab.m | |
parent | 187fd242b03a9c3db18b990f61c776efa94be3b5 (diff) |
xts5: Flatten Xlib13 directory more
Diffstat (limited to 'xts5/Xlib13/XChangeActivePointerGrab/XChangeActivePointerGrab.m')
-rw-r--r-- | xts5/Xlib13/XChangeActivePointerGrab/XChangeActivePointerGrab.m | 404 |
1 files changed, 0 insertions, 404 deletions
diff --git a/xts5/Xlib13/XChangeActivePointerGrab/XChangeActivePointerGrab.m b/xts5/Xlib13/XChangeActivePointerGrab/XChangeActivePointerGrab.m deleted file mode 100644 index 6c534941..00000000 --- a/xts5/Xlib13/XChangeActivePointerGrab/XChangeActivePointerGrab.m +++ /dev/null @@ -1,404 +0,0 @@ -Copyright (c) 2005 X.Org Foundation L.L.C. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -Copyright (c) Applied Testing and Technology, Inc. 1995 -All Rights Reserved. - ->># Project: VSW5 ->># ->># File: xts5/Xlib13/XChangeActivePointerGrab/XChangeActivePointerGrab.m ->># ->># Description: ->># Tests for XChangeActivePointerGrab() ->># ->># Modifications: ->># $Log: chngactvpn.m,v $ ->># Revision 1.2 2005-11-03 08:42:38 jmichael ->># clean up all vsw5 paths to use xts5 instead. ->># ->># Revision 1.1.1.2 2005/04/15 14:05:19 anderson ->># Reimport of the base with the legal name in the copyright fixed. ->># ->># Revision 8.0 1998/12/23 23:33:32 mar ->># Branch point for Release 5.0.2 ->># ->># Revision 7.0 1998/10/30 22:55:06 mar ->># Branch point for Release 5.0.2b1 ->># ->># Revision 6.0 1998/03/02 05:24:57 tbr ->># Branch point for Release 5.0.1 ->># ->># Revision 5.0 1998/01/26 03:21:28 tbr ->># Branch point for Release 5.0.1b1 ->># ->># Revision 4.0 1995/12/15 09:08:05 tbr ->># Branch point for Release 5.0.0 ->># ->># Revision 3.1 1995/12/15 01:08:58 andy ->># Prepare for GA Release ->># -/* -Portions of this software are based on Xlib and X Protocol Test Suite. -We have used this material under the terms of its copyright, which grants -free use, subject to the conditions below. Note however that those -portions of this software that are based on the original Test Suite have -been significantly revised and that all such revisions are copyright (c) -1995 Applied Testing and Technology, Inc. Insomuch as the proprietary -revisions cannot be separated from the freely copyable material, the net -result is that use of this software is governed by the ApTest copyright. - -Copyright (c) 1990, 1991 X Consortium - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of the X Consortium shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from the X Consortium. - -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 name of UniSoft not be -used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. UniSoft -makes no representations about the suitability of this software for any -purpose. It is provided "as is" without express or implied warranty. -*/ ->>TITLE XChangeActivePointerGrab Xlib13 -void -xname(display, event_mask, cursor, thetime) -Display *display = Dsp; -unsigned int event_mask = PointerMotionMask; -Cursor cursor = None; -Time thetime = CurrentTime; ->>ASSERTION Good A -When the pointer is actively grabbed by the client and the specified time is -not earlier than the last-pointer-grab time nor later than -the current X server time, then a call to xname -changes the specified dynamic parameters. ->>STRATEGY -Create grab_window. -Grab pointer with XGrabPointer using an event_mask of EnterWindowMask. -Check that just enter events are reported. -Call xname to change event_mask to PointerMotionMask. -Verify that now only motion events are reported. ->>CODE -XEvent ev; -Window win; - - (void) warppointer(display, DRW(display), 0, 0); - - win = defwin(display); - - XGrabPointer(display, win, False, EnterWindowMask, GrabModeAsync, - GrabModeAsync, None, None, CurrentTime); - - (void) warppointer(display, win, 0, 0); - (void) warppointer(display, win, 2, 2); - - /* - * This is just a check to see that the grab is behaving as expected. - * delete and return if these fail. We do the same checks - * after the parameters are changed. - */ - if (XCheckMaskEvent(display, EnterWindowMask, &ev)) - CHECK; - else { - delete("No enter event received when checking set up"); - return; - } - if (!XCheckMaskEvent(display, PointerMotionMask, &ev)) - CHECK; - else { - delete("A pointer motion event was received when checking set up"); - return; - } - - (void) warppointer(display, DRW(display), 0, 0); - - XCALL; - - XSync(display, True); /* Flush any remaining event */ - (void) warppointer(display, win, 0, 0); - (void) warppointer(display, win, 2, 2); - if (isdeleted()) - return; - - if (!XCheckMaskEvent(display, EnterWindowMask, &ev)) - CHECK; - else { - report("Event mask was not changed to disallow enter events"); - FAIL; - } - if (XCheckMaskEvent(display, PointerMotionMask, &ev)) - CHECK; - else { - report("Event mask was not changed - no pointer motion event received"); - FAIL; - } - - CHECKPASS(4); ->>ASSERTION Good A -When the specified time is earlier than the last-pointer-grab time -or later than the current X server time, then a call to xname -does not change the parameters. ->>STRATEGY -Create grab_window. -Grab pointer with XGrabPointer using an event_mask of EnterWindowMask. -Use event_mask of PointerMotionMask. -Call xname with time earlier that last pointer grab time. -Verify that enter events are still being reported. - -Call xname with time later than current X server time. -Verify that enter events are still being reported. ->>CODE -XEvent ev; -Window win; -Time t; - - (void) warppointer(display, DRW(display), 0, 0); - - win = defwin(display); - t = gettime(Dsp); - - XGrabPointer(display, win, False, EnterWindowMask, GrabModeAsync, - GrabModeAsync, None, None, t); - - /* Earlier than last-pointer-grab time */ - thetime = t - 12; - XCALL; - - XSync(display, True); /* Flush any event */ - (void) warppointer(display, win, 0, 0); - (void) warppointer(display, win, 2, 2); - if (isdeleted()) - return; - - if (XCheckMaskEvent(display, EnterWindowMask, &ev)) - CHECK; - else { - report("Event mask was changed for time earlier than last-pointer-grab time"); - FAIL; - } - if (!XCheckMaskEvent(display, PointerMotionMask, &ev)) - CHECK; - else { - report("Event mask was changed for time earlier than last-pointer-grab time"); - FAIL; - } - - (void) warppointer(display, DRW(display), 0, 0); - - /* Later than X server time */ - t = gettime(Dsp); - thetime = t + (config.speedfactor+1)*1000000; - XCALL; - - XSync(display, True); /* Flush any event */ - (void) warppointer(display, win, 0, 0); - (void) warppointer(display, win, 2, 2); - if (isdeleted()) - return; - - if (XCheckMaskEvent(display, EnterWindowMask, &ev)) - CHECK; - else { - report("Event mask was changed for time later than X server time"); - FAIL; - } - if (!XCheckMaskEvent(display, PointerMotionMask, &ev)) - CHECK; - else { - report("Event mask was changed for time later than X server time"); - FAIL; - } - - CHECKPASS(4); ->>ASSERTION Good B 3 -A call to xname has no effect on the passive parameters of the function -.F XGrabButton . ->>STRATEGY -Create and map a window. -Create and map another window (curwin) and attach a non-default - cursor (cur) to it. -Select for no events on the window. -Set a passive grab with XGrabButton on that window with owner_events = False, - cursor = None and event_mask = 0. -Clear event queue. -Warp the pointer into the window and around inside it. -Check no events received. -Call xname with event_mask = PointerMotionMask and cursor = cur. -Clear event queue. -Warp the pointer into the window and around inside it. -Check no events received. -If extension available: - Activate grab with simulated button press in window. - Check grab activated. - Warp pointer around in window. - Check no events received. - Check cursor is not equal to that of curwin. - Call xname with event_mask = PointerMotionMask and cursor = cur. - Warp pointer around in window. - Check MotionNotify events received. - Check cursor is now equal to that of curwin. - Release all buttons, hence grab. -else - Issue message and report untested. ->>EXTERN -/* check to see if pointer is grabbed. Use existing win and another client */ -/* Depending on owner_events in xname or when setting grab may cause - * events to appear on grabbing clients event queue. Before checking for - * events in the queue the grabbing client should have flushed any junk - * left by this function. - */ -static int pgrabbed(win) -Window win; -{ - PointerPlace *p; - XEvent ev; - Display *client2 = opendisplay(); - - XSelectInput(client2, win, PointerMotionMask); - XSync(client2, True); - p = warppointer(client2, win, 1,1); - (void) warppointer(client2, win, 10,10); - (void) warppointer(client2, win, 1,1); - (void) warppointer(client2, p->oroot, p->ox, p->oy); - return (!getevent(client2, &ev)); -} ->>CODE -Window win; -Window curwin; -XEvent ev; -int n; -Cursor cur; - - win = defwin(display); - curwin = defwin(display); - cur = makecur2(display); - XDefineCursor(display, curwin, cur); - XSelectInput(display, win, 0L); - XGrabButton(display, AnyButton, 0, win, False, 0, GrabModeAsync, - GrabModeAsync, None, None); - if (isdeleted()) { - delete("Failed to set passive button grab."); - return; - } else - CHECK; - XSync(display, True); - (void) warppointer(display, win, 1,1); - (void) warppointer(display, win, 10,10); - (void) warppointer(display, win, 1,1); - if (n=getevent(display, &ev)) { - delete("Unexpectedly received %d events, first was type %s.", - n, eventname(ev.type)); - return; - } else - CHECK; - event_mask = PointerMotionMask; - cursor = cur; - XCALL; - XSync(display, True); - (void) warppointer(display, win, 1,1); - (void) warppointer(display, win, 10,10); - (void) warppointer(display, win, 1,1); - if (n=getevent(display, &ev)) { - report("event_mask changed passive grab, received %d events, first was type %s.", - n, eventname(ev.type)); - FAIL; - } else - CHECK; - if (noext(1)) { - report("Tested as far as possible without activating grab."); - CHECKUNTESTED(3); - } else { - Window oldf; - int oldr; - - XGetInputFocus(display, &oldf, &oldr); - XSetInputFocus(display, win, RevertToPointerRoot, CurrentTime); - buttonpress(display, Button1); - if (!pgrabbed(win)) { - report("Failed to activate grab."); - relalldev(); - XSetInputFocus(display, oldf, oldr, CurrentTime); - return; - } - XSync(display, True); - (void) warppointer(display, win, 1,1); - (void) warppointer(display, win, 10,10); - (void) warppointer(display, win, 1,1); - if (n=getevent(display, &ev)) { - report("event_mask changed on grab activation, received %d events, first was type %s.", - n, eventname(ev.type)); - FAIL; - } else - CHECK; - if (spriteiswin(display, curwin)) { - report("Cursor changed before grab activated."); - FAIL; - } else - CHECK; - event_mask = PointerMotionMask; - cursor = cur; - XCALL; - XSync(display, True); - (void) warppointer(display, win, 1,1); - (void) warppointer(display, win, 10,10); - (void) warppointer(display, win, 1,1); - if (!(n=getevent(display, &ev)) || ev.type != MotionNotify) { - report("event_mask not changed properly for active grab."); - if (n) - report("First event of %d was %s instead of MotionNotify.", - n, eventname(ev.type)); - FAIL; - } else - CHECK; - if (!spriteiswin(display, curwin)) { - report("Cursor not changed although grab was active."); - FAIL; - } else - CHECK; - - relalldev(); - XSetInputFocus(display, oldf, oldr, CurrentTime); - CHECKPASS(7); - } - ->>ASSERTION Bad A -.ER BadCursor ->>ASSERTION Bad A -.ER BadValue event_mask mask ButtonPressMask ButtonReleaseMask EnterWindowMask LeaveWindowMask PointerMotionMask PointerMotionHintMask Button1MotionMask Button2MotionMask Button3MotionMask Button4MotionMask Button5MotionMask ButtonMotionMask KeymapStateMask |