a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Permission is hereby granted, free of charge, to any person obtaining a
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * copy of this software and associated documentation files (the "Software"),
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * to deal in the Software without restriction, including without limitation
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * the rights to use, copy, modify, merge, publish, distribute, sublicense,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * and/or sell copies of the Software, and to permit persons to whom the
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Software is furnished to do so, subject to the following conditions:
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * The above copyright notice and this permission notice (including the next
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * paragraph) shall be included in all copies or substantial portions of the
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Software.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * DEALINGS IN THE SOFTWARE.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Copyright © 2003 Keith Packard
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Permission to use, copy, modify, distribute, and sell this software and its
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * documentation for any purpose is hereby granted without fee, provided that
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * the above copyright notice appear in all copies and that both that
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * copyright notice and this permission notice appear in supporting
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * documentation, and that the name of Keith Packard not be used in
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * advertising or publicity pertaining to distribution of the software without
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * specific, written prior permission. Keith Packard makes no
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * representations about the suitability of this software for any purpose. It
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * is provided "as is" without express or implied warranty.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * PERFORMANCE OF THIS SOFTWARE.
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * enable this for debugging
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync #define COMPOSITE_DEBUG
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynctypedef struct _CompOverlayClientRec *CompOverlayClientPtr;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Called from ConfigureWindow, these
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * three track changes to the offscreen storage
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Reparenting has an effect on Subwindows redirect
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Colormaps for new visuals better not get installed
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * Fake backing store via automatic redirection
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ChangeWindowAttributesProcPtr ChangeWindowAttributes;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync CompImplicitRedirectException *implicitRedirectExceptions;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#define CompScreenPrivateKey (&CompScreenPrivateKeyRec)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#define CompWindowPrivateKey (&CompWindowPrivateKeyRec)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsyncextern DevPrivateKeyRec CompSubwindowsPrivateKeyRec;
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#define CompSubwindowsPrivateKey (&CompSubwindowsPrivateKeyRec)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync dixLookupPrivate(&(s)->devPrivates, CompScreenPrivateKey))
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync dixLookupPrivate(&(w)->devPrivates, CompWindowPrivateKey))
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync dixLookupPrivate(&(w)->devPrivates, CompSubwindowsPrivateKey))
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync compRedirectWindow(ClientPtr pClient, WindowPtr pWin, int update);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync compUnredirectWindow(ClientPtr pClient, WindowPtr pWin, int update);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync compRedirectSubwindows(ClientPtr pClient, WindowPtr pWin, int update);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync compUnredirectSubwindows(ClientPtr pClient, WindowPtr pWin, int update);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync compRedirectOneSubwindow(WindowPtr pParent, WindowPtr pWin);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync compUnredirectOneSubwindow(WindowPtr pParent, WindowPtr pWin);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync compRestoreWindow(WindowPtr pWin, PixmapPtr pPixmap);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync unsigned int w, unsigned int h, int bw);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync compFreeOverlayClient(CompOverlayClientPtr pOcToDel);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynccompFindOverlayClient(ScreenPtr pScreen, ClientPtr pClient);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynccompCreateOverlayClient(ScreenPtr pScreen, ClientPtr pClient);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync compMoveWindow(WindowPtr pWin, int x, int y, WindowPtr pSib, VTKind kind);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync compChangeBorderWidth(WindowPtr pWin, unsigned int border_width);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync compReparentWindow(WindowPtr pWin, WindowPtr pPriorParent);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync compSetRedirectBorderClip(WindowPtr pWin, RegionPtr pRegion);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync compCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc);
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsynccompConfigNotify(WindowPtr pWin, int x, int y, int w, int h,
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#endif /* _COMPINT_H_ */