b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * $XFree86: xc/programs/Xserver/fb/fb.h,v 1.36tsi Exp $
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Copyright © 1998 Keith Packard
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Permission to use, copy, modify, distribute, and sell this software and its
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * documentation for any purpose is hereby granted without fee, provided that
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * the above copyright notice appear in all copies and that both that
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * copyright notice and this permission notice appear in supporting
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * documentation, and that the name of Keith Packard not be used in
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * advertising or publicity pertaining to distribution of the software without
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * specific, written prior permission. Keith Packard makes no
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * representations about the suitability of this software for any purpose. It
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * is provided "as is" without express or implied warranty.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * PERFORMANCE OF THIS SOFTWARE.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* $XdotOrg: xserver/xorg/fb/fb.h,v 1.13 2005/10/02 08:28:26 anholt Exp $ */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifndef _FB_H_
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define _FB_H_
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include <X11/X.h>
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "scrnintstr.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "pixmap.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "pixmapstr.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "region.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "gcstruct.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "colormap.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "miscstruct.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "servermd.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "windowstr.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "mi.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "migc.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "mibstore.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef RENDER
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "picturestr.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#else
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "picture.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * This single define controls the basic size of data manipulated
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * by this software; it must be log2(sizeof (FbBits) * 8)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifndef FB_SHIFT
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FB_SHIFT LOG2_BITMAP_PAD
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#if FB_SHIFT < LOG2_BITMAP_PAD
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync error FB_SHIFT must be >= LOG2_BITMAP_PAD
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FB_UNIT (1 << FB_SHIFT)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FB_HALFUNIT (1 << (FB_SHIFT-1))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FB_MASK (FB_UNIT - 1)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FB_ALLONES ((FbBits) -1)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#if GLYPHPADBYTES != 4
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#error "GLYPHPADBYTES must be 4"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#if GETLEFTBITS_ALIGNMENT != 1
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#error "GETLEFTBITS_ALIGNMENT must be 1"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* whether to bother to include 24bpp support */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifndef FBNO24BIT
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FB_24BIT
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Unless otherwise instructed, fb includes code to advertise 24bpp
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * windows with 32bpp image format for application compatibility
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef FB_24BIT
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifndef FBNO24_32
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FB_24_32BIT
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FB_STIP_SHIFT LOG2_BITMAP_PAD
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FB_STIP_UNIT (1 << FB_STIP_SHIFT)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FB_STIP_MASK (FB_STIP_UNIT - 1)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FB_STIP_ALLONES ((FbStip) -1)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FB_STIP_ODDSTRIDE(s) (((s) & (FB_MASK >> FB_STIP_SHIFT)) != 0)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FB_STIP_ODDPTR(p) ((((long) (p)) & (FB_MASK >> 3)) != 0)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbStipStrideToBitsStride(s) (((s) >> (FB_SHIFT - FB_STIP_SHIFT)))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbBitsStrideToStipStride(s) (((s) << (FB_SHIFT - FB_STIP_SHIFT)))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbFullMask(n) ((n) == FB_UNIT ? FB_ALLONES : ((((FbBits) 1) << n) - 1))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#if FB_SHIFT == 6
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync# ifdef WIN32
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef unsigned __int64 FbBits;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync# else
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync# if defined(__alpha__) || defined(__alpha) || \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync defined(ia64) || defined(__ia64__) || \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync defined(__sparc64__) || defined(_LP64) || \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync defined(__s390x__) || \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync defined(amd64) || defined (__amd64__) || \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync defined (__powerpc64__) || \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (defined(sgi) && (_MIPS_SZLONG == 64))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef unsigned long FbBits;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync# else
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef unsigned long long FbBits;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync# endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync# endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#if FB_SHIFT == 5
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef CARD32 FbBits;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#if FB_SHIFT == 4
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef CARD16 FbBits;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#if LOG2_BITMAP_PAD == FB_SHIFT
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef FbBits FbStip;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#else
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync# if LOG2_BITMAP_PAD == 5
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef CARD32 FbStip;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync# endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef int FbStride;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef FB_DEBUG
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void fbValidateDrawable(DrawablePtr d);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void fbInitializeDrawable(DrawablePtr d);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void fbSetBits (FbStip *bits, int stride, FbStip data);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FB_HEAD_BITS (FbStip) (0xbaadf00d)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FB_TAIL_BITS (FbStip) (0xbaddf0ad)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#else
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fbValidateDrawable(d)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fdInitializeDrawable(d)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "fbrop.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#if BITMAP_BIT_ORDER == LSBFirst
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbScrLeft(x,n) ((x) >> (n))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbScrRight(x,n) ((x) << (n))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* #define FbLeftBits(x,n) ((x) & ((((FbBits) 1) << (n)) - 1)) */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbLeftStipBits(x,n) ((x) & ((((FbStip) 1) << (n)) - 1))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbStipMoveLsb(x,s,n) (FbStipRight (x,(s)-(n)))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbPatternOffsetBits 0
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#else
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbScrLeft(x,n) ((x) << (n))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbScrRight(x,n) ((x) >> (n))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* #define FbLeftBits(x,n) ((x) >> (FB_UNIT - (n))) */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbLeftStipBits(x,n) ((x) >> (FB_STIP_UNIT - (n)))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbStipMoveLsb(x,s,n) (x)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbPatternOffsetBits (sizeof (FbBits) - 1)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "micoord.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbStipLeft(x,n) FbScrLeft(x,n)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbStipRight(x,n) FbScrRight(x,n)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbRotLeft(x,n) FbScrLeft(x,n) | (n ? FbScrRight(x,FB_UNIT-n) : 0)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbRotRight(x,n) FbScrRight(x,n) | (n ? FbScrLeft(x,FB_UNIT-n) : 0)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbRotStipLeft(x,n) FbStipLeft(x,n) | (n ? FbStipRight(x,FB_STIP_UNIT-n) : 0)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbRotStipRight(x,n) FbStipRight(x,n) | (n ? FbStipLeft(x,FB_STIP_UNIT-n) : 0)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbLeftMask(x) ( ((x) & FB_MASK) ? \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbScrRight(FB_ALLONES,(x) & FB_MASK) : 0)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbRightMask(x) ( ((FB_UNIT - (x)) & FB_MASK) ? \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbScrLeft(FB_ALLONES,(FB_UNIT - (x)) & FB_MASK) : 0)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbLeftStipMask(x) ( ((x) & FB_STIP_MASK) ? \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStipRight(FB_STIP_ALLONES,(x) & FB_STIP_MASK) : 0)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbRightStipMask(x) ( ((FB_STIP_UNIT - (x)) & FB_STIP_MASK) ? \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbScrLeft(FB_STIP_ALLONES,(FB_STIP_UNIT - (x)) & FB_STIP_MASK) : 0)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbBitsMask(x,w) (FbScrRight(FB_ALLONES,(x) & FB_MASK) & \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbScrLeft(FB_ALLONES,(FB_UNIT - ((x) + (w))) & FB_MASK))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbStipMask(x,w) (FbStipRight(FB_STIP_ALLONES,(x) & FB_STIP_MASK) & \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStipLeft(FB_STIP_ALLONES,(FB_STIP_UNIT - ((x)+(w))) & FB_STIP_MASK))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbMaskBits(x,w,l,n,r) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync n = (w); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync r = FbRightMask((x)+n); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync l = FbLeftMask(x); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if (l) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync n -= FB_UNIT - ((x) & FB_MASK); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if (n < 0) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync n = 0; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync l &= r; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync r = 0; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync n >>= FB_SHIFT; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync}
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef FBNOPIXADDR
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbMaskBitsBytes(x,w,copy,l,lb,n,r,rb) FbMaskBits(x,w,l,n,r)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbDoLeftMaskByteRRop(dst,lb,l,and,xor) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *dst = FbDoMaskRRop(*dst,and,xor,l); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync}
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbDoRightMaskByteRRop(dst,rb,r,and,xor) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *dst = FbDoMaskRRop(*dst,and,xor,r); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync}
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#else
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbByteMaskInvalid 0x10
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbPatternOffset(o,t) ((o) ^ (FbPatternOffsetBits & ~(sizeof (t) - 1)))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbPtrOffset(p,o,t) ((t *) ((CARD8 *) (p) + (o)))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbSelectPatternPart(xor,o,t) ((xor) >> (FbPatternOffset (o,t) << 3))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbStorePart(dst,off,t,xor) (*FbPtrOffset(dst,off,t) = \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbSelectPart(xor,off,t))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifndef FbSelectPart
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbSelectPart(x,o,t) FbSelectPatternPart(x,o,t)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbMaskBitsBytes(x,w,copy,l,lb,n,r,rb) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync n = (w); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync lb = 0; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync rb = 0; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync r = FbRightMask((x)+n); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if (r) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync /* compute right byte length */ \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if ((copy) && (((x) + n) & 7) == 0) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync rb = (((x) + n) & FB_MASK) >> 3; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } else { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync rb = FbByteMaskInvalid; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync l = FbLeftMask(x); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if (l) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync /* compute left byte length */ \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if ((copy) && ((x) & 7) == 0) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync lb = ((x) & FB_MASK) >> 3; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } else { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync lb = FbByteMaskInvalid; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync /* subtract out the portion painted by leftMask */ \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync n -= FB_UNIT - ((x) & FB_MASK); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if (n < 0) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if (lb != FbByteMaskInvalid) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if (rb == FbByteMaskInvalid) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync lb = FbByteMaskInvalid; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } else if (rb) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync lb |= (rb - lb) << (FB_SHIFT - 3); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync rb = 0; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync n = 0; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync l &= r; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync r = 0; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync }\
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync n >>= FB_SHIFT; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync}
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#if FB_SHIFT == 6
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbDoLeftMaskByteRRop6Cases(dst,xor) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 7) | (1 << (FB_SHIFT - 3)): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 7,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 7) | (2 << (FB_SHIFT - 3)): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 7,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 6,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 7) | (3 << (FB_SHIFT - 3)): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 7,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 6,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 7) | (4 << (FB_SHIFT - 3)): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 7,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 6,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 4,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 7) | (5 << (FB_SHIFT - 3)): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 7,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 6,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 4,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 7) | (6 << (FB_SHIFT - 3)): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 7,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 6,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 4,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 2,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 7): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 7,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 6,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 4,CARD32,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 6) | (1 << (FB_SHIFT - 3)): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 6,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 6) | (2 << (FB_SHIFT - 3)): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 6,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 6) | (3 << (FB_SHIFT - 3)): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 6,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 4,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 6) | (4 << (FB_SHIFT - 3)): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 6,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 4,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 6) | (5 << (FB_SHIFT - 3)): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 6,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 4,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 2,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 6): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 6,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 4,CARD32,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 5) | (1 << (FB_SHIFT - 3)): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 5,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 5) | (2 << (FB_SHIFT - 3)): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 5,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 4,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 5) | (3 << (FB_SHIFT - 3)): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 5,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 4,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 5) | (4 << (FB_SHIFT - 3)): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 5,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 4,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 2,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 5): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 5,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 4,CARD32,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 4) | (1 << (FB_SHIFT - 3)): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 4,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 4) | (2 << (FB_SHIFT - 3)): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 4,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 4) | (3 << (FB_SHIFT - 3)): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 4,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 2,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 4): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 4,CARD32,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbDoRightMaskByteRRop6Cases(dst,xor) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case 4: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,0,CARD32,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case 5: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,0,CARD32,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,4,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case 6: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,0,CARD32,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,4,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case 7: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,0,CARD32,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,4,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,6,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#else
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbDoLeftMaskByteRRop6Cases(dst,xor)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbDoRightMaskByteRRop6Cases(dst,xor)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbDoLeftMaskByteRRop(dst,lb,l,and,xor) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync switch (lb) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbDoLeftMaskByteRRop6Cases(dst,xor) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 3) | (1 << (FB_SHIFT - 3)): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 3,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 3) | (2 << (FB_SHIFT - 3)): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 3,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 2,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case (sizeof (FbBits) - 2) | (1 << (FB_SHIFT - 3)): \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 2,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case sizeof (FbBits) - 3: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 3,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case sizeof (FbBits) - 2: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 2,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case sizeof (FbBits) - 1: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,sizeof (FbBits) - 1,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync default: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *dst = FbDoMaskRRop(*dst, and, xor, l); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync}
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbDoRightMaskByteRRop(dst,rb,r,and,xor) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync switch (rb) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case 1: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,0,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case 2: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,0,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync case 3: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,0,CARD16,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStorePart(dst,2,CARD8,xor); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync break; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbDoRightMaskByteRRop6Cases(dst,xor) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync default: \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *dst = FbDoMaskRRop (*dst, and, xor, r); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync}
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbMaskStip(x,w,l,n,r) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync n = (w); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync r = FbRightStipMask((x)+n); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync l = FbLeftStipMask(x); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if (l) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync n -= FB_STIP_UNIT - ((x) & FB_STIP_MASK); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if (n < 0) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync n = 0; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync l &= r; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync r = 0; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync n >>= FB_STIP_SHIFT; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync}
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * These macros are used to transparently stipple
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * in copy mode; the expected usage is with 'n' constant
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * so all of the conditional parts collapse into a minimal
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * sequence of partial word writes
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * 'n' is the bytemask of which bytes to store, 'a' is the address
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * of the FbBits base unit, 'o' is the offset within that unit
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * The term "lane" comes from the hardware term "byte-lane" which
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbLaneCase1(n,a,o) ((n) == 0x01 ? \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (*(CARD8 *) ((a)+FbPatternOffset(o,CARD8)) = \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync fgxor) : 0)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbLaneCase2(n,a,o) ((n) == 0x03 ? \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (*(CARD16 *) ((a)+FbPatternOffset(o,CARD16)) = \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync fgxor) : \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ((void)FbLaneCase1((n)&1,a,o), \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbLaneCase1((n)>>1,a,(o)+1)))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbLaneCase4(n,a,o) ((n) == 0x0f ? \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (*(CARD32 *) ((a)+FbPatternOffset(o,CARD32)) = \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync fgxor) : \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ((void)FbLaneCase2((n)&3,a,o), \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbLaneCase2((n)>>2,a,(o)+2)))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbLaneCase8(n,a,o) ((n) == 0x0ff ? (*(FbBits *) ((a)+(o)) = fgxor) : \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ((void)FbLaneCase4((n)&15,a,o), \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbLaneCase4((n)>>4,a,(o)+4)))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#if FB_SHIFT == 6
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbLaneCase(n,a) FbLaneCase8(n,(CARD8 *) (a),0)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#if FB_SHIFT == 5
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbLaneCase(n,a) FbLaneCase4(n,(CARD8 *) (a),0)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* Rotate a filled pixel value to the specified alignement */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbRot24(p,b) (FbScrRight(p,b) | FbScrLeft(p,24-(b)))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbRot24Stip(p,b) (FbStipRight(p,b) | FbStipLeft(p,24-(b)))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* step a filled pixel value to the next/previous FB_UNIT alignment */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbNext24Pix(p) (FbRot24(p,(24-FB_UNIT%24)))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbPrev24Pix(p) (FbRot24(p,FB_UNIT%24))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbNext24Stip(p) (FbRot24(p,(24-FB_STIP_UNIT%24)))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbPrev24Stip(p) (FbRot24(p,FB_STIP_UNIT%24))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* step a rotation value to the next/previous rotation value */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#if FB_UNIT == 64
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbNext24Rot(r) ((r) == 16 ? 0 : (r) + 8)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbPrev24Rot(r) ((r) == 0 ? 16 : (r) - 8)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#if IMAGE_BYTE_ORDER == MSBFirst
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbFirst24Rot(x) (((x) + 8) % 24)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#else
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbFirst24Rot(x) ((x) % 24)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#if FB_UNIT == 32
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbNext24Rot(r) ((r) == 0 ? 16 : (r) - 8)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbPrev24Rot(r) ((r) == 16 ? 0 : (r) + 8)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#if IMAGE_BYTE_ORDER == MSBFirst
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbFirst24Rot(x) (((x) + 16) % 24)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#else
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbFirst24Rot(x) ((x) % 24)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbNext24RotStip(r) ((r) == 0 ? 16 : (r) - 8)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbPrev24RotStip(r) ((r) == 16 ? 0 : (r) + 8)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* Whether 24-bit specific code is needed for this filled pixel value */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbCheck24Pix(p) ((p) == FbNext24Pix(p))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* Macros for dealing with dashing */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbDashDeclare \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char *__dash, *__firstDash, *__lastDash
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbDashInit(pGC,pPriv,dashOffset,dashlen,even) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (even) = TRUE; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync __firstDash = (pGC)->dash; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync __lastDash = __firstDash + (pGC)->numInDashList; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (dashOffset) %= (pPriv)->dashLength; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync __dash = __firstDash; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync while ((dashOffset) >= ((dashlen) = *__dash)) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (dashOffset) -= (dashlen); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (even) = 1-(even); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if (++__dash == __lastDash) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync __dash = __firstDash; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (dashlen) -= (dashOffset); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync}
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbDashNext(dashlen) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if (++__dash == __lastDash) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync __dash = __firstDash; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (dashlen) = *__dash; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync}
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* as numInDashList is always even, this case can skip a test */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbDashNextEven(dashlen) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (dashlen) = *++__dash; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync}
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbDashNextOdd(dashlen) FbDashNext(dashlen)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbDashStep(dashlen,even) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if (!--(dashlen)) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbDashNext(dashlen); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (even) = 1-(even); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync}
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* XXX fb*PrivateIndex should be static, but it breaks the ABI */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int fbGCPrivateIndex;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int fbGetGCPrivateIndex(void);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifndef FB_NO_WINDOW_PIXMAPS
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int fbWinPrivateIndex;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int fbGetWinPrivateIndex(void);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern const GCOps fbGCOps;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern const GCFuncs fbGCFuncs;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef TEKX11
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FB_OLD_GC
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FB_OLD_SCREEN
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef FB_OLD_SCREEN
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync# define FB_OLD_MISCREENINIT /* miScreenInit requires 14 args, not 13 */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern WindowPtr *WindowTable;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef FB_24_32BIT
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FB_SCREEN_PRIVATE
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef FB_SCREEN_PRIVATE
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int fbScreenPrivateIndex;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int fbGetScreenPrivateIndex(void);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* private field of a screen */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char win32bpp; /* window bpp for 32-bpp images */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char pix32bpp; /* pixmap bpp for 32-bpp images */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} FbScreenPrivRec, *FbScreenPrivPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fbGetScreenPrivate(pScreen) ((FbScreenPrivPtr) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (pScreen)->devPrivates[fbGetScreenPrivateIndex()].ptr)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* private field of GC */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef FB_OLD_GC
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char pad1;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char pad2;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char pad3;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned fExpose:1;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned freeCompClip:1;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr pRotatedPixmap;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr pCompositeClip;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits and, xor; /* reduced rop values */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits bgand, bgxor; /* for stipples */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits fg, bg, pm; /* expanded and filled */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int dashLength; /* total of all dash elements */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char oneRect; /* clip list is single rectangle */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char evenStipple; /* stipple is even */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char bpp; /* current drawable bpp */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} FbGCPrivRec, *FbGCPrivPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fbGetGCPrivate(pGC) ((FbGCPrivPtr)\
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (pGC)->devPrivates[fbGetGCPrivateIndex()].ptr)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef FB_OLD_GC
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fbGetCompositeClip(pGC) (fbGetGCPrivate(pGC)->pCompositeClip)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fbGetExpose(pGC) (fbGetGCPrivate(pGC)->fExpose)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fbGetFreeCompClip(pGC) (fbGetGCPrivate(pGC)->freeCompClip)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fbGetRotatedPixmap(pGC) (fbGetGCPrivate(pGC)->pRotatedPixmap)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#else
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fbGetCompositeClip(pGC) ((pGC)->pCompositeClip)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fbGetExpose(pGC) ((pGC)->fExpose)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fbGetFreeCompClip(pGC) ((pGC)->freeCompClip)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fbGetRotatedPixmap(pGC) ((pGC)->pRotatedPixmap)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fbGetScreenPixmap(s) ((PixmapPtr) (s)->devPrivate)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef FB_NO_WINDOW_PIXMAPS
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fbGetWindowPixmap(d) fbGetScreenPixmap(((DrawablePtr) (d))->pScreen)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#else
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fbGetWindowPixmap(pWin) ((PixmapPtr)\
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ((WindowPtr) (pWin))->devPrivates[fbGetWinPrivateIndex()].ptr)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef ROOTLESS
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define __fbPixDrawableX(pPix) ((pPix)->drawable.x)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define __fbPixDrawableY(pPix) ((pPix)->drawable.y)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#else
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define __fbPixDrawableX(pPix) 0
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define __fbPixDrawableY(pPix) 0
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef COMPOSITE
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define __fbPixOffXWin(pPix) (__fbPixDrawableX(pPix) - (pPix)->screen_x)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define __fbPixOffYWin(pPix) (__fbPixDrawableY(pPix) - (pPix)->screen_y)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#else
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define __fbPixOffXWin(pPix) (__fbPixDrawableX(pPix))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define __fbPixOffYWin(pPix) (__fbPixDrawableY(pPix))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define __fbPixOffXPix(pPix) (__fbPixDrawableX(pPix))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define __fbPixOffYPix(pPix) (__fbPixDrawableY(pPix))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fbGetDrawable(pDrawable, pointer, stride, bpp, xoff, yoff) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr _pPix; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if ((pDrawable)->type != DRAWABLE_PIXMAP) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync _pPix = fbGetWindowPixmap(pDrawable); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (xoff) = __fbPixOffXWin(_pPix); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (yoff) = __fbPixOffYWin(_pPix); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } else { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync _pPix = (PixmapPtr) (pDrawable); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (xoff) = __fbPixOffXPix(_pPix); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (yoff) = __fbPixOffYPix(_pPix); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (pointer) = (FbBits *) _pPix->devPrivate.ptr; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (stride) = ((int) _pPix->devKind) / sizeof (FbBits); (void)(stride); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (bpp) = _pPix->drawable.bitsPerPixel; (void)(bpp); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync}
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fbGetStipDrawable(pDrawable, pointer, stride, bpp, xoff, yoff) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr _pPix; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if ((pDrawable)->type != DRAWABLE_PIXMAP) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync _pPix = fbGetWindowPixmap(pDrawable); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (xoff) = __fbPixOffXWin(_pPix); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (yoff) = __fbPixOffYWin(_pPix); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } else { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync _pPix = (PixmapPtr) (pDrawable); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (xoff) = __fbPixOffXPix(_pPix); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (yoff) = __fbPixOffYPix(_pPix); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (pointer) = (FbStip *) _pPix->devPrivate.ptr; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (stride) = ((int) _pPix->devKind) / sizeof (FbStip); (void)(stride); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (bpp) = _pPix->drawable.bitsPerPixel; (void)(bpp); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync}
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * XFree86 empties the root BorderClip when the VT is inactive,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * here's a macro which uses that to disable GetImage and GetSpans
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fbWindowEnabled(pWin) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync REGION_NOTEMPTY((pWin)->drawable.pScreen, \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync &WindowTable[(pWin)->drawable.pScreen->myNum]->borderClip)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fbDrawableEnabled(pDrawable) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ((pDrawable)->type == DRAWABLE_PIXMAP ? \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync TRUE : fbWindowEnabled((WindowPtr) pDrawable))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef FB_OLD_SCREEN
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define BitsPerPixel(d) (\
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ((1 << PixmapWidthPaddingInfo[d].padBytesLog2) * 8 / \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (PixmapWidthPaddingInfo[d].padRoundUp+1)))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbPowerOfTwo(w) (((w) & ((w) - 1)) == 0)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Accelerated tiles are power of 2 width <= FB_UNIT
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbEvenTile(w) ((w) <= FB_UNIT && FbPowerOfTwo(w))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Accelerated stipples are power of 2 width and <= FB_UNIT/dstBpp
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * with dstBpp a power of 2 as well
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define FbEvenStip(w,bpp) ((w) * (bpp) <= FB_UNIT && FbPowerOfTwo(w) && FbPowerOfTwo(bpp))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fb24_32.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfb24_32GetSpans(DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int wMax,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr ppt,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int *pwidth,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nspans,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *pchardstStart);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfb24_32SetSpans (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *src,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr ppt,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int *pwidth,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nspans,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int fSorted);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfb24_32PutZImage (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr pClip,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int alu,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits pm,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CARD8 *src,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride srcStride);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfb24_32GetImage (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int w,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int h,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int format,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long planeMask,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *d);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfb24_32CopyMtoN (DrawablePtr pSrcDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr pDstDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr pbox,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nbox,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool reverse,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool upsidedown,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Pixel bitplane,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync void *closure);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPixmapPtr
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfb24_32ReformatTile(PixmapPtr pOldTile, int bitsPerPixel);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfb24_32CreateScreenResources(ScreenPtr pScreen);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfb24_32ModifyPixmapHeader (PixmapPtr pPixmap,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int depth,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int bitsPerPixel,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int devKind,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer pPixData);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fballpriv.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbAllocatePrivates(ScreenPtr pScreen, int *pGCIndex);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbarc.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPolyArc (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int narcs,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xArc *parcs);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbbits.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbBresSolid8(DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dashOffset,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int signdx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int signdy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int axis,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e1,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e3,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int len);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbBresDash8 (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dashOffset,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int signdx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int signdy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int axis,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e1,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e3,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int len);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbDots8 (FbBits *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstBpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr pBox,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xPoint *pts,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int npt,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xorg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yorg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xoff,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yoff,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits and,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits xor);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbArc8 (FbBits *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstBpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xArc *arc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits and,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits xor);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbGlyph8 (FbBits *dstLine,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstBpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStip *stipple,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits fg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int shift);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPolyline8 (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int mode,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int npt,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr ptsOrig);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPolySegment8 (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nseg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xSegment *pseg);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbBresSolid16(DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dashOffset,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int signdx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int signdy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int axis,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e1,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e3,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int len);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbBresDash16(DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dashOffset,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int signdx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int signdy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int axis,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e1,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e3,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int len);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbDots16(FbBits *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstBpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr pBox,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xPoint *pts,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int npt,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xorg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yorg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xoff,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yoff,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits and,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits xor);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbArc16(FbBits *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstBpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xArc *arc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits and,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits xor);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbGlyph16(FbBits *dstLine,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstBpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStip *stipple,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits fg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int shift);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPolyline16 (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int mode,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int npt,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr ptsOrig);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPolySegment16 (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nseg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xSegment *pseg);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbBresSolid24(DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dashOffset,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int signdx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int signdy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int axis,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e1,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e3,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int len);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbBresDash24(DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dashOffset,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int signdx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int signdy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int axis,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e1,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e3,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int len);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbDots24(FbBits *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstBpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr pBox,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xPoint *pts,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int npt,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xorg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yorg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xoff,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yoff,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits and,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits xor);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbArc24(FbBits *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstBpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xArc *arc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits and,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits xor);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbGlyph24(FbBits *dstLine,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstBpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStip *stipple,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits fg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int shift);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPolyline24 (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int mode,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int npt,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr ptsOrig);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPolySegment24 (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nseg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xSegment *pseg);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbBresSolid32(DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dashOffset,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int signdx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int signdy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int axis,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e1,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e3,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int len);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbBresDash32(DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dashOffset,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int signdx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int signdy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int axis,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e1,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e3,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int len);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbDots32(FbBits *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstBpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr pBox,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xPoint *pts,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int npt,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xorg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yorg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xoff,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yoff,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits and,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits xor);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbArc32(FbBits *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstBpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xArc *arc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits and,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits xor);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbGlyph32(FbBits *dstLine,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstBpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStip *stipple,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits fg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int shift);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPolyline32 (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int mode,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int npt,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr ptsOrig);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPolySegment32 (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nseg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xSegment *pseg);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbblt.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbBlt (FbBits *src,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride srcStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int srcX,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstX,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int alu,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits pm,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int bpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool reverse,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool upsidedown);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbBlt24 (FbBits *srcLine,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride srcStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int srcX,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits *dstLine,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstX,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int alu,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits pm,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool reverse,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool upsidedown);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbBltStip (FbStip *src,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride srcStride, /* in FbStip units, not FbBits units */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int srcX,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStip *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride, /* in FbStip units, not FbBits units */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstX,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int alu,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits pm,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int bpp);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbbltone.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbBltOne (FbStip *src,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride srcStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int srcX,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstX,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstBpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits fgand,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits fbxor,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits bgand,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits bgxor);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef FB_24BIT
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbBltOne24 (FbStip *src,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride srcStride, /* FbStip units per scanline */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int srcX, /* bit position of source */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride, /* FbBits units per scanline */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstX, /* bit position of dest */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstBpp, /* bits per destination unit */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width, /* width in bits of destination */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height, /* height in scanlines */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits fgand, /* rrop values */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits fgxor,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits bgand,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits bgxor);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbBltPlane (FbBits *src,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride srcStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int srcX,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int srcBpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStip *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstX,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStip fgand,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStip fgxor,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStip bgand,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStip bgxor,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Pixel planeMask);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbbstore.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbSaveAreas(PixmapPtr pPixmap,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr prgnSave,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xorg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yorg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr pWin);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbRestoreAreas(PixmapPtr pPixmap,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr prgnRestore,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xorg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yorg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr pWin);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbcmap.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbListInstalledColormaps(ScreenPtr pScreen, Colormap *pmaps);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbInstallColormap(ColormapPtr pmap);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbUninstallColormap(ColormapPtr pmap);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbResolveColor(unsigned short *pred,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short *pgreen,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short *pblue,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync VisualPtr pVisual);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbInitializeColormap(ColormapPtr pmap);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbExpandDirectColors (ColormapPtr pmap,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int ndef,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xColorItem *indefs,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xColorItem *outdefs);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbCreateDefColormap(ScreenPtr pScreen);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbClearVisualTypes(void);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbSetVisualTypes (int depth, int visuals, int bitsPerRGB);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbSetVisualTypesAndMasks (int depth, int visuals, int bitsPerRGB,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Pixel redMask, Pixel greenMask, Pixel blueMask);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbInitVisuals (VisualPtr *visualp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DepthPtr *depthp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int *nvisualp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int *ndepthp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int *rootDepthp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync VisualID *defaultVisp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long sizes,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int bitsPerRGB);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbcopy.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*fbCopyProc) (DrawablePtr pSrcDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr pDstDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr pDstBox,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nbox,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool reverse,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool upsidedown,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Pixel bitplane,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync void *closure);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbCopyNtoN (DrawablePtr pSrcDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr pDstDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr pbox,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nbox,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool reverse,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool upsidedown,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Pixel bitplane,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync void *closure);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbCopy1toN (DrawablePtr pSrcDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr pDstDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr pbox,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nbox,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool reverse,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool upsidedown,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Pixel bitplane,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync void *closure);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbCopyNto1 (DrawablePtr pSrcDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr pDstDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr pbox,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nbox,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool reverse,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool upsidedown,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Pixel bitplane,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync void *closure);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbCopyRegion (DrawablePtr pSrcDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr pDstDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr pDstRegion,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync fbCopyProc copyProc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Pixel bitPlane,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync void *closure);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncRegionPtr
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbDoCopy (DrawablePtr pSrcDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr pDstDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xIn,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yIn,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int widthSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int heightSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xOut,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yOut,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync fbCopyProc copyProc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Pixel bitplane,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync void *closure);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncRegionPtr
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbCopyArea (DrawablePtr pSrcDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr pDstDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xIn,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yIn,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int widthSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int heightSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xOut,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yOut);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncRegionPtr
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbCopyPlane (DrawablePtr pSrcDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr pDstDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xIn,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yIn,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int widthSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int heightSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xOut,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yOut,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long bitplane);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbfill.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbFill (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbSolidBoxClipped (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr pClip,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xa,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int ya,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xb,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yb,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits and,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits xor);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbfillrect.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPolyFillRect(DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nrectInit,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xRectangle *prectInit);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fbPolyFillArc miPolyFillArc
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fbFillPolygon miFillPolygon
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbfillsp.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbFillSpans (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nInit,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr pptInit,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int *pwidthInit,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int fSorted);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbgc.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbCreateGC(GCPtr pGC);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPadPixmap (PixmapPtr pPixmap);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbValidateGC(GCPtr pGC, unsigned long changes, DrawablePtr pDrawable);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbgetsp.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbGetSpans(DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int wMax,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr ppt,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int *pwidth,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nspans,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *pchardstStart);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbglyph.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbGlyphIn (RegionPtr pRegion,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPolyGlyphBlt (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int nglyph,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CharInfoPtr *ppci,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer pglyphBase);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbImageGlyphBlt (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int nglyph,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CharInfoPtr *ppci,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer pglyphBase);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbimage.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPutImage (DrawablePtr pDrawable,
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
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPutZImage (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr pClip,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int alu,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits pm,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStip *src,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride srcStride);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPutXYImage (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr pClip,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits fg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits bg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits pm,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int alu,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool opaque,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStip *src,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride srcStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int srcX);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbGetImage (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int w,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int h,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int format,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long planeMask,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *d);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbline.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbZeroLine (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int mode,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int npt,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr ppt);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbZeroSegment (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nseg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xSegment *pSegs);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPolyLine (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int mode,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int npt,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr ppt);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbFixCoordModePrevious (int npt,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr ppt);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPolySegment (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nseg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xSegment *pseg);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define fbPolyRectangle miPolyRectangle
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbpict.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPictureInit (ScreenPtr pScreen,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFormatPtr formats,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nformats);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbpixmap.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPixmapPtr
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbCreatePixmapBpp (ScreenPtr pScreen, int width, int height, int depth, int bpp);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPixmapPtr
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbCreatePixmap (ScreenPtr pScreen, int width, int height, int depth);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbDestroyPixmap (PixmapPtr pPixmap);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncRegionPtr
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPixmapToRegion(PixmapPtr pPix);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbpoint.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbDots (FbBits *dstOrig,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstBpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr pBox,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xPoint *pts,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int npt,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xorg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yorg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xoff,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yoff,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits andOrig,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits xorOrig);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPolyPoint (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int mode,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int npt,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xPoint *pptInit);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbpush.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPushPattern (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStip *src,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride srcStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int srcX,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPushFill (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStip *src,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride srcStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int srcX,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPush1toN (DrawablePtr pSrcDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr pDstDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr pbox,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nbox,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool reverse,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool upsidedown,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Pixel bitplane,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync void *closure);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPushImage (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStip *src,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride srcStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int srcX,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPushPixels (GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr pBitmap,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xOrg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yOrg);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbscreen.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbCloseScreen (int indx, ScreenPtr pScreen);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbRealizeFont(ScreenPtr pScreen, FontPtr pFont);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbUnrealizeFont(ScreenPtr pScreen, FontPtr pFont);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbQueryBestSize (int class,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned short *width, unsigned short *height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ScreenPtr pScreen);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifndef FB_OLD_SCREEN
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPixmapPtr
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync_fbGetWindowPixmap (WindowPtr pWindow);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync_fbSetWindowPixmap (WindowPtr pWindow, PixmapPtr pPixmap);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbSetupScreen(ScreenPtr pScreen,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer pbits, /* pointer to screen bitmap */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xsize, /* in pixels */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int ysize,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dpix, /* dots per inch */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dpiy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width, /* pixel width of frame buffer */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int bpp); /* bits per pixel of frame buffer */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbFinishScreenInit(ScreenPtr pScreen,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer pbits,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xsize,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int ysize,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dpix,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dpiy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int bpp);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbScreenInit(ScreenPtr pScreen,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer pbits,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xsize,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int ysize,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dpix,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dpiy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int bpp);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbInitializeBackingStore (ScreenPtr pScreen);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbseg.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void FbBres (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dashOffset,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int signdx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int signdy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int axis,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e1,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e3,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int len);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncFbBres fbBresSolid, fbBresDash, fbBresFill, fbBresFillDash;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbsetsp.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbSetSpans (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *src,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointPtr ppt,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int *pwidth,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nspans,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int fSorted);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncFbBres *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbSelectBres (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbBres (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dashOffset,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int signdx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int signdy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int axis,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e1,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int e3,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int len);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbSegment (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xa,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int ya,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xb,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yb,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool drawLast,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int *dashOffset);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbsolid.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbSolid (FbBits *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstX,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int bpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits and,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits xor);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef FB_24BIT
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbSolid24 (FbBits *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstX,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits and,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits xor);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbstipple.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbTransparentSpan (FbBits *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits stip,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits fgxor,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int n);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbEvenStipple (FbBits *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstX,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstBpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStip *stip,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride stipStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int stipHeight,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits fgand,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits fgxor,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits bgand,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits bgxor,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xRot,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yRot);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbOddStipple (FbBits *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstX,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstBpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStip *stip,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride stipStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int stipWidth,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int stipHeight,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits fgand,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits fgxor,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits bgand,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits bgxor,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xRot,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yRot);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbStipple (FbBits *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstX,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstBpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStip *stip,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride stipStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int stipWidth,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int stipHeight,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool even,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits fgand,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits fgxor,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits bgand,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits bgxor,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xRot,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yRot);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbtile.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbEvenTile (FbBits *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstX,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits *tile,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int tileHeight,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int alu,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits pm,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xRot,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yRot);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbOddTile (FbBits *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstX,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits *tile,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride tileStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int tileWidth,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int tileHeight,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int alu,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits pm,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int bpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xRot,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yRot);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbTile (FbBits *dst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride dstStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dstX,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int height,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits *tile,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbStride tileStride,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int tileWidth,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int tileHeight,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int alu,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits pm,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int bpp,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xRot,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yRot);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbutil.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncFbBits
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbReplicatePixel (Pixel p, int bpp);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbReduceRasterOp (int rop, FbBits fg, FbBits pm, FbBits *andp, FbBits *xorp);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * fbwindow.c
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbCreateWindow(WindowPtr pWin);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbDestroyWindow(WindowPtr pWin);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbMapWindow(WindowPtr pWindow);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPositionWindow(WindowPtr pWin, int x, int y);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbUnmapWindow(WindowPtr pWindow);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbCopyWindowProc (DrawablePtr pSrcDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr pDstDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr pGC,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync BoxPtr pbox,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nbox,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dx,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool reverse,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool upsidedown,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Pixel bitplane,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync void *closure);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbCopyWindow(WindowPtr pWin,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointRec ptOldOrg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr prgnSrc);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbChangeWindowAttributes(WindowPtr pWin, unsigned long mask);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbFillRegionSolid (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr pRegion,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits and,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FbBits xor);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbFillRegionTiled (DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr pRegion,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PixmapPtr pTile);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfbPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif /* _FB_H_ */