b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * $Id: compint.h,v 1.8 2005/07/03 08:53:37 daniels Exp $
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Copyright © 2003 Keith Packard
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Permission to use, copy, modify, distribute, and sell this software and its
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * documentation for any purpose is hereby granted without fee, provided that
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * the above copyright notice appear in all copies and that both that
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * copyright notice and this permission notice appear in supporting
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * documentation, and that the name of Keith Packard not be used in
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * advertising or publicity pertaining to distribution of the software without
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * specific, written prior permission. Keith Packard makes no
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * representations about the suitability of this software for any purpose. It
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * is provided "as is" without express or implied warranty.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * PERFORMANCE OF THIS SOFTWARE.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * enable this for debugging
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync #define COMPOSITE_DEBUG
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _CompClientWindow {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _CompWindow {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _CompSubwindows {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _CompScreen {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Called from ConfigureWindow, these
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * three track changes to the offscreen storage
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Reparenting has an effect on Subwindows redirect
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Colormaps for new visuals better not get installed
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define GetCompScreen(s) ((CompScreenPtr) ((s)->devPrivates[CompScreenPrivateIndex].ptr))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define GetCompWindow(w) ((CompWindowPtr) ((w)->devPrivates[CompWindowPrivateIndex].ptr))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define GetCompSubwindows(w) ((CompSubwindowsPtr) ((w)->devPrivates[CompSubwindowsPrivateIndex].ptr))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccompReportDamage (DamagePtr pDamage, RegionPtr pRegion, void *closure);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccompRedirectWindow (ClientPtr pClient, WindowPtr pWin, int update);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccompUnredirectWindow (ClientPtr pClient, WindowPtr pWin, int update);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccompRedirectSubwindows (ClientPtr pClient, WindowPtr pWin, int update);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccompUnredirectSubwindows (ClientPtr pClient, WindowPtr pWin, int update);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccompRedirectOneSubwindow (WindowPtr pParent, WindowPtr pWin);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccompUnredirectOneSubwindow (WindowPtr pParent, WindowPtr pWin);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int w, unsigned int h, int bw);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccompPaintWindowBackground (WindowPtr pWin, RegionPtr pRegion, int what);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccompMoveWindow (WindowPtr pWin, int x, int y, WindowPtr pSib, VTKind kind);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccompChangeBorderWidth (WindowPtr pWin, unsigned int border_width);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccompReparentWindow (WindowPtr pWin, WindowPtr pPriorParent);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccompSetRedirectBorderClip (WindowPtr pWin, RegionPtr pRegion);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccompCopyWindow (WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif /* _COMPINT_H_ */