enterleave.h revision 8ebece18c53100fbff1bc6e36f037c24a083ca48
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail/*
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail * Copyright © 2008 Red Hat, Inc.
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail *
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail * Permission is hereby granted, free of charge, to any person obtaining a
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail * copy of this software and associated documentation files (the "Software"),
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail * to deal in the Software without restriction, including without limitation
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail * the rights to use, copy, modify, merge, publish, distribute, sublicense,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail * and/or sell copies of the Software, and to permit persons to whom the
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail * Software is furnished to do so, subject to the following conditions:
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail *
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail * The above copyright notice and this permission notice (including the next
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail * paragraph) shall be included in all copies or substantial portions of the
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail * Software.
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail *
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail * DEALINGS IN THE SOFTWARE.
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail *
ec3706caae60369bd59b4a7a2de365fc74637504Vasumathi Sundaram * Authors: Peter Hutterer
c985e172447301fefddd2d30ac4cb0cac2281d0cIgor Kozhukhov *
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail */
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail#ifdef HAVE_DIX_CONFIG_H
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail#include <dix-config.h>
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail#endif
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail#ifndef ENTERLEAVE_H
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail#define ENTERLEAVE_H
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbailextern void DoEnterLeaveEvents(
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail DeviceIntPtr pDev,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail WindowPtr fromWin,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail WindowPtr toWin,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail int mode
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail);
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbailextern void DoFocusEvents(
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail DeviceIntPtr pDev,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail WindowPtr fromWin,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail WindowPtr toWin,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail int mode
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail);
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbailextern void EnterLeaveEvent(
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail DeviceIntPtr mouse,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail int type,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail int mode,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail int detail,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail WindowPtr pWin,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail Window child);
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbailextern WindowPtr CommonAncestor(
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail WindowPtr a,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail WindowPtr b);
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail
8887b57dc579de11464fc6c74163d2595ce073afGirish Moodalbailextern void CoreEnterLeaveEvent(DeviceIntPtr mouse,
8887b57dc579de11464fc6c74163d2595ce073afGirish Moodalbail int type,
8887b57dc579de11464fc6c74163d2595ce073afGirish Moodalbail int mode,
8887b57dc579de11464fc6c74163d2595ce073afGirish Moodalbail int detail,
8887b57dc579de11464fc6c74163d2595ce073afGirish Moodalbail WindowPtr pWin,
8887b57dc579de11464fc6c74163d2595ce073afGirish Moodalbail Window child);
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbailextern void DeviceEnterLeaveEvent(DeviceIntPtr mouse,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail int type,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail int mode,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail int detail,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail WindowPtr pWin,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail Window child);
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbailextern void EnterWindow(DeviceIntPtr dev,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail WindowPtr win,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail int mode);
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail
9b5bf10ab04b9be5564d70a57980cfb68b6372e7Mark Haywoodextern void CoreFocusEvent(DeviceIntPtr kbd,
9b5bf10ab04b9be5564d70a57980cfb68b6372e7Mark Haywood int type,
9b5bf10ab04b9be5564d70a57980cfb68b6372e7Mark Haywood int mode,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail int detail,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail WindowPtr pWin);
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbailextern void DeviceFocusEvent(DeviceIntPtr kbd,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail int type,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail int mode,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail int detail,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail WindowPtr pWin);
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbailextern void SetFocusIn(DeviceIntPtr kbd,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail WindowPtr win);
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbailextern void SetFocusOut(DeviceIntPtr dev,
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail WindowPtr win);
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail#endif /* _ENTERLEAVE_H_ */
6e91bba0d6c6bdabbba62cefae583715a4a58e2aGirish Moodalbail