26456d1900aba0e903e6e1beec552396618322e2vboxsync * Copyright (C) 2000 Keith Packard, member of The XFree86 Project, Inc.
26456d1900aba0e903e6e1beec552396618322e2vboxsync * 2005 Zack Rusin, Trolltech
26456d1900aba0e903e6e1beec552396618322e2vboxsync * Permission to use, copy, modify, distribute, and sell this software and its
26456d1900aba0e903e6e1beec552396618322e2vboxsync * documentation for any purpose is hereby granted without fee, provided that
26456d1900aba0e903e6e1beec552396618322e2vboxsync * the above copyright notice appear in all copies and that both that
26456d1900aba0e903e6e1beec552396618322e2vboxsync * copyright notice and this permission notice appear in supporting
26456d1900aba0e903e6e1beec552396618322e2vboxsync * documentation, and that the name of Keith Packard not be used in
26456d1900aba0e903e6e1beec552396618322e2vboxsync * advertising or publicity pertaining to distribution of the software without
26456d1900aba0e903e6e1beec552396618322e2vboxsync * specific, written prior permission. Keith Packard makes no
26456d1900aba0e903e6e1beec552396618322e2vboxsync * representations about the suitability of this software for any purpose. It
26456d1900aba0e903e6e1beec552396618322e2vboxsync * is provided "as is" without express or implied warranty.
26456d1900aba0e903e6e1beec552396618322e2vboxsync * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
26456d1900aba0e903e6e1beec552396618322e2vboxsync * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
26456d1900aba0e903e6e1beec552396618322e2vboxsync * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
26456d1900aba0e903e6e1beec552396618322e2vboxsync * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
26456d1900aba0e903e6e1beec552396618322e2vboxsync * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
26456d1900aba0e903e6e1beec552396618322e2vboxsync * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
26456d1900aba0e903e6e1beec552396618322e2vboxsync * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
26456d1900aba0e903e6e1beec552396618322e2vboxsync * SOFTWARE.
26456d1900aba0e903e6e1beec552396618322e2vboxsynctypedef void (*EnableDisableFBAccessProcPtr)(int, Bool);
26456d1900aba0e903e6e1beec552396618322e2vboxsynctypedef struct {
26456d1900aba0e903e6e1beec552396618322e2vboxsync PaintWindowBackgroundProcPtr SavedPaintWindowBackground;
26456d1900aba0e903e6e1beec552396618322e2vboxsync EnableDisableFBAccessProcPtr SavedEnableDisableFBAccess;
26456d1900aba0e903e6e1beec552396618322e2vboxsync * This is the only completely portable way to
26456d1900aba0e903e6e1beec552396618322e2vboxsync * compute this info.
26456d1900aba0e903e6e1beec552396618322e2vboxsync ((1 << PixmapWidthPaddingInfo[d].padBytesLog2) * 8 / \
26456d1900aba0e903e6e1beec552396618322e2vboxsync#define ExaGetScreenPriv(s) ((ExaScreenPrivPtr)(s)->devPrivates[exaScreenPrivateIndex].ptr)
26456d1900aba0e903e6e1beec552396618322e2vboxsync#define ExaScreenPriv(s) ExaScreenPrivPtr pExaScr = ExaGetScreenPriv(s)
26456d1900aba0e903e6e1beec552396618322e2vboxsync#define ExaGetPixmapPriv(p) ((ExaPixmapPrivPtr)(p)->devPrivates[exaPixmapPrivateIndex].ptr)
26456d1900aba0e903e6e1beec552396618322e2vboxsync#define ExaSetPixmapPriv(p,a) ((p)->devPrivates[exaPixmapPrivateIndex].ptr = (pointer) (a))
26456d1900aba0e903e6e1beec552396618322e2vboxsync#define ExaPixmapPriv(p) ExaPixmapPrivPtr pExaPixmap = ExaGetPixmapPriv(p)
26456d1900aba0e903e6e1beec552396618322e2vboxsynctypedef struct {
26456d1900aba0e903e6e1beec552396618322e2vboxsync /* If area is NULL, then dirty == TRUE means that the pixmap has been
26456d1900aba0e903e6e1beec552396618322e2vboxsync * modified, so the contents are defined. Used to avoid uploads of
26456d1900aba0e903e6e1beec552396618322e2vboxsync * undefined data.
26456d1900aba0e903e6e1beec552396618322e2vboxsync * If area is non-NULL, then dirty == TRUE means that the in-framebuffer
26456d1900aba0e903e6e1beec552396618322e2vboxsync * copy has been changed from the system-memory copy. Used to avoid
26456d1900aba0e903e6e1beec552396618322e2vboxsync * downloads of unmodified data.
26456d1900aba0e903e6e1beec552396618322e2vboxsyncExaCheckFillSpans (DrawablePtr pDrawable, GCPtr pGC, int nspans,
26456d1900aba0e903e6e1beec552396618322e2vboxsyncExaCheckSetSpans (DrawablePtr pDrawable, GCPtr pGC, char *psrc,
26456d1900aba0e903e6e1beec552396618322e2vboxsync DDXPointPtr ppt, int *pwidth, int nspans, int fSorted);
26456d1900aba0e903e6e1beec552396618322e2vboxsyncExaCheckPutImage (DrawablePtr pDrawable, GCPtr pGC, int depth,
26456d1900aba0e903e6e1beec552396618322e2vboxsync int x, int y, int w, int h, int leftPad, int format,
26456d1900aba0e903e6e1beec552396618322e2vboxsyncExaCheckCopyArea (DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC,
26456d1900aba0e903e6e1beec552396618322e2vboxsync int srcx, int srcy, int w, int h, int dstx, int dsty);
26456d1900aba0e903e6e1beec552396618322e2vboxsyncExaCheckCopyPlane (DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC,
26456d1900aba0e903e6e1beec552396618322e2vboxsync int srcx, int srcy, int w, int h, int dstx, int dsty,
26456d1900aba0e903e6e1beec552396618322e2vboxsync unsigned long bitPlane);
26456d1900aba0e903e6e1beec552396618322e2vboxsyncExaCheckPolyPoint (DrawablePtr pDrawable, GCPtr pGC, int mode, int npt,
26456d1900aba0e903e6e1beec552396618322e2vboxsyncExaCheckPolylines (DrawablePtr pDrawable, GCPtr pGC,
26456d1900aba0e903e6e1beec552396618322e2vboxsyncExaCheckPolySegment (DrawablePtr pDrawable, GCPtr pGC,
26456d1900aba0e903e6e1beec552396618322e2vboxsyncExaCheckPolyRectangle (DrawablePtr pDrawable, GCPtr pGC,
26456d1900aba0e903e6e1beec552396618322e2vboxsyncExaCheckPolyFillRect (DrawablePtr pDrawable, GCPtr pGC,
26456d1900aba0e903e6e1beec552396618322e2vboxsyncExaCheckPolyFillArc (DrawablePtr pDrawable, GCPtr pGC,
26456d1900aba0e903e6e1beec552396618322e2vboxsyncExaCheckImageGlyphBlt (DrawablePtr pDrawable, GCPtr pGC,
26456d1900aba0e903e6e1beec552396618322e2vboxsync int x, int y, unsigned int nglyph,
26456d1900aba0e903e6e1beec552396618322e2vboxsyncExaCheckPolyGlyphBlt (DrawablePtr pDrawable, GCPtr pGC,
26456d1900aba0e903e6e1beec552396618322e2vboxsync int x, int y, unsigned int nglyph,
26456d1900aba0e903e6e1beec552396618322e2vboxsync int w, int h, int x, int y);
26456d1900aba0e903e6e1beec552396618322e2vboxsync int x, int y, int w, int h,
26456d1900aba0e903e6e1beec552396618322e2vboxsyncExaCheckPaintWindow (WindowPtr pWin, RegionPtr pRegion, int what);
26456d1900aba0e903e6e1beec552396618322e2vboxsyncexaGetOffscreenPixmap (DrawablePtr pDrawable, int *xp, int *yp);
26456d1900aba0e903e6e1beec552396618322e2vboxsyncexaCopyArea(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable, GCPtr pGC,
26456d1900aba0e903e6e1beec552396618322e2vboxsync int srcx, int srcy, int width, int height, int dstx, int dsty);
26456d1900aba0e903e6e1beec552396618322e2vboxsync#endif /* EXAPRIV_H */