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