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