1/*
2 * Xplugin rootless implementation
3 *
4 * Copyright (c) 2003 Torrey T. Lyons. All Rights Reserved.
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the "Software"),
8 * to deal in the Software without restriction, including without limitation
9 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
10 * and/or sell copies of the Software, and to permit persons to whom the
11 * Software is furnished to do so, subject to the following conditions:
12 *
13 * The above copyright notice and this permission notice shall be included in
14 * all copies or substantial portions of the Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
20 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
23 *
24 * Except as contained in this notice, the name(s) of the above copyright
25 * holders shall not be used in advertising or otherwise to promote the sale,
26 * use or other dealings in this Software without prior written authorization.
27 */
28
29#ifndef XPR_H
30#define XPR_H
31
32#include "windowstr.h"
33#include "screenint.h"
34#include <Xplugin.h>
35
36Bool QuartzModeBundleInit(void);
37
38void AppleDRIExtensionInit(void);
39void xprAppleWMInit(void);
40Bool xprInit(ScreenPtr pScreen);
41Bool xprIsX11Window(void *nsWindow, int windowNumber);
42WindowPtr xprGetXWindow(xp_window_id wid);
43
44void xprHideWindows(Bool hide);
45
46Bool QuartzInitCursor(ScreenPtr pScreen);
47void QuartzSuspendXCursor(ScreenPtr pScreen);
48void QuartzResumeXCursor(ScreenPtr pScreen);
49
50/* If we are rooted, we need the root window and desktop levels to be below
51 * the menubar (24) but above native windows.  Normal window level is 0.
52 * Floating window level is 3.  The rest are filled in as appropriate.
53 * See CGWindowLevel.h
54 */
55
56#include <X11/extensions/applewmconst.h>
57static const int normal_window_levels[AppleWMNumWindowLevels+1] = {
580, 3, 4, 5, INT_MIN + 30, INT_MIN + 29,
59};
60static const int rooted_window_levels[AppleWMNumWindowLevels+1] = {
6120, 21, 22, 23, 19, 18,
62};
63
64#endif /* XPR_H */
65