2 * Xephyr - A kdrive X server thats runs in a host X window.
3 * Authored by Matthew Allum <mallum@o-hand.com>
5 * Copyright © 2004 Nokia
7 * Permission to use, copy, modify, distribute, and sell this software and its
8 * documentation for any purpose is hereby granted without fee, provided that
9 * the above copyright notice appear in all copies and that both that
10 * copyright notice and this permission notice appear in supporting
11 * documentation, and that the name of Nokia not be used in
12 * advertising or publicity pertaining to distribution of the software without
13 * specific, written prior permission. Nokia makes no
14 * representations about the suitability of this software for any purpose. It
15 * is provided "as is" without express or implied warranty.
17 * NOKIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
18 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
19 * EVENT SHALL NOKIA BE LIABLE FOR ANY SPECIAL, INDIRECT OR
20 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
21 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
22 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
23 * PERFORMANCE OF THIS SOFTWARE.
32 #include "os.h" /* for OsSignal() */
43 typedef struct _ephyrPriv
{
48 typedef struct _ephyrFakexaPriv
{
52 /* The following are arguments and other information from Prepare* calls
53 * which are stored for use in the inner calls.
56 PicturePtr pSrcPicture
, pMaskPicture
, pDstPicture
;
58 PixmapPtr pDst
, pSrc
, pMask
;
62 typedef struct _ephyrScrPriv
{
67 EphyrFakexaPriv
*fakexa
;
70 extern KdCardFuncs ephyrFuncs
;
71 extern KdKeyboardInfo
*ephyrKbd
;
72 extern KdPointerInfo
*ephyrMouse
;
75 ephyrInitialize (KdCardInfo
*card
, EphyrPriv
*priv
);
78 ephyrCardInit (KdCardInfo
*card
);
81 ephyrScreenInit (KdScreenInfo
*screen
);
84 ephyrScreenInitialize (KdScreenInfo
*screen
, EphyrScrPriv
*scrpriv
);
87 ephyrInitScreen (ScreenPtr pScreen
);
90 ephyrFinishInitScreen (ScreenPtr pScreen
);
93 ephyrCreateResources (ScreenPtr pScreen
);
96 ephyrPreserve (KdCardInfo
*card
);
99 ephyrEnable (ScreenPtr pScreen
);
102 ephyrDPMS (ScreenPtr pScreen
, int mode
);
105 ephyrDisable (ScreenPtr pScreen
);
108 ephyrRestore (KdCardInfo
*card
);
111 ephyrScreenFini (KdScreenInfo
*screen
);
114 ephyrCardFini (KdCardInfo
*card
);
117 ephyrGetColors (ScreenPtr pScreen
, int fb
, int n
, xColorItem
*pdefs
);
120 ephyrPutColors (ScreenPtr pScreen
, int fb
, int n
, xColorItem
*pdefs
);
123 ephyrMapFramebuffer (KdScreenInfo
*screen
);
126 ephyrWindowLinear (ScreenPtr pScreen
,
134 ephyrSetScreenSizes (ScreenPtr pScreen
);
137 ephyrUnmapFramebuffer (KdScreenInfo
*screen
);
140 ephyrUnsetInternalDamage (ScreenPtr pScreen
);
143 ephyrSetInternalDamage (ScreenPtr pScreen
);
146 ephyrCreateColormap (ColormapPtr pmap
);
153 ephyrRandRGetInfo (ScreenPtr pScreen
, Rotation
*rotations
);
156 ephyrRandRSetConfig (ScreenPtr pScreen
,
159 RRScreenSizePtr pSize
);
161 ephyrRandRInit (ScreenPtr pScreen
);
164 ephyrShadowUpdate (ScreenPtr pScreen
, shadowBufPtr pBuf
);
169 ephyrUpdateModifierState(unsigned int state
);
171 extern KdPointerDriver EphyrMouseDriver
;
173 extern KdKeyboardDriver EphyrKeyboardDriver
;
175 extern KdOsFuncs EphyrOsFuncs
;
177 extern Bool
ephyrCursorInit(ScreenPtr pScreen
);
179 extern void ephyrCursorEnable(ScreenPtr pScreen
);
184 ephyrDrawInit(ScreenPtr pScreen
);
187 ephyrDrawEnable(ScreenPtr pScreen
);
190 ephyrDrawDisable(ScreenPtr pScreen
);
193 ephyrDrawFini(ScreenPtr pScreen
);