b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* $XFree86: xc/programs/Xserver/ilbm/ilbm.h,v 3.2 1998/04/05 16:42:23 robin 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: ilbm.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/* Modified jun 95 by Geert Uytterhoeven (Geert.Uytterhoeven@cs.kuleuven.ac.be)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync to use interleaved bitplanes instead of normal bitplanes */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef HAVE_DIX_CONFIG_H
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include <dix-config.h>
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "pixmap.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "region.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "gc.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "colormap.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "miscstruct.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "mibstore.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ilbmInverseAlu[];
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ilbmScreenPrivateIndex;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* warning: PixelType definition duplicated in maskbits.h */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifndef PixelType
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define PixelType unsigned long
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif /* PixelType */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define AFB_MAX_DEPTH 8
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmbitblt.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmDoBitblt(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*prgnDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern RegionPtr ilbmBitBlt(
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 unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern RegionPtr ilbmCopyArea(
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 ilbmCopyPlane(
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 ilbmCopy1ToN(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*prgnDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmbltC.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmDoBitbltCopy(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*prgnDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmbltCI.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmDoBitbltCopyInverted(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*prgnDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmbltG.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmDoBitbltGeneral(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*prgnDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmbltO.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmDoBitbltOr(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*prgnDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmbltX.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmDoBitbltXor(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*prgnDst*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptSrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmbres.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmBresS(
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/* ilbmbresd.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmBresD(
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/* ilbmbstore.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmSaveAreas(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pPixmap*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*prgnSave*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*xorg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*yorg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmRestoreAreas(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pPixmap*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*prgnRestore*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*xorg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*yorg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmclip.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern RegionPtr ilbmPixmapToRegion(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pPix*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmcmap.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool ilbmInitializeColormap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ColormapPtr /*pmap*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmResolveColor(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short * /*pred*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short * /*pgreen*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short * /*pblue*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync VisualPtr /*pVisual*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool ilbmSetVisualTypes(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*depth*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*visuals*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*bitsPerRGB*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmfillarc.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmPolyFillArcSolid(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDraw*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*narcs*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xArc * /*parcs*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmfillrct.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmPolyFillRect(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nrectFill*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xRectangle * /*prectInit*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmply1rct.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmFillPolygonSolid(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*mode*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*shape*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*count*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*ptsIn*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmfillsp.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmSolidFS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pwidthInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*fSorted*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmStippleFS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr/*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pwidthInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*fSorted*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmTileFS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr/*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pwidthInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*fSorted*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmUnnaturalTileFS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr/*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pwidthInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*fSorted*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmUnnaturalStippleFS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr/*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pwidthInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*fSorted*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmOpaqueStippleFS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr/*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pwidthInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*fSorted*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmUnnaturalOpaqueStippleFS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr/*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pwidthInit*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*fSorted*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmfont.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool ilbmRealizeFont(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ScreenPtr /*pscr*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FontPtr /*pFont*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool ilbmUnrealizeFont(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ScreenPtr /*pscr*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FontPtr /*pFont*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmgc.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool ilbmCreateGC(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmValidateGC(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*changes*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmDestroyGC(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmReduceRop(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Pixel /*src*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*depth*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*rrops*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmReduceOpaqueStipple (
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Pixel /*fg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Pixel /*bg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*depth*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*rrops*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmComputeCompositeClip(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmgetsp.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmGetSpans(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*wMax*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*ppt*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pwidth*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nspans*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char * /*pdstStart*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmhrzvert.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ilbmHorzS(
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 int ilbmVertS(
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/* ilbmigbblak.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmImageGlyphBlt (
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr/*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*x*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*y*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int /*nglyph*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CharInfoPtr * /*ppci*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer /*pglyphBase*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmigbwht.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmimage.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmPutImage(
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 ilbmGetImage(
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/* ilbmline.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmLineSS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*mode*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*npt*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptInit*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmLineSD(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*mode*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*npt*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*pptInit*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmmisc.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmQueryBestSize(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*class*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short * /*pwidth*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short * /*pheight*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ScreenPtr /*pScreen*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmpntarea.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmSolidFillArea(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDraw*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr /*pbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*rrops*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmStippleAreaPPW(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDraw*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr /*pbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pstipple*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*rrops*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmStippleArea(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDraw*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr /*pbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pstipple*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*xOff*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*yOff*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*rrops*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmplygblt.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmPolyGlyphBlt(
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/* ilbmpixmap.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern PixmapPtr ilbmCreatePixmap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ScreenPtr /*pScreen*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*width*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*height*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*depth*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool ilbmDestroyPixmap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pPixmap*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern PixmapPtr ilbmCopyPixmap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pSrc*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmPadPixmap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pPixmap*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmXRotatePixmap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pPix*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*rw*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmYRotatePixmap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pPix*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*rh*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmCopyRotatePixmap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*psrcPix*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr * /*ppdstPix*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*xrot*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*yrot*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmPaintWindow(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*pRegion*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*what*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmpolypnt.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmPolyPoint(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*mode*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*npt*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xPoint * /*pptInit*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmpushpxl.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmPushPixels(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pBitMap*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*dx*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*dy*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*xOrg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*yOrg*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmscrclse.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool ilbmCloseScreen(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*index*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ScreenPtr /*pScreen*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmscrinit.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool ilbmAllocatePrivates(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ScreenPtr /*pScreen*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pWinIndex*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pGCIndex*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool ilbmScreenInit(
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 ilbmGetWindowPixmap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmSetWindowPixmap(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*pPix*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmseg.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmSegmentSS(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nseg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xSegment * /*pSeg*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmSegmentSD(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nseg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xSegment * /*pSeg*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmsetsp.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ilbmSetScanline(
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 ilbmSetSpans(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char * /*psrc*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr /*ppt*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*pwidth*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nspans*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*fSorted*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmtegblt.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmTEGlyphBlt(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDrawable*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr/*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*x*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*y*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int /*nglyph*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CharInfoPtr * /*ppci*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer /*pglyphBase*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmtileC.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmTileAreaPPWCopy(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDraw*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr /*pbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*ptile*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmtileG.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmTileAreaPPWGeneral(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDraw*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr /*pbox*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*alu*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr /*ptile*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*planemask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmTileAreaCopy(
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/* ilbmtileG.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmTileAreaGeneral(
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 ilbmOpaqueStippleAreaPPWCopy(
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/* ilbmtileG.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmOpaqueStippleAreaPPWGeneral(
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 ilbmOpaqueStippleAreaCopy(
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/* ilbmtileG.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmOpaqueStippleAreaGeneral(
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/* ilbmwindow.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool ilbmCreateWindow(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool ilbmDestroyWindow(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool ilbmMapWindow(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWindow*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool ilbmPositionWindow(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*x*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*y*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool ilbmUnmapWindow(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWindow*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmCopyWindow(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointRec /*ptOldOrg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr /*prgnSrc*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool ilbmChangeWindowAttributes(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr /*pWin*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*mask*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbmzerarc.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void ilbmZeroPolyArcSS(
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} ilbmPrivGC;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef ilbmPrivGC *ilbmPrivGCPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ilbmGCPrivateIndex; /* index into GC private array */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ilbmWindowPrivateIndex; /* index into Window private array */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef PIXMAP_PER_WINDOW
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int frameWindowPrivateIndex; /* index into Window private array */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define ilbmGetGCPrivate(pGC) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ((ilbmPrivGC *)((pGC)->devPrivates[ilbmGCPrivateIndex].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} ilbmPrivWin;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* Common macros for extracting drawing information */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define ilbmGetPixelWidthAuxDepthAndPointer(pDrawable, width, aux, dep, pointer) {\
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr _pPix; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if ((pDrawable)->type == DRAWABLE_WINDOW) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync _pPix = (PixmapPtr)(pDrawable)->pScreen->devPrivates[ilbmScreenPrivateIndex].ptr; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync else \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync _pPix = (PixmapPtr)(pDrawable); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (pointer) = (PixelType *)_pPix->devPrivate.ptr; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (width) = ((int)_pPix->devKind)/sizeof(PixelType); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (dep) = _pPix->drawable.depth; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (aux) = (width)*(dep); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync}
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* ilbm 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 * ilbmScanlineFoo - calculate address and do bank switching
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * ilbmScanlineFooNoBankSwitch - calculate address, don't bank switch
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * ilbmScanlineFooSrc - calculate address, switch source bank
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * ilbmScanlineFooDst - calculate address, switch destination bank
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* The NoBankSwitch versions are the same for banked and unbanked cases */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define ilbmScanlineIncNoBankSwitch(_ptr, _off) _ptr += (_off)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define ilbmScanlineOffsetNoBankSwitch(_ptr, _off) ((_ptr)+(_off))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define ilbmScanlineDeltaNoBankSwitch(_ptr, _y, _w) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ilbmScanlineOffsetNoBankSwitch(_ptr, (_y)*(_w))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define ilbmScanlineNoBankSwitch(_ptr, _x, _y, _w) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ilbmScanlineOffsetNoBankSwitch(_ptr, (_y)*(_w)+((_x)>>MFB_PWSH))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef MFB_LINE_BANK
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "ilbmlinebank.h" /* get macro definitions from this file */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#else /* !MFB_LINE_BANK - unbanked case */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define ilbmScanlineInc(_ptr, _off) ilbmScanlineIncNoBankSwitch(_ptr, _off)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define ilbmScanlineIncSrc(_ptr, _off) ilbmScanlineInc(_ptr, _off)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define ilbmScanlineIncDst(_ptr, _off) ilbmScanlineInc(_ptr, _off)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define ilbmScanlineOffset(_ptr, _off) ilbmScanlineOffsetNoBankSwitch(_ptr, _off)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define ilbmScanlineOffsetSrc(_ptr, _off) ilbmScanlineOffset(_ptr, _off)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define ilbmScanlineOffsetDst(_ptr, _off) ilbmScanlineOffset(_ptr, _off)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define ilbmScanlineSrc(_ptr, _x, _y, _w) ilbmScanline(_ptr, _x, _y, _w)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define ilbmScanlineDst(_ptr, _x, _y, _w) ilbmScanline(_ptr, _x, _y, _w)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define ilbmScanlineDeltaSrc(_ptr, _y, _w) ilbmScanlineDelta(_ptr, _y, _w)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define ilbmScanlineDeltaDst(_ptr, _y, _w) ilbmScanlineDelta(_ptr, _y, _w)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif /* MFB_LINE_BANK */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define ilbmScanlineDelta(_ptr, _y, _w) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ilbmScanlineOffset(_ptr, (_y)*(_w))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define ilbmScanline(_ptr, _x, _y, _w) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ilbmScanlineOffset(_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 _ilbmpos{
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} ilbmTEXTPOS;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* reduced raster ops for ilbm */
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 ilbmbitblt.c, ilbmfillsp.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#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#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 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 ilbm/Imakefile. This
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fixes XBUG 6319.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * This seems like a good place to point out that ilbm's use of the
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * words black and white is an unfortunate misnomer. In ilbm 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 ~