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 RegionRec pendingDamage; /* will be flushed post submission at the latest */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * For DDXen which don't provide GetScreenPixmap, this provides
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync * a place to hook damage for windows on the screen
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync /* Table of wrappable function pointers */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync/* XXX should move these into damage.c, damageScrPrivateIndex is static */
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#define damageGetScrPriv(pScr) ((DamageScrPrivPtr) \
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync dixLookupPrivate(&(pScr)->devPrivates, damageScrPrivateKey))
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync dixLookupPrivate(&(pPix)->devPrivates, damagePixPrivateKey)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync dixSetPrivate(&(pPix)->devPrivates, damagePixPrivateKey, v)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync dixLookupPrivate(&(pGC)->devPrivates, damageGCPrivateKey)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync ((DamagePtr)dixLookupPrivate(&(pWin)->devPrivates, damageWinPrivateKey))
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync dixSetPrivate(&(pWin)->devPrivates, damageWinPrivateKey, d)
a5e7ae69e440f6816420fc99599f044e79e716b6vboxsync#endif /* _DAMAGESTR_H_ */