From c7ab03d382ddddcbab09470044fc16079d76952e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Sun, 28 Dec 2003 09:56:54 +0000 Subject: Move the kaaComposite function and debug to kaapict.c. It is expected to grow significantly in the near future. --- hw/kdrive/src/kaa.h | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 hw/kdrive/src/kaa.h (limited to 'hw/kdrive/src/kaa.h') diff --git a/hw/kdrive/src/kaa.h b/hw/kdrive/src/kaa.h new file mode 100644 index 000000000..5e4d1a315 --- /dev/null +++ b/hw/kdrive/src/kaa.h @@ -0,0 +1,95 @@ +/* + * $RCSId$ + * + * Copyright © 2001 Keith Packard + * + * Partly based on code that is Copyright © The XFree86 Project Inc. + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Keith Packard not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Keith Packard makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _KAA_H_ +#define _KAA_H_ + +#define KaaGetScreenPriv(s) ((KaaScreenPrivPtr)(s)->devPrivates[kaaScreenPrivateIndex].ptr) +#define KaaScreenPriv(s) KaaScreenPrivPtr pKaaScr = KaaGetScreenPriv(s) + +#define KaaGetPixmapPriv(p) ((KaaPixmapPrivPtr)(p)->devPrivates[kaaPixmapPrivateIndex].ptr) +#define KaaSetPixmapPriv(p,a) ((p)->devPrivates[kaaPixmapPrivateIndex].ptr = (pointer) (a)) +#define KaaPixmapPriv(p) KaaPixmapPrivPtr pKaaPixmap = KaaGetPixmapPriv(p) +#define KaaPixmapPitch(pitch) (((pitch) + (pKaaScr->info->offscreenPitch - 1)) & ~(pKaaScr->info->offscreenPitch - 1)) + +typedef struct { + KaaScreenInfoPtr info; +} KaaScreenPrivRec, *KaaScreenPrivPtr; + +typedef struct { + KdOffscreenArea *area; + int score; + int devKind; + DevUnion devPrivate; +} KaaPixmapPrivRec, *KaaPixmapPrivPtr; + +extern int kaaScreenPrivateIndex; +extern int kaaPixmapPrivateIndex; + + +void +kaaPixmapUseScreen (PixmapPtr pPixmap); + +void +kaaPixmapUseMemory (PixmapPtr pPixmap); + +Bool +kaaDrawableIsOffscreen (DrawablePtr pDrawable); + +Bool +kaaPixmapIsOffscreen(PixmapPtr p); + +PixmapPtr +kaaGetOffscreenPixmap (DrawablePtr pDrawable, int *xp, int *yp); + +void +kaaCopyNtoN (DrawablePtr pSrcDrawable, + DrawablePtr pDstDrawable, + GCPtr pGC, + BoxPtr pbox, + int nbox, + int dx, + int dy, + Bool reverse, + Bool upsidedown, + Pixel bitplane, + void *closure); + +void +kaaComposite(CARD8 op, + PicturePtr pSrc, + PicturePtr pMask, + PicturePtr pDst, + INT16 xSrc, + INT16 ySrc, + INT16 xMask, + INT16 yMask, + INT16 xDst, + INT16 yDst, + CARD16 width, + CARD16 height); + +#endif /* _KAA_H_ */ -- cgit v1.2.3