b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* $XFree86: xc/programs/Xserver/afb/afb.h,v 3.10 2003/10/29 22:15:19 tsi Exp $ */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* Combined Purdue/PurduePlus patches, level 2.0, 1/17/89 */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/***********************************************************
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCopyright (c) 1987 X Consortium
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPermission is hereby granted, free of charge, to any person obtaining a copy
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncof this software and associated documentation files (the "Software"), to deal
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncin the Software without restriction, including without limitation the rights
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncto use, copy, modify, merge, publish, distribute, sublicense, and/or sell
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccopies of the Software, and to permit persons to whom the Software is
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfurnished to do so, subject to the following conditions:
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncThe above copyright notice and this permission notice shall be included in
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncall copies or substantial portions of the Software.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncExcept as contained in this notice, the name of the X Consortium shall not be
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncused in advertising or otherwise to promote the sale, use or other dealings
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncin this Software without prior written authorization from the X Consortium.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCopyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync All Rights Reserved
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPermission to use, copy, modify, and distribute this software and its
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncdocumentation for any purpose and without fee is hereby granted,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncprovided that the above copyright notice appear in all copies and that
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncboth that copyright notice and this permission notice appear in
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncsupporting documentation, and that the name of Digital not be
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncused in advertising or publicity pertaining to distribution of the
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncsoftware without specific, written prior permission.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncSOFTWARE.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync******************************************************************/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* $XConsortium: afb.h,v 5.31 94/04/17 20:28:15 dpw Exp $ */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* Monochrome Frame Buffer definitions
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync written by drewry, september 1986
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "pixmap.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "region.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "gc.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "colormap.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "regionstr.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "mibstore.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "mfb.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int afbInverseAlu[];
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int afbScreenPrivateIndex;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* warning: PixelType definition duplicated in maskbits.h */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifndef PixelType
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define PixelType CARD32
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif /* PixelType */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define AFB_MAX_DEPTH 8
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbbitblt.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbDoBitblt(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*prgnDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern RegionPtr afbBitBlt(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*srcx*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*srcy*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*width*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*height*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*dstx*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*dsty*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync void (*doBitBlt)(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*prgnDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ),
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern RegionPtr afbCopyArea(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pSrcDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDstDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr/*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*srcx*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*srcy*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*width*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*height*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*dstx*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*dsty*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern RegionPtr afbCopyPlane(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pSrcDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDstDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr/*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*srcx*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*srcy*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*width*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*height*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*dstx*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*dsty*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*plane*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbCopy1ToN(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*prgnDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbbltC.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbDoBitbltCopy(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*prgnDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbbltCI.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbDoBitbltCopyInverted(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*prgnDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbbltG.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbDoBitbltGeneral(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*prgnDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbbltO.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbDoBitbltOr(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*prgnDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbbltX.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbDoBitbltXor(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*prgnDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbbres.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbBresS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixelType * /*addrl*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nlwidth*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*sizeDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*depthDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*signdx*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*signdy*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*axis*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*x1*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*y1*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*e*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*e1*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*e2*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*len*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*rrops*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbbresd.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbBresD(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pdashIndex*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*pDash*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*numInDashList*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pdashOffset*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*isDoubleDash*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixelType * /*addrl*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nlwidth*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*sizeDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*depthDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*signdx*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*signdy*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*axis*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*x1*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*y1*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*e*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*e1*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*e2*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*len*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*rrops*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*bgrrops*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbbstore.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbSaveAreas(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pPixmap*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*prgnSave*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*xorg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*yorg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbRestoreAreas(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pPixmap*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*prgnRestore*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*xorg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*yorg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbclip.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern RegionPtr afbPixmapToRegion(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pPix*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbcmap.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int afbListInstalledColormaps(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ScreenPtr /*pScreen*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Colormap * /*pmaps*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbInstallColormap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ColormapPtr /*pmap*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbUninstallColormap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ColormapPtr /*pmap*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbResolveColor(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short * /*pred*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short * /*pgreen*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short * /*pblue*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync VisualPtr /*pVisual*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool afbInitializeColormap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ColormapPtr /*pmap*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int afbExpandDirectColors(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ColormapPtr /*pmap*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*ndefs*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xColorItem * /*indefs*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xColorItem * /*outdefs*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool afbCreateDefColormap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ScreenPtr /*pScreen*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool afbSetVisualTypes(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*depth*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*visuals*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*bitsPerRGB*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool afbInitVisuals(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync VisualPtr * /*visualp*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DepthPtr * /*depthp*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*nvisualp*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*ndepthp*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*rootDepthp*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync VisualID * /*defaultVisp*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*sizes*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*bitsPerRGB*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbfillarc.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbPolyFillArcSolid(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDraw*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*narcs*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xArc * /*parcs*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbfillrct.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbPolyFillRect(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nrectFill*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xRectangle * /*prectInit*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbply1rct.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbFillPolygonSolid(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*mode*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*shape*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*count*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*ptsIn*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbfillsp.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbSolidFS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pwidthInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*fSorted*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbStippleFS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr/*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pwidthInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*fSorted*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbTileFS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr/*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pwidthInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*fSorted*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbUnnaturalTileFS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr/*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pwidthInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*fSorted*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbUnnaturalStippleFS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr/*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pwidthInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*fSorted*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbOpaqueStippleFS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr/*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pwidthInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*fSorted*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbUnnaturalOpaqueStippleFS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr/*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pwidthInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*fSorted*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbfont.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool afbRealizeFont(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ScreenPtr /*pscr*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FontPtr /*pFont*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool afbUnrealizeFont(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ScreenPtr /*pscr*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FontPtr /*pFont*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbgc.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool afbCreateGC(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbValidateGC(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*changes*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbDestroyGC(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbReduceRop(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Pixel /*src*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*depth*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*rrops*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbReduceOpaqueStipple (
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Pixel /*fg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Pixel /*bg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*depth*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*rrops*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbComputeCompositeClip(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbgetsp.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbGetSpans(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*wMax*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*ppt*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pwidth*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nspans*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char * /*pdstStart*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbhrzvert.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbHorzS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixelType * /*addrl*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nlwidth*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*sizeDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*depthDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*x1*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*y1*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*len*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*rrops*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbVertS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixelType * /*addrl*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nlwidth*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*sizeDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*depthDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*x1*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*y1*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*len*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*rrops*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbigbblak.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbImageGlyphBlt (
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr/*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*x*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*y*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int /*nglyph*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CharInfoPtr * /*ppci*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer /*pglyphBase*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbigbwht.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbimage.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbPutImage(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*dst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*depth*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*x*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*y*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*w*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*h*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*leftPad*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*format*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char * /*pImage*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbGetImage(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*sx*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*sy*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*w*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*h*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int /*format*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planeMask*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char * /*pdstLine*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbline.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbLineSS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*mode*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*npt*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptInit*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbLineSD(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*mode*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*npt*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptInit*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbmisc.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbQueryBestSize(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*class*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short * /*pwidth*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short * /*pheight*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ScreenPtr /*pScreen*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbpntarea.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbSolidFillArea(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDraw*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr /*pbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*rrops*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbStippleAreaPPW(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDraw*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr /*pbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pstipple*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*rrops*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbStippleArea(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDraw*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr /*pbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pstipple*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*xOff*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*yOff*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*rrops*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbplygblt.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbPolyGlyphBlt(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*x*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*y*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int /*nglyph*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CharInfoPtr * /*ppci*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer /*pglyphBase*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbpixmap.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern PixmapPtr afbCreatePixmap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ScreenPtr /*pScreen*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*width*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*height*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*depth*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool afbDestroyPixmap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pPixmap*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern PixmapPtr afbCopyPixmap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pSrc*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbPadPixmap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pPixmap*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbXRotatePixmap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pPix*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*rw*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbYRotatePixmap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pPix*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*rh*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbCopyRotatePixmap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*psrcPix*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr * /*ppdstPix*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*xrot*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*yrot*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbPaintWindow(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*pRegion*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*what*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbpolypnt.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbPolyPoint(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*mode*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*npt*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xPoint * /*pptInit*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbpushpxl.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbPushPixels(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pBitMap*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*dx*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*dy*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*xOrg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*yOrg*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbscrclse.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool afbCloseScreen(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*index*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ScreenPtr /*pScreen*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbscrinit.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool afbAllocatePrivates(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ScreenPtr /*pScreen*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pWinIndex*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pGCIndex*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool afbScreenInit(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ScreenPtr /*pScreen*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer /*pbits*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*xsize*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*ysize*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*dpix*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*dpiy*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*width*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern PixmapPtr afbGetWindowPixmap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbSetWindowPixmap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pPix*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbseg.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbSegmentSS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nseg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xSegment * /*pSeg*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbSegmentSD(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nseg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xSegment * /*pSeg*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbsetsp.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbSetScanline(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*y*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*xOrigin*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*xStart*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*xEnd*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixelType * /*psrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixelType * /*pdstBase*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*widthDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*sizeDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*depthDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*sizeSrc*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbSetSpans(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char * /*psrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*ppt*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pwidth*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nspans*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*fSorted*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbtegblt.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbTEGlyphBlt(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr/*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*x*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*y*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int /*nglyph*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CharInfoPtr * /*ppci*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer /*pglyphBase*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbtileC.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbTileAreaPPWCopy(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDraw*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr /*pbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*ptile*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbtileG.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbTileAreaPPWGeneral(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDraw*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr /*pbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*ptile*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbTileAreaCopy(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDraw*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr /*pbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*ptile*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*xOff*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*yOff*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbtileG.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbTileAreaGeneral(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDraw*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr /*pbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*ptile*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*xOff*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*yOff*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbOpaqueStippleAreaPPWCopy(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDraw*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr /*pbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*ptile*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char */*rropsOS*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbtileG.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbOpaqueStippleAreaPPWGeneral(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDraw*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr /*pbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*ptile*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char */*rropsOS*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbOpaqueStippleAreaCopy(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDraw*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr /*pbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*ptile*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*xOff*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*yOff*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char */*rropsOS*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbtileG.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbOpaqueStippleAreaGeneral(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDraw*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr /*pbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*ptile*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*xOff*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*yOff*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char */*rropsOS*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbwindow.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool afbCreateWindow(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool afbDestroyWindow(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool afbMapWindow(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWindow*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool afbPositionWindow(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*x*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*y*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool afbUnmapWindow(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWindow*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbCopyWindow(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointRec /*ptOldOrg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*prgnSrc*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool afbChangeWindowAttributes(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*mask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afbzerarc.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void afbZeroPolyArcSS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDraw*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*narcs*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xArc * /*parcs*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync private field of pixmap
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pixmap.devPrivate = (PixelType *)pointer_to_bits
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pixmap.devKind = width_of_pixmap_in_bytes
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync private field of screen
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync a pixmap, for which we allocate storage. devPrivate is a pointer to
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncthe bits in the hardware framebuffer. note that devKind can be poked to
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncmake the code work for framebuffers that are wider than their
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncdisplayable screen (e.g. the early vsII, which displayed 960 pixels
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncacross, but was 1024 in the hardware.)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync private field of GC
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char rrops[AFB_MAX_DEPTH]; /* reduction of rasterop to 1 of 3 */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char rropOS[AFB_MAX_DEPTH]; /* rop for opaque stipple */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} afbPrivGC;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef afbPrivGC *afbPrivGCPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int afbGCPrivateIndex; /* index into GC private array */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int afbWindowPrivateIndex; /* index into Window private array */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef PIXMAP_PER_WINDOW
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int frameWindowPrivateIndex; /* index into Window private array */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbGetGCPrivate(pGC) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ((afbPrivGC *)((pGC)->devPrivates[afbGCPrivateIndex].ptr))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* private field of window */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char fastBorder; /* non-zero if border tile is 32 bits wide */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char fastBackground;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short unused; /* pad for alignment with Sun compiler */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointRec oldRotate;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr pRotatedBackground;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr pRotatedBorder;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} afbPrivWin;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* Common macros for extracting drawing information */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbGetTypedWidth(pDrawable,wtype)( \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (((pDrawable)->type == DRAWABLE_WINDOW) ? \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (int)(((PixmapPtr)((pDrawable)->pScreen->devPrivates[afbScreenPrivateIndex].ptr))->devKind) : \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (int)(((PixmapPtr)pDrawable)->devKind)) / sizeof (wtype))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbGetByteWidth(pDrawable) afbGetTypedWidth(pDrawable, unsigned char)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbGetPixelWidth(pDrawable) afbGetTypedWidth(pDrawable, PixelType)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbGetTypedWidthAndPointer(pDrawable, width, pointer, wtype, ptype) {\
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr _pPix; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if ((pDrawable)->type == DRAWABLE_WINDOW) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync _pPix = (PixmapPtr)(pDrawable)->pScreen->devPrivates[afbScreenPrivateIndex].ptr; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync else \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync _pPix = (PixmapPtr)(pDrawable); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (pointer) = (ptype *) _pPix->devPrivate.ptr; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (width) = ((int) _pPix->devKind) / sizeof (wtype); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync}
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbGetPixelWidthSizeDepthAndPointer(pDrawable, width, size, dep, pointer) {\
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr _pPix; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if ((pDrawable)->type == DRAWABLE_WINDOW) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync _pPix = (PixmapPtr)(pDrawable)->pScreen->devPrivates[afbScreenPrivateIndex].ptr; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync else \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync _pPix = (PixmapPtr)(pDrawable); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (pointer) = (PixelType *)_pPix->devPrivate.ptr; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (width) = ((int)_pPix->devKind) / sizeof (PixelType); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (size) = (width) * _pPix->drawable.height; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (dep) = _pPix->drawable.depth; (void)(dep); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync}
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbGetByteWidthAndPointer(pDrawable, width, pointer) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync afbGetTypedWidthAndPointer(pDrawable, width, pointer, unsigned char, unsigned char)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbGetPixelWidthAndPointer(pDrawable, width, pointer) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync afbGetTypedWidthAndPointer(pDrawable, width, pointer, PixelType, PixelType)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbGetWindowTypedWidthAndPointer(pWin, width, pointer, wtype, ptype) {\
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr _pPix = (PixmapPtr)(pWin)->drawable.pScreen->devPrivates[afbScreenPrivateIndex].ptr; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (pointer) = (ptype *) _pPix->devPrivate.ptr; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (width) = ((int) _pPix->devKind) / sizeof (wtype); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync}
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbGetWindowPixelWidthAndPointer(pWin, width, pointer) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync afbGetWindowTypedWidthAndPointer(pWin, width, pointer, PixelType, PixelType)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbGetWindowByteWidthAndPointer(pWin, width, pointer) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync afbGetWindowTypedWidthAndPointer(pWin, width, pointer, char, char)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* afb uses the following macros to calculate addresses in drawables.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * To support banked framebuffers, the macros come in four flavors.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * All four collapse into the same definition on unbanked devices.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * afbScanlineFoo - calculate address and do bank switching
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * afbScanlineFooNoBankSwitch - calculate address, don't bank switch
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * afbScanlineFooSrc - calculate address, switch source bank
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * afbScanlineFooDst - calculate address, switch destination bank
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* The NoBankSwitch versions are the same for banked and unbanked cases */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbScanlineIncNoBankSwitch(_ptr, _off) _ptr += (_off)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbScanlineOffsetNoBankSwitch(_ptr, _off) ((_ptr) + (_off))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbScanlineDeltaNoBankSwitch(_ptr, _y, _w) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync afbScanlineOffsetNoBankSwitch(_ptr, (_y) * (_w))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbScanlineNoBankSwitch(_ptr, _x, _y, _w) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync afbScanlineOffsetNoBankSwitch(_ptr, (_y) * (_w) + ((_x) >> MFB_PWSH))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef MFB_LINE_BANK
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "afblinebank.h" /* get macro definitions from this file */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#else /* !MFB_LINE_BANK - unbanked case */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbScanlineInc(_ptr, _off) afbScanlineIncNoBankSwitch(_ptr, _off)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbScanlineIncSrc(_ptr, _off) afbScanlineInc(_ptr, _off)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbScanlineIncDst(_ptr, _off) afbScanlineInc(_ptr, _off)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbScanlineOffset(_ptr, _off) afbScanlineOffsetNoBankSwitch(_ptr, _off)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbScanlineOffsetSrc(_ptr, _off) afbScanlineOffset(_ptr, _off)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbScanlineOffsetDst(_ptr, _off) afbScanlineOffset(_ptr, _off)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbScanlineSrc(_ptr, _x, _y, _w) afbScanline(_ptr, _x, _y, _w)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbScanlineDst(_ptr, _x, _y, _w) afbScanline(_ptr, _x, _y, _w)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbScanlineDeltaSrc(_ptr, _y, _w) afbScanlineDelta(_ptr, _y, _w)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbScanlineDeltaDst(_ptr, _y, _w) afbScanlineDelta(_ptr, _y, _w)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif /* MFB_LINE_BANK */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbScanlineDelta(_ptr, _y, _w) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync afbScanlineOffset(_ptr, (_y) * (_w))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define afbScanline(_ptr, _x, _y, _w) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync afbScanlineOffset(_ptr, (_y) * (_w) + ((_x) >> MFB_PWSH))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* precomputed information about each glyph for GlyphBlt code.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync this saves recalculating the per glyph information for each box.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _afbpos{
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xpos; /* xposition of glyph's origin */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xchar; /* x position mod 32 */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int leftEdge;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int rightEdge;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int topEdge;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int bottomEdge;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixelType *pdstBase; /* longword with character origin */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int widthGlyph; /* width in bytes of this glyph */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} afbTEXTPOS;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* reduced raster ops for afb */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define RROP_BLACK GXclear
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define RROP_WHITE GXset
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define RROP_NOP GXnoop
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define RROP_INVERT GXinvert
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define RROP_COPY GXcopy
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* macros for afbbitblt.c, afbfillsp.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync these let the code do one switch on the rop per call, rather
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync than a switch on the rop per item (span or rectangle.)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fnCLEAR(src, dst) (0)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fnAND(src, dst) (src & dst)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fnANDREVERSE(src, dst) (src & ~dst)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fnCOPY(src, dst) (src)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fnANDINVERTED(src, dst) (~src & dst)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fnNOOP(src, dst) (dst)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fnXOR(src, dst) (src ^ dst)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fnOR(src, dst) (src | dst)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fnNOR(src, dst) (~(src | dst))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fnEQUIV(src, dst) (~src ^ dst)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fnINVERT(src, dst) (~dst)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fnORREVERSE(src, dst) (src | ~dst)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fnCOPYINVERTED(src, dst) (~src)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fnORINVERTED(src, dst) (~src | dst)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fnNAND(src, dst) (~(src & dst))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#undef fnSET
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fnSET(src, dst) (~0)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* Using a "switch" statement is much faster in most cases
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * since the compiler can do a look-up table or multi-way branch
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * instruction, depending on the architecture. The result on
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * A Sun 3/50 is at least 2.5 times faster, assuming a uniform
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * distribution of RasterOp operation types.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * However, doing some profiling on a running system reveals
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * GXcopy is the operation over 99.5% of the time and
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * GXxor is the next most frequent (about .4%), so we make special
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * checks for those first.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Note that this requires a change to the "calling sequence"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * since we can't engineer a "switch" statement to have an lvalue.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#undef DoRop
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define DoRop(result, alu, src, dst) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync{ \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if (alu == GXcopy) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync result = fnCOPY (src, dst); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync else if (alu == GXxor) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync result = fnXOR (src, dst); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync else \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync switch (alu) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case GXclear: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync result = fnCLEAR (src, dst); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case GXand: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync result = fnAND (src, dst); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case GXandReverse: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync result = fnANDREVERSE (src, dst); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case GXandInverted: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync result = fnANDINVERTED (src, dst); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync default: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case GXnoop: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync result = fnNOOP (src, dst); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case GXor: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync result = fnOR (src, dst); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case GXnor: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync result = fnNOR (src, dst); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case GXequiv: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync result = fnEQUIV (src, dst); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case GXinvert: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync result = fnINVERT (src, dst); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case GXorReverse: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync result = fnORREVERSE (src, dst); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case GXcopyInverted: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync result = fnCOPYINVERTED (src, dst); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case GXorInverted: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync result = fnORINVERTED (src, dst); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case GXnand: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync result = fnNAND (src, dst); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case GXset: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync result = fnSET (src, dst); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync}
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* C expression fragments for various operations. These get passed in
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * as -D's on the compile command line. See afb/Imakefile. This
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fixes XBUG 6319.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * This seems like a good place to point out that afb's use of the
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * words black and white is an unfortunate misnomer. In afb code, black
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * means zero, and white means one.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define MFB_OPEQ_WHITE |=
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define MFB_OPEQ_BLACK &=~
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define MFB_OPEQ_INVERT ^=
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define MFB_EQWHOLEWORD_WHITE =~0
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define MFB_EQWHOLEWORD_BLACK =0
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define MFB_EQWHOLEWORD_INVERT ^=~0
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define MFB_OP_WHITE /* nothing */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define MFB_OP_BLACK ~