1770 lines
34 KiB
C
1770 lines
34 KiB
C
|
|
||
|
#ifndef _XAALOCAL_H
|
||
|
#define _XAALOCAL_H
|
||
|
|
||
|
/* This file is very unorganized ! */
|
||
|
|
||
|
|
||
|
#include "gcstruct.h"
|
||
|
#include "regionstr.h"
|
||
|
#include "xf86fbman.h"
|
||
|
#include "xaa.h"
|
||
|
#include "mi.h"
|
||
|
#ifdef RENDER
|
||
|
#include "picturestr.h"
|
||
|
#endif
|
||
|
|
||
|
#define GCWhenForced (GCArcMode << 1)
|
||
|
|
||
|
#define DO_COLOR_8x8 0x00000001
|
||
|
#define DO_MONO_8x8 0x00000002
|
||
|
#define DO_CACHE_BLT 0x00000003
|
||
|
#define DO_COLOR_EXPAND 0x00000004
|
||
|
#define DO_CACHE_EXPAND 0x00000005
|
||
|
#define DO_IMAGE_WRITE 0x00000006
|
||
|
#define DO_PIXMAP_COPY 0x00000007
|
||
|
#define DO_SOLID 0x00000008
|
||
|
|
||
|
|
||
|
typedef CARD32 * (*GlyphScanlineFuncPtr)(
|
||
|
CARD32 *base, unsigned int **glyphp, int line, int nglyph, int width
|
||
|
);
|
||
|
|
||
|
typedef CARD32 *(*StippleScanlineProcPtr)(CARD32*, CARD32*, int, int, int);
|
||
|
|
||
|
typedef void (*RectFuncPtr) (ScrnInfoPtr, int, int, int, int, int, int,
|
||
|
XAACacheInfoPtr);
|
||
|
typedef void (*TrapFuncPtr) (ScrnInfoPtr, int, int, int, int, int, int,
|
||
|
int, int, int, int, int, int,
|
||
|
XAACacheInfoPtr);
|
||
|
|
||
|
|
||
|
|
||
|
typedef struct _XAAScreen {
|
||
|
CreateGCProcPtr CreateGC;
|
||
|
CloseScreenProcPtr CloseScreen;
|
||
|
GetImageProcPtr GetImage;
|
||
|
GetSpansProcPtr GetSpans;
|
||
|
PaintWindowBackgroundProcPtr PaintWindowBackground;
|
||
|
PaintWindowBorderProcPtr PaintWindowBorder;
|
||
|
CopyWindowProcPtr CopyWindow;
|
||
|
WindowExposuresProcPtr WindowExposures;
|
||
|
BSFuncRec BackingStoreFuncs;
|
||
|
CreatePixmapProcPtr CreatePixmap;
|
||
|
DestroyPixmapProcPtr DestroyPixmap;
|
||
|
ChangeWindowAttributesProcPtr ChangeWindowAttributes;
|
||
|
XAAInfoRecPtr AccelInfoRec;
|
||
|
Bool (*EnterVT)(int, int);
|
||
|
void (*LeaveVT)(int, int);
|
||
|
int (*SetDGAMode)(int, int, DGADevicePtr);
|
||
|
void (*EnableDisableFBAccess)(int, Bool);
|
||
|
#ifdef RENDER
|
||
|
CompositeProcPtr Composite;
|
||
|
GlyphsProcPtr Glyphs;
|
||
|
#endif
|
||
|
} XAAScreenRec, *XAAScreenPtr;
|
||
|
|
||
|
#define OPS_ARE_PIXMAP 0x00000001
|
||
|
#define OPS_ARE_ACCEL 0x00000002
|
||
|
|
||
|
typedef struct _XAAGC {
|
||
|
GCOps *wrapOps;
|
||
|
GCFuncs *wrapFuncs;
|
||
|
GCOps *XAAOps;
|
||
|
int DashLength;
|
||
|
unsigned char* DashPattern;
|
||
|
unsigned long changes;
|
||
|
unsigned long flags;
|
||
|
} XAAGCRec, *XAAGCPtr;
|
||
|
|
||
|
#define REDUCIBILITY_CHECKED 0x00000001
|
||
|
#define REDUCIBLE_TO_8x8 0x00000002
|
||
|
#define REDUCIBLE_TO_2_COLOR 0x00000004
|
||
|
#define DIRTY 0x00010000
|
||
|
#define OFFSCREEN 0x00020000
|
||
|
#define DGA_PIXMAP 0x00040000
|
||
|
#define SHARED_PIXMAP 0x00080000
|
||
|
#define LOCKED_PIXMAP 0x00100000
|
||
|
|
||
|
#define REDUCIBILITY_MASK \
|
||
|
(REDUCIBILITY_CHECKED | REDUCIBLE_TO_8x8 | REDUCIBLE_TO_2_COLOR)
|
||
|
|
||
|
typedef struct _XAAPixmap {
|
||
|
unsigned long flags;
|
||
|
CARD32 pattern0;
|
||
|
CARD32 pattern1;
|
||
|
int fg;
|
||
|
int bg;
|
||
|
FBAreaPtr offscreenArea;
|
||
|
Bool freeData;
|
||
|
} XAAPixmapRec, *XAAPixmapPtr;
|
||
|
|
||
|
|
||
|
Bool
|
||
|
XAACreateGC(
|
||
|
GCPtr pGC
|
||
|
);
|
||
|
|
||
|
Bool
|
||
|
XAAInitAccel(
|
||
|
ScreenPtr pScreen,
|
||
|
XAAInfoRecPtr infoRec
|
||
|
);
|
||
|
|
||
|
RegionPtr
|
||
|
XAABitBlt(
|
||
|
DrawablePtr pSrcDrawable,
|
||
|
DrawablePtr pDstDrawable,
|
||
|
GC *pGC,
|
||
|
int srcx,
|
||
|
int srcy,
|
||
|
int width,
|
||
|
int height,
|
||
|
int dstx,
|
||
|
int dsty,
|
||
|
void (*doBitBlt)(DrawablePtr, DrawablePtr, GCPtr, RegionPtr, DDXPointPtr),
|
||
|
unsigned long bitPlane
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAScreenToScreenBitBlt(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int nbox,
|
||
|
DDXPointPtr pptSrc,
|
||
|
BoxPtr pbox,
|
||
|
int xdir,
|
||
|
int ydir,
|
||
|
int alu,
|
||
|
unsigned int planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAADoBitBlt(
|
||
|
DrawablePtr pSrc,
|
||
|
DrawablePtr pDst,
|
||
|
GC *pGC,
|
||
|
RegionPtr prgnDst,
|
||
|
DDXPointPtr pptSrc
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAADoImageWrite(
|
||
|
DrawablePtr pSrc,
|
||
|
DrawablePtr pDst,
|
||
|
GC *pGC,
|
||
|
RegionPtr prgnDst,
|
||
|
DDXPointPtr pptSrc
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAADoImageRead(
|
||
|
DrawablePtr pSrc,
|
||
|
DrawablePtr pDst,
|
||
|
GC *pGC,
|
||
|
RegionPtr prgnDst,
|
||
|
DDXPointPtr pptSrc
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAACopyWindow(
|
||
|
WindowPtr pWin,
|
||
|
DDXPointRec ptOldOrg,
|
||
|
RegionPtr prgnSrc
|
||
|
);
|
||
|
|
||
|
|
||
|
RegionPtr
|
||
|
XAACopyArea(
|
||
|
DrawablePtr pSrcDrawable,
|
||
|
DrawablePtr pDstDrawable,
|
||
|
GC *pGC,
|
||
|
int srcx,
|
||
|
int srcy,
|
||
|
int width,
|
||
|
int height,
|
||
|
int dstx,
|
||
|
int dsty
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAValidateCopyArea(
|
||
|
GCPtr pGC,
|
||
|
unsigned long changes,
|
||
|
DrawablePtr pDraw
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAValidatePutImage(
|
||
|
GCPtr pGC,
|
||
|
unsigned long changes,
|
||
|
DrawablePtr pDraw
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAValidateCopyPlane(
|
||
|
GCPtr pGC,
|
||
|
unsigned long changes,
|
||
|
DrawablePtr pDraw
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAValidatePushPixels(
|
||
|
GCPtr pGC,
|
||
|
unsigned long changes,
|
||
|
DrawablePtr pDraw
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAValidateFillSpans(
|
||
|
GCPtr pGC,
|
||
|
unsigned long changes,
|
||
|
DrawablePtr pDraw
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAValidatePolyGlyphBlt(
|
||
|
GCPtr pGC,
|
||
|
unsigned long changes,
|
||
|
DrawablePtr pDraw
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAValidateImageGlyphBlt(
|
||
|
GCPtr pGC,
|
||
|
unsigned long changes,
|
||
|
DrawablePtr pDraw
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAValidatePolylines(
|
||
|
GCPtr pGC,
|
||
|
unsigned long changes,
|
||
|
DrawablePtr pDraw
|
||
|
);
|
||
|
|
||
|
|
||
|
RegionPtr
|
||
|
XAACopyPlaneColorExpansion(
|
||
|
DrawablePtr pSrc,
|
||
|
DrawablePtr pDst,
|
||
|
GCPtr pGC,
|
||
|
int srcx,
|
||
|
int srcy,
|
||
|
int width,
|
||
|
int height,
|
||
|
int dstx,
|
||
|
int dsty,
|
||
|
unsigned long bitPlane
|
||
|
);
|
||
|
|
||
|
|
||
|
void
|
||
|
XAAPushPixelsSolidColorExpansion(
|
||
|
GCPtr pGC,
|
||
|
PixmapPtr pBitMap,
|
||
|
DrawablePtr pDrawable,
|
||
|
int dx,
|
||
|
int dy,
|
||
|
int xOrg,
|
||
|
int yOrg
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAWriteBitmapColorExpandMSBFirstFixedBase (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int skipleft,
|
||
|
int fg, int bg,
|
||
|
int rop,
|
||
|
unsigned int planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAWriteBitmapColorExpand3MSBFirstFixedBase (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int skipleft,
|
||
|
int fg, int bg,
|
||
|
int rop,
|
||
|
unsigned int planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAWriteBitmapColorExpandMSBFirst (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int skipleft,
|
||
|
int fg, int bg,
|
||
|
int rop,
|
||
|
unsigned int planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAWriteBitmapColorExpand3MSBFirst (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int skipleft,
|
||
|
int fg, int bg,
|
||
|
int rop,
|
||
|
unsigned int planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAWriteBitmapColorExpandLSBFirstFixedBase (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int skipleft,
|
||
|
int fg, int bg,
|
||
|
int rop,
|
||
|
unsigned int planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAWriteBitmapColorExpand3LSBFirstFixedBase (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int skipleft,
|
||
|
int fg, int bg,
|
||
|
int rop,
|
||
|
unsigned int planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAWriteBitmapColorExpandLSBFirst (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int skipleft,
|
||
|
int fg, int bg,
|
||
|
int rop,
|
||
|
unsigned int planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAWriteBitmapColorExpand3LSBFirst (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int skipleft,
|
||
|
int fg, int bg,
|
||
|
int rop,
|
||
|
unsigned int planemask
|
||
|
);
|
||
|
|
||
|
|
||
|
void
|
||
|
XAAWriteBitmapScanlineColorExpandMSBFirst (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int skipleft,
|
||
|
int fg, int bg,
|
||
|
int rop,
|
||
|
unsigned int planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAWriteBitmapScanlineColorExpand3MSBFirst (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int skipleft,
|
||
|
int fg, int bg,
|
||
|
int rop,
|
||
|
unsigned int planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAWriteBitmapScanlineColorExpandMSBFirstFixedBase (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int skipleft,
|
||
|
int fg, int bg,
|
||
|
int rop,
|
||
|
unsigned int planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAWriteBitmapScanlineColorExpand3MSBFirstFixedBase (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int skipleft,
|
||
|
int fg, int bg,
|
||
|
int rop,
|
||
|
unsigned int planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAWriteBitmapScanlineColorExpandLSBFirst (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int skipleft,
|
||
|
int fg, int bg,
|
||
|
int rop,
|
||
|
unsigned int planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAWriteBitmapScanlineColorExpand3LSBFirst (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int skipleft,
|
||
|
int fg, int bg,
|
||
|
int rop,
|
||
|
unsigned int planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAWriteBitmapScanlineColorExpandLSBFirstFixedBase (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int skipleft,
|
||
|
int fg, int bg,
|
||
|
int rop,
|
||
|
unsigned int planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAWriteBitmapScanlineColorExpand3LSBFirstFixedBase (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int skipleft,
|
||
|
int fg, int bg,
|
||
|
int rop,
|
||
|
unsigned int planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAWritePixmap (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int rop,
|
||
|
unsigned int planemask,
|
||
|
int transparency_color,
|
||
|
int bpp, int depth
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAWritePixmapScanline (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int rop,
|
||
|
unsigned int planemask,
|
||
|
int transparency_color,
|
||
|
int bpp, int depth
|
||
|
);
|
||
|
|
||
|
typedef void (*ClipAndRenderRectsFunc)(GCPtr, int, BoxPtr, int, int);
|
||
|
|
||
|
|
||
|
void
|
||
|
XAAClipAndRenderRects(
|
||
|
GCPtr pGC,
|
||
|
ClipAndRenderRectsFunc func,
|
||
|
int nrectFill,
|
||
|
xRectangle *prectInit,
|
||
|
int xorg, int yorg
|
||
|
);
|
||
|
|
||
|
|
||
|
typedef void (*ClipAndRenderSpansFunc)(GCPtr, int, DDXPointPtr, int*,
|
||
|
int, int, int);
|
||
|
|
||
|
void
|
||
|
XAAClipAndRenderSpans(
|
||
|
GCPtr pGC,
|
||
|
DDXPointPtr ppt,
|
||
|
int *pwidth,
|
||
|
int nspans,
|
||
|
int fSorted,
|
||
|
ClipAndRenderSpansFunc func,
|
||
|
int xorg,
|
||
|
int yorg
|
||
|
);
|
||
|
|
||
|
|
||
|
void
|
||
|
XAAFillSolidRects(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int nBox,
|
||
|
BoxPtr pBox
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillMono8x8PatternRects(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int nBox,
|
||
|
BoxPtr pBox,
|
||
|
int pat0, int pat1,
|
||
|
int xorg, int yorg
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillMono8x8PatternRectsScreenOrigin(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int nBox,
|
||
|
BoxPtr pBox,
|
||
|
int pat0, int pat1,
|
||
|
int xorg, int yorg
|
||
|
);
|
||
|
|
||
|
|
||
|
void
|
||
|
XAAFillColor8x8PatternRectsScreenOrigin(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int rop,
|
||
|
unsigned int planemask,
|
||
|
int nBox,
|
||
|
BoxPtr pBox,
|
||
|
int xorigin, int yorigin,
|
||
|
XAACacheInfoPtr pCache
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillColor8x8PatternRects(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int rop,
|
||
|
unsigned int planemask,
|
||
|
int nBox,
|
||
|
BoxPtr pBox,
|
||
|
int xorigin, int yorigin,
|
||
|
XAACacheInfoPtr pCache
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillCacheBltRects(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int rop,
|
||
|
unsigned int planemask,
|
||
|
int nBox,
|
||
|
BoxPtr pBox,
|
||
|
int xorg, int yorg,
|
||
|
XAACacheInfoPtr pCache
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillCacheExpandRects(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int nBox,
|
||
|
BoxPtr pBox,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillImageWriteRects(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int rop,
|
||
|
unsigned int planemask,
|
||
|
int nBox,
|
||
|
BoxPtr pBox,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAPolyFillRect(
|
||
|
DrawablePtr pDraw,
|
||
|
GCPtr pGC,
|
||
|
int nrectFill,
|
||
|
xRectangle *prectInit
|
||
|
);
|
||
|
|
||
|
|
||
|
void
|
||
|
XAATEGlyphRendererMSBFirstFixedBase (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h, int skipleft, int startline,
|
||
|
unsigned int **glyphs, int glyphWidth,
|
||
|
int fg, int bg, int rop, unsigned planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAATEGlyphRenderer3MSBFirstFixedBase (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h, int skipleft, int startline,
|
||
|
unsigned int **glyphs, int glyphWidth,
|
||
|
int fg, int bg, int rop, unsigned planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAATEGlyphRendererMSBFirst (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h, int skipleft, int startline,
|
||
|
unsigned int **glyphs, int glyphWidth,
|
||
|
int fg, int bg, int rop, unsigned planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAATEGlyphRenderer3MSBFirst (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h, int skipleft, int startline,
|
||
|
unsigned int **glyphs, int glyphWidth,
|
||
|
int fg, int bg, int rop, unsigned planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAATEGlyphRendererLSBFirstFixedBase (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h, int skipleft, int startline,
|
||
|
unsigned int **glyphs, int glyphWidth,
|
||
|
int fg, int bg, int rop, unsigned planemask
|
||
|
);
|
||
|
|
||
|
|
||
|
void
|
||
|
XAATEGlyphRenderer3LSBFirstFixedBase (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h, int skipleft, int startline,
|
||
|
unsigned int **glyphs, int glyphWidth,
|
||
|
int fg, int bg, int rop, unsigned planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAATEGlyphRendererLSBFirst (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h, int skipleft, int startline,
|
||
|
unsigned int **glyphs, int glyphWidth,
|
||
|
int fg, int bg, int rop, unsigned planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAATEGlyphRenderer3LSBFirst (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h, int skipleft, int startline,
|
||
|
unsigned int **glyphs, int glyphWidth,
|
||
|
int fg, int bg, int rop, unsigned planemask
|
||
|
);
|
||
|
|
||
|
|
||
|
void
|
||
|
XAATEGlyphRendererScanlineMSBFirst (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h, int skipleft, int startline,
|
||
|
unsigned int **glyphs, int glyphWidth,
|
||
|
int fg, int bg, int rop, unsigned planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAATEGlyphRendererScanline3MSBFirst (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h, int skipleft, int startline,
|
||
|
unsigned int **glyphs, int glyphWidth,
|
||
|
int fg, int bg, int rop, unsigned planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAATEGlyphRendererScanlineLSBFirst (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h, int skipleft, int startline,
|
||
|
unsigned int **glyphs, int glyphWidth,
|
||
|
int fg, int bg, int rop, unsigned planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAATEGlyphRendererScanline3LSBFirst (
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h, int skipleft, int startline,
|
||
|
unsigned int **glyphs, int glyphWidth,
|
||
|
int fg, int bg, int rop, unsigned planemask
|
||
|
);
|
||
|
|
||
|
|
||
|
extern CARD32 *(*XAAGlyphScanlineFuncMSBFirstFixedBase[32])(
|
||
|
CARD32 *base, unsigned int **glyphp, int line, int nglyph, int width
|
||
|
);
|
||
|
|
||
|
extern CARD32 *(*XAAGlyphScanlineFuncMSBFirst[32])(
|
||
|
CARD32 *base, unsigned int **glyphp, int line, int nglyph, int width
|
||
|
);
|
||
|
|
||
|
extern CARD32 *(*XAAGlyphScanlineFuncLSBFirstFixedBase[32])(
|
||
|
CARD32 *base, unsigned int **glyphp, int line, int nglyph, int width
|
||
|
);
|
||
|
|
||
|
extern CARD32 *(*XAAGlyphScanlineFuncLSBFirst[32])(
|
||
|
CARD32 *base, unsigned int **glyphp, int line, int nglyph, int width
|
||
|
);
|
||
|
|
||
|
GlyphScanlineFuncPtr *XAAGetGlyphScanlineFuncMSBFirstFixedBase(void);
|
||
|
GlyphScanlineFuncPtr *XAAGetGlyphScanlineFuncMSBFirst(void);
|
||
|
GlyphScanlineFuncPtr *XAAGetGlyphScanlineFuncLSBFirstFixedBase(void);
|
||
|
GlyphScanlineFuncPtr *XAAGetGlyphScanlineFuncLSBFirst(void);
|
||
|
|
||
|
void
|
||
|
XAAFillColorExpandRectsLSBFirst(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int nBox,
|
||
|
BoxPtr pBox,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillColorExpandRects3LSBFirst(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int nBox,
|
||
|
BoxPtr pBox,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillColorExpandRectsLSBFirstFixedBase(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int nBox,
|
||
|
BoxPtr pBox,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillColorExpandRects3LSBFirstFixedBase(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int nBox,
|
||
|
BoxPtr pBox,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillColorExpandRectsMSBFirst(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int nBox,
|
||
|
BoxPtr pBox,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillColorExpandRects3MSBFirst(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int nBox,
|
||
|
BoxPtr pBox,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillColorExpandRectsMSBFirstFixedBase(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int nBox,
|
||
|
BoxPtr pBox,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillColorExpandRects3MSBFirstFixedBase(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int nBox,
|
||
|
BoxPtr pBox,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillScanlineColorExpandRectsLSBFirst(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int nBox,
|
||
|
BoxPtr pBox,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillScanlineColorExpandRects3LSBFirst(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int nBox,
|
||
|
BoxPtr pBox,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillScanlineColorExpandRectsMSBFirst(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int nBox,
|
||
|
BoxPtr pBox,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillScanlineColorExpandRects3MSBFirst(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int nBox,
|
||
|
BoxPtr pBox,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillColorExpandSpansLSBFirst(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int n,
|
||
|
DDXPointPtr ppt,
|
||
|
int *pwidth,
|
||
|
int fSorted,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillColorExpandSpans3LSBFirst(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int n,
|
||
|
DDXPointPtr ppt,
|
||
|
int *pwidth,
|
||
|
int fSorted,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillColorExpandSpansLSBFirstFixedBase(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int n,
|
||
|
DDXPointPtr ppt,
|
||
|
int *pwidth,
|
||
|
int fSorted,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillColorExpandSpans3LSBFirstFixedBase(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int n,
|
||
|
DDXPointPtr ppt,
|
||
|
int *pwidth,
|
||
|
int fSorted,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillColorExpandSpansMSBFirst(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int n,
|
||
|
DDXPointPtr ppt,
|
||
|
int *pwidth,
|
||
|
int fSorted,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillColorExpandSpans3MSBFirst(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int n,
|
||
|
DDXPointPtr ppt,
|
||
|
int *pwidth,
|
||
|
int fSorted,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillColorExpandSpansMSBFirstFixedBase(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int n,
|
||
|
DDXPointPtr ppt,
|
||
|
int *pwidth,
|
||
|
int fSorted,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillColorExpandSpans3MSBFirstFixedBase(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int n,
|
||
|
DDXPointPtr ppt,
|
||
|
int *pwidth,
|
||
|
int fSorted,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillScanlineColorExpandSpansLSBFirst(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int n,
|
||
|
DDXPointPtr ppt,
|
||
|
int *pwidth,
|
||
|
int fSorted,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillScanlineColorExpandSpans3LSBFirst(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int n,
|
||
|
DDXPointPtr ppt,
|
||
|
int *pwidth,
|
||
|
int fSorted,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAPutImage(
|
||
|
DrawablePtr pDraw,
|
||
|
GCPtr pGC,
|
||
|
int depth,
|
||
|
int x,
|
||
|
int y,
|
||
|
int w,
|
||
|
int h,
|
||
|
int leftPad,
|
||
|
int format,
|
||
|
char *pImage
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillScanlineColorExpandSpansMSBFirst(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int n,
|
||
|
DDXPointPtr ppt,
|
||
|
int *pwidth,
|
||
|
int fSorted,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillScanlineColorExpandSpans3MSBFirst(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int n,
|
||
|
DDXPointPtr ppt,
|
||
|
int *pwidth,
|
||
|
int fSorted,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
|
||
|
extern CARD32 *(*XAAStippleScanlineFuncMSBFirstFixedBase[6])(
|
||
|
CARD32* base, CARD32* src, int offset, int width, int dwords
|
||
|
);
|
||
|
|
||
|
extern CARD32 *(*XAAStippleScanlineFuncMSBFirst[6])(
|
||
|
CARD32* base, CARD32* src, int offset, int width, int dwords
|
||
|
);
|
||
|
|
||
|
extern CARD32 *(*XAAStippleScanlineFuncLSBFirstFixedBase[6])(
|
||
|
CARD32* base, CARD32* src, int offset, int width, int dwords
|
||
|
);
|
||
|
|
||
|
extern CARD32 *(*XAAStippleScanlineFuncLSBFirst[6])(
|
||
|
CARD32* base, CARD32* src, int offset, int width, int dwords
|
||
|
);
|
||
|
|
||
|
StippleScanlineProcPtr *XAAGetStippleScanlineFuncMSBFirstFixedBase(void);
|
||
|
StippleScanlineProcPtr *XAAGetStippleScanlineFuncMSBFirst(void);
|
||
|
StippleScanlineProcPtr *XAAGetStippleScanlineFuncLSBFirstFixedBase(void);
|
||
|
StippleScanlineProcPtr *XAAGetStippleScanlineFuncLSBFirst(void);
|
||
|
|
||
|
int
|
||
|
XAAPolyText8TEColorExpansion(
|
||
|
DrawablePtr pDraw,
|
||
|
GCPtr pGC,
|
||
|
int x, int y,
|
||
|
int count,
|
||
|
char *chars
|
||
|
);
|
||
|
|
||
|
int
|
||
|
XAAPolyText16TEColorExpansion(
|
||
|
DrawablePtr pDraw,
|
||
|
GCPtr pGC,
|
||
|
int x, int y,
|
||
|
int count,
|
||
|
unsigned short *chars
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAImageText8TEColorExpansion(
|
||
|
DrawablePtr pDraw,
|
||
|
GCPtr pGC,
|
||
|
int x, int y,
|
||
|
int count,
|
||
|
char *chars
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAImageText16TEColorExpansion(
|
||
|
DrawablePtr pDraw,
|
||
|
GCPtr pGC,
|
||
|
int x, int y,
|
||
|
int count,
|
||
|
unsigned short *chars
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAImageGlyphBltTEColorExpansion(
|
||
|
DrawablePtr pDrawable,
|
||
|
GCPtr pGC,
|
||
|
int xInit, int yInit,
|
||
|
unsigned int nglyph,
|
||
|
CharInfoPtr *ppci,
|
||
|
pointer pglyphBase
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAPolyGlyphBltTEColorExpansion(
|
||
|
DrawablePtr pDrawable,
|
||
|
GCPtr pGC,
|
||
|
int xInit, int yInit,
|
||
|
unsigned int nglyph,
|
||
|
CharInfoPtr *ppci,
|
||
|
pointer pglyphBase
|
||
|
);
|
||
|
|
||
|
|
||
|
int
|
||
|
XAAPolyText8NonTEColorExpansion(
|
||
|
DrawablePtr pDraw,
|
||
|
GCPtr pGC,
|
||
|
int x, int y,
|
||
|
int count,
|
||
|
char *chars
|
||
|
);
|
||
|
|
||
|
int
|
||
|
XAAPolyText16NonTEColorExpansion(
|
||
|
DrawablePtr pDraw,
|
||
|
GCPtr pGC,
|
||
|
int x, int y,
|
||
|
int count,
|
||
|
unsigned short *chars
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAImageText8NonTEColorExpansion(
|
||
|
DrawablePtr pDraw,
|
||
|
GCPtr pGC,
|
||
|
int x, int y,
|
||
|
int count,
|
||
|
char *chars
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAImageText16NonTEColorExpansion(
|
||
|
DrawablePtr pDraw,
|
||
|
GCPtr pGC,
|
||
|
int x, int y,
|
||
|
int count,
|
||
|
unsigned short *chars
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAImageGlyphBltNonTEColorExpansion(
|
||
|
DrawablePtr pDrawable,
|
||
|
GCPtr pGC,
|
||
|
int xInit, int yInit,
|
||
|
unsigned int nglyph,
|
||
|
CharInfoPtr *ppci,
|
||
|
pointer pglyphBase
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAPolyGlyphBltNonTEColorExpansion(
|
||
|
DrawablePtr pDrawable,
|
||
|
GCPtr pGC,
|
||
|
int xInit, int yInit,
|
||
|
unsigned int nglyph,
|
||
|
CharInfoPtr *ppci,
|
||
|
pointer pglyphBase
|
||
|
);
|
||
|
|
||
|
|
||
|
void XAANonTEGlyphRenderer(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int n,
|
||
|
NonTEGlyphPtr glyphs,
|
||
|
BoxPtr pbox,
|
||
|
int fg, int rop,
|
||
|
unsigned int planemask
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillSolidSpans(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int n,
|
||
|
DDXPointPtr ppt,
|
||
|
int *pwidth, int fSorted
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillMono8x8PatternSpans(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int n,
|
||
|
DDXPointPtr ppt,
|
||
|
int *pwidth, int fSorted,
|
||
|
int patx, int paty,
|
||
|
int xorg, int yorg
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillMono8x8PatternSpansScreenOrigin(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int n,
|
||
|
DDXPointPtr ppt,
|
||
|
int *pwidth, int fSorted,
|
||
|
int patx, int paty,
|
||
|
int xorg, int yorg
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillColor8x8PatternSpansScreenOrigin(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int rop,
|
||
|
unsigned int planemask,
|
||
|
int n,
|
||
|
DDXPointPtr ppt,
|
||
|
int *pwidth, int fSorted,
|
||
|
XAACacheInfoPtr,
|
||
|
int xorigin, int yorigin
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillColor8x8PatternSpans(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int rop,
|
||
|
unsigned int planemask,
|
||
|
int n,
|
||
|
DDXPointPtr ppt,
|
||
|
int *pwidth, int fSorted,
|
||
|
XAACacheInfoPtr,
|
||
|
int xorigin, int yorigin
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillCacheBltSpans(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int rop,
|
||
|
unsigned int planemask,
|
||
|
int n,
|
||
|
DDXPointPtr points,
|
||
|
int *widths,
|
||
|
int fSorted,
|
||
|
XAACacheInfoPtr pCache,
|
||
|
int xorg, int yorg
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillCacheExpandSpans(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int fg, int bg, int rop,
|
||
|
unsigned int planemask,
|
||
|
int n,
|
||
|
DDXPointPtr ppt,
|
||
|
int *pwidth,
|
||
|
int fSorted,
|
||
|
int xorg, int yorg,
|
||
|
PixmapPtr pPix
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillSpans(
|
||
|
DrawablePtr pDrawable,
|
||
|
GC *pGC,
|
||
|
int nInit,
|
||
|
DDXPointPtr pptInit,
|
||
|
int *pwidth,
|
||
|
int fSorted
|
||
|
);
|
||
|
|
||
|
|
||
|
void
|
||
|
XAAInitPixmapCache(
|
||
|
ScreenPtr pScreen,
|
||
|
RegionPtr areas,
|
||
|
pointer data
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAWriteBitmapToCache(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int fg, int bg
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAWriteBitmapToCacheLinear(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int fg, int bg
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAWritePixmapToCache(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int bpp, int depth
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAWritePixmapToCacheLinear(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int w, int h,
|
||
|
unsigned char *src,
|
||
|
int srcwidth,
|
||
|
int bpp, int depth
|
||
|
);
|
||
|
|
||
|
|
||
|
void
|
||
|
XAAPaintWindow(
|
||
|
WindowPtr pWin,
|
||
|
RegionPtr prgn,
|
||
|
int what
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAASolidHorVertLineAsRects(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int len, int dir
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAASolidHorVertLineAsTwoPoint(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int len, int dir
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAASolidHorVertLineAsBresenham(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
int x, int y, int len, int dir
|
||
|
);
|
||
|
|
||
|
|
||
|
void
|
||
|
XAAPolyRectangleThinSolid(
|
||
|
DrawablePtr pDrawable,
|
||
|
GCPtr pGC,
|
||
|
int nRectsInit,
|
||
|
xRectangle *pRectsInit
|
||
|
);
|
||
|
|
||
|
|
||
|
void
|
||
|
XAAPolylinesWideSolid (
|
||
|
DrawablePtr pDrawable,
|
||
|
GCPtr pGC,
|
||
|
int mode,
|
||
|
int npt,
|
||
|
DDXPointPtr pPts
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillPolygonSolid(
|
||
|
DrawablePtr pDrawable,
|
||
|
GCPtr pGC,
|
||
|
int shape,
|
||
|
int mode,
|
||
|
int count,
|
||
|
DDXPointPtr ptsIn
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillPolygonStippled(
|
||
|
DrawablePtr pDrawable,
|
||
|
GCPtr pGC,
|
||
|
int shape,
|
||
|
int mode,
|
||
|
int count,
|
||
|
DDXPointPtr ptsIn
|
||
|
);
|
||
|
|
||
|
|
||
|
void
|
||
|
XAAFillPolygonTiled(
|
||
|
DrawablePtr pDrawable,
|
||
|
GCPtr pGC,
|
||
|
int shape,
|
||
|
int mode,
|
||
|
int count,
|
||
|
DDXPointPtr ptsIn
|
||
|
);
|
||
|
|
||
|
|
||
|
int
|
||
|
XAAIsEasyPolygon(
|
||
|
DDXPointPtr ptsIn,
|
||
|
int count,
|
||
|
BoxPtr extents,
|
||
|
int origin,
|
||
|
DDXPointPtr *topPoint,
|
||
|
int *topY, int *bottomY,
|
||
|
int shape
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAFillPolygonHelper(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
DDXPointPtr ptsIn,
|
||
|
int count,
|
||
|
DDXPointPtr topPoint,
|
||
|
int y,
|
||
|
int maxy,
|
||
|
int origin,
|
||
|
RectFuncPtr RectFunc,
|
||
|
TrapFuncPtr TrapFunc,
|
||
|
int xorg,
|
||
|
int yorg,
|
||
|
XAACacheInfoPtr pCache
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAPolySegment(
|
||
|
DrawablePtr pDrawable,
|
||
|
GCPtr pGC,
|
||
|
int nseg,
|
||
|
xSegment *pSeg
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAPolyLines(
|
||
|
DrawablePtr pDrawable,
|
||
|
GCPtr pGC,
|
||
|
int mode,
|
||
|
int npt,
|
||
|
DDXPointPtr pptInit
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAPolySegmentDashed(
|
||
|
DrawablePtr pDrawable,
|
||
|
GCPtr pGC,
|
||
|
int nseg,
|
||
|
xSegment *pSeg
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAAPolyLinesDashed(
|
||
|
DrawablePtr pDrawable,
|
||
|
GCPtr pGC,
|
||
|
int mode,
|
||
|
int npt,
|
||
|
DDXPointPtr pptInit
|
||
|
);
|
||
|
|
||
|
|
||
|
void
|
||
|
XAAWriteMono8x8PatternToCache(ScrnInfoPtr pScrn, XAACacheInfoPtr pCache);
|
||
|
|
||
|
void
|
||
|
XAAWriteColor8x8PatternToCache(
|
||
|
ScrnInfoPtr pScrn,
|
||
|
PixmapPtr pPix,
|
||
|
XAACacheInfoPtr pCache
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAARotateMonoPattern(
|
||
|
int *pat0, int *pat1,
|
||
|
int xoffset, int yoffset,
|
||
|
Bool msbfirst
|
||
|
);
|
||
|
|
||
|
void XAAComputeDash(GCPtr pGC);
|
||
|
|
||
|
void XAAMoveDWORDS_FixedBase(
|
||
|
register CARD32* dest,
|
||
|
register CARD32* src,
|
||
|
register int dwords
|
||
|
);
|
||
|
|
||
|
void XAAMoveDWORDS_FixedSrc(
|
||
|
register CARD32* dest,
|
||
|
register CARD32* src,
|
||
|
register int dwords
|
||
|
);
|
||
|
|
||
|
void XAAMoveDWORDS(
|
||
|
register CARD32* dest,
|
||
|
register CARD32* src,
|
||
|
register int dwords
|
||
|
);
|
||
|
|
||
|
int
|
||
|
XAAGetRectClipBoxes(
|
||
|
GCPtr pGC,
|
||
|
BoxPtr pboxClippedBase,
|
||
|
int nrectFill,
|
||
|
xRectangle *prectInit
|
||
|
);
|
||
|
|
||
|
void
|
||
|
XAASetupOverlay8_32Planar(ScreenPtr);
|
||
|
|
||
|
void
|
||
|
XAAPolyFillArcSolid(DrawablePtr pDraw, GCPtr pGC, int narcs, xArc *parcs);
|
||
|
|
||
|
XAACacheInfoPtr
|
||
|
XAACacheTile(ScrnInfoPtr Scrn, PixmapPtr pPix);
|
||
|
|
||
|
XAACacheInfoPtr
|
||
|
XAACacheMonoStipple(ScrnInfoPtr Scrn, PixmapPtr pPix);
|
||
|
|
||
|
XAACacheInfoPtr
|
||
|
XAACachePlanarMonoStipple(ScrnInfoPtr Scrn, PixmapPtr pPix);
|
||
|
|
||
|
typedef XAACacheInfoPtr (*XAACachePlanarMonoStippleProc)(ScrnInfoPtr, PixmapPtr);
|
||
|
XAACachePlanarMonoStippleProc XAAGetCachePlanarMonoStipple(void);
|
||
|
|
||
|
XAACacheInfoPtr
|
||
|
XAACacheStipple(ScrnInfoPtr Scrn, PixmapPtr pPix, int fg, int bg);
|
||
|
|
||
|
XAACacheInfoPtr
|
||
|
XAACacheMono8x8Pattern(ScrnInfoPtr Scrn, int pat0, int pat1);
|
||
|
|
||
|
XAACacheInfoPtr
|
||
|
XAACacheColor8x8Pattern(ScrnInfoPtr Scrn, PixmapPtr pPix, int fg, int bg);
|
||
|
|
||
|
void
|
||
|
XAATileCache(ScrnInfoPtr pScrn, XAACacheInfoPtr pCache, int w, int h);
|
||
|
|
||
|
void XAAClosePixmapCache(ScreenPtr pScreen);
|
||
|
void XAAInvalidatePixmapCache(ScreenPtr pScreen);
|
||
|
|
||
|
Bool XAACheckStippleReducibility(PixmapPtr pPixmap);
|
||
|
Bool XAACheckTileReducibility(PixmapPtr pPixmap, Bool checkMono);
|
||
|
|
||
|
int XAAStippledFillChooser(GCPtr pGC);
|
||
|
int XAAOpaqueStippledFillChooser(GCPtr pGC);
|
||
|
int XAATiledFillChooser(GCPtr pGC);
|
||
|
|
||
|
void XAAMoveInOffscreenPixmaps(ScreenPtr pScreen);
|
||
|
void XAAMoveOutOffscreenPixmaps(ScreenPtr pScreen);
|
||
|
void XAARemoveAreaCallback(FBAreaPtr area);
|
||
|
void XAAMoveOutOffscreenPixmap(PixmapPtr pPix);
|
||
|
Bool XAAInitStateWrap(ScreenPtr pScreen, XAAInfoRecPtr infoRec);
|
||
|
|
||
|
#ifdef RENDER
|
||
|
void
|
||
|
XAAComposite (CARD8 op,
|
||
|
PicturePtr pSrc,
|
||
|
PicturePtr pMask,
|
||
|
PicturePtr pDst,
|
||
|
INT16 xSrc,
|
||
|
INT16 ySrc,
|
||
|
INT16 xMask,
|
||
|
INT16 yMask,
|
||
|
INT16 xDst,
|
||
|
INT16 yDst,
|
||
|
CARD16 width,
|
||
|
CARD16 height);
|
||
|
|
||
|
|
||
|
Bool
|
||
|
XAADoComposite (CARD8 op,
|
||
|
PicturePtr pSrc,
|
||
|
PicturePtr pMask,
|
||
|
PicturePtr pDst,
|
||
|
INT16 xSrc,
|
||
|
INT16 ySrc,
|
||
|
INT16 xMask,
|
||
|
INT16 yMask,
|
||
|
INT16 xDst,
|
||
|
INT16 yDst,
|
||
|
CARD16 width,
|
||
|
CARD16 height);
|
||
|
|
||
|
|
||
|
void
|
||
|
XAAGlyphs (CARD8 op,
|
||
|
PicturePtr pSrc,
|
||
|
PicturePtr pDst,
|
||
|
PictFormatPtr maskFormat,
|
||
|
INT16 xSrc,
|
||
|
INT16 ySrc,
|
||
|
int nlist,
|
||
|
GlyphListPtr list,
|
||
|
GlyphPtr *glyphs);
|
||
|
|
||
|
Bool
|
||
|
XAADoGlyphs (CARD8 op,
|
||
|
PicturePtr pSrc,
|
||
|
PicturePtr pDst,
|
||
|
PictFormatPtr maskFormat,
|
||
|
INT16 xSrc,
|
||
|
INT16 ySrc,
|
||
|
int nlist,
|
||
|
GlyphListPtr list,
|
||
|
GlyphPtr *glyphs);
|
||
|
|
||
|
|
||
|
|
||
|
/* helpers */
|
||
|
void
|
||
|
XAA_888_plus_PICT_a8_to_8888 (
|
||
|
CARD32 color,
|
||
|
CARD8 *alphaPtr, /* in bytes */
|
||
|
int alphaPitch,
|
||
|
CARD32 *dstPtr,
|
||
|
int dstPitch, /* in dwords */
|
||
|
int width,
|
||
|
int height
|
||
|
);
|
||
|
|
||
|
Bool
|
||
|
XAAGetRGBAFromPixel(
|
||
|
CARD32 pixel,
|
||
|
CARD16 *red,
|
||
|
CARD16 *green,
|
||
|
CARD16 *blue,
|
||
|
CARD16 *alpha,
|
||
|
CARD32 format
|
||
|
);
|
||
|
|
||
|
|
||
|
Bool
|
||
|
XAAGetPixelFromRGBA (
|
||
|
CARD32 *pixel,
|
||
|
CARD16 red,
|
||
|
CARD16 green,
|
||
|
CARD16 blue,
|
||
|
CARD16 alpha,
|
||
|
CARD32 format
|
||
|
);
|
||
|
|
||
|
#endif
|
||
|
|
||
|
/* XXX should be static */
|
||
|
extern GCOps XAAFallbackOps;
|
||
|
extern GCOps *XAAGetFallbackOps(void);
|
||
|
extern GCFuncs XAAGCFuncs;
|
||
|
extern int XAAGetScreenIndex(void);
|
||
|
extern int XAAGetGCIndex(void);
|
||
|
extern int XAAGetPixmapIndex(void);
|
||
|
|
||
|
extern unsigned int XAAShiftMasks[32];
|
||
|
|
||
|
extern unsigned int byte_expand3[256], byte_reversed_expand3[256];
|
||
|
|
||
|
CARD32 XAAReverseBitOrder(CARD32 data);
|
||
|
|
||
|
#define GET_XAASCREENPTR_FROM_SCREEN(pScreen)\
|
||
|
(pScreen)->devPrivates[XAAGetScreenIndex()].ptr
|
||
|
|
||
|
#define GET_XAASCREENPTR_FROM_GC(pGC)\
|
||
|
(pGC)->pScreen->devPrivates[XAAGetScreenIndex()].ptr
|
||
|
|
||
|
#define GET_XAASCREENPTR_FROM_DRAWABLE(pDraw)\
|
||
|
(pDraw)->pScreen->devPrivates[XAAGetScreenIndex()].ptr
|
||
|
|
||
|
#define GET_XAAINFORECPTR_FROM_SCREEN(pScreen)\
|
||
|
((XAAScreenPtr)((pScreen)->devPrivates[XAAGetScreenIndex()].ptr))->AccelInfoRec
|
||
|
|
||
|
#define GET_XAAINFORECPTR_FROM_GC(pGC)\
|
||
|
((XAAScreenPtr)((pGC)->pScreen->devPrivates[XAAGetScreenIndex()].ptr))->AccelInfoRec
|
||
|
|
||
|
#define GET_XAAINFORECPTR_FROM_DRAWABLE(pDraw)\
|
||
|
((XAAScreenPtr)((pDraw)->pScreen->devPrivates[XAAGetScreenIndex()].ptr))->AccelInfoRec
|
||
|
|
||
|
#define GET_XAAINFORECPTR_FROM_SCRNINFOPTR(pScrn)\
|
||
|
((XAAScreenPtr)((pScrn)->pScreen->devPrivates[XAAGetScreenIndex()].ptr))->AccelInfoRec
|
||
|
|
||
|
#define XAA_GET_PIXMAP_PRIVATE(pix)\
|
||
|
(XAAPixmapPtr)((pix)->devPrivates[XAAGetPixmapIndex()].ptr)
|
||
|
|
||
|
#define CHECK_RGB_EQUAL(c) (!((((c) >> 8) ^ (c)) & 0xffff))
|
||
|
|
||
|
#define CHECK_FG(pGC, flags) \
|
||
|
(!(flags & RGB_EQUAL) || CHECK_RGB_EQUAL(pGC->fgPixel))
|
||
|
|
||
|
#define CHECK_BG(pGC, flags) \
|
||
|
(!(flags & RGB_EQUAL) || CHECK_RGB_EQUAL(pGC->bgPixel))
|
||
|
|
||
|
#define CHECK_ROP(pGC, flags) \
|
||
|
(!(flags & GXCOPY_ONLY) || (pGC->alu == GXcopy))
|
||
|
|
||
|
#define CHECK_ROPSRC(pGC, flags) \
|
||
|
(!(flags & ROP_NEEDS_SOURCE) || ((pGC->alu != GXclear) && \
|
||
|
(pGC->alu != GXnoop) && (pGC->alu != GXinvert) && \
|
||
|
(pGC->alu != GXset)))
|
||
|
|
||
|
#define CHECK_PLANEMASK(pGC, flags) \
|
||
|
(!(flags & NO_PLANEMASK) || \
|
||
|
((pGC->planemask & infoRec->FullPlanemasks[pGC->depth - 1]) == \
|
||
|
infoRec->FullPlanemasks[pGC->depth - 1]))
|
||
|
|
||
|
#define CHECK_COLORS(pGC, flags) \
|
||
|
(!(flags & RGB_EQUAL) || \
|
||
|
(CHECK_RGB_EQUAL(pGC->fgPixel) && CHECK_RGB_EQUAL(pGC->bgPixel)))
|
||
|
|
||
|
#define CHECK_NO_GXCOPY(pGC, flags) \
|
||
|
((pGC->alu != GXcopy) || !(flags & NO_GXCOPY) || \
|
||
|
((pGC->planemask & infoRec->FullPlanemask) != infoRec->FullPlanemask))
|
||
|
|
||
|
#define IS_OFFSCREEN_PIXMAP(pPix)\
|
||
|
((XAA_GET_PIXMAP_PRIVATE((PixmapPtr)(pPix)))->offscreenArea)
|
||
|
|
||
|
#define PIXMAP_IS_SHARED(pPix)\
|
||
|
((XAA_GET_PIXMAP_PRIVATE((PixmapPtr)(pPix)))->flags & SHARED_PIXMAP)
|
||
|
|
||
|
#define OFFSCREEN_PIXMAP_LOCKED(pPix)\
|
||
|
((XAA_GET_PIXMAP_PRIVATE((PixmapPtr)(pPix)))->flags & LOCKED_PIXMAP)
|
||
|
|
||
|
#define XAA_DEPTH_BUG(pGC) \
|
||
|
((pGC->depth == 32) && (pGC->bgPixel == 0xffffffff))
|
||
|
|
||
|
#define DELIST_OFFSCREEN_PIXMAP(pPix) { \
|
||
|
PixmapLinkPtr _pLink, _prev; \
|
||
|
_pLink = infoRec->OffscreenPixmaps; \
|
||
|
_prev = NULL; \
|
||
|
while(_pLink) { \
|
||
|
if(_pLink->pPix == pPix) { \
|
||
|
if(_prev) _prev->next = _pLink->next; \
|
||
|
else infoRec->OffscreenPixmaps = _pLink->next; \
|
||
|
xfree(_pLink); \
|
||
|
break; \
|
||
|
} \
|
||
|
_prev = _pLink; \
|
||
|
_pLink = _pLink->next; \
|
||
|
}}
|
||
|
|
||
|
|
||
|
#define SWAP_BITS_IN_BYTES(v) \
|
||
|
(((0x01010101 & (v)) << 7) | ((0x02020202 & (v)) << 5) | \
|
||
|
((0x04040404 & (v)) << 3) | ((0x08080808 & (v)) << 1) | \
|
||
|
((0x10101010 & (v)) >> 1) | ((0x20202020 & (v)) >> 3) | \
|
||
|
((0x40404040 & (v)) >> 5) | ((0x80808080 & (v)) >> 7))
|
||
|
|
||
|
/*
|
||
|
* Moved XAAPixmapCachePrivate here from xaaPCache.c, since driver
|
||
|
* replacements for CacheMonoStipple need access to it
|
||
|
*/
|
||
|
|
||
|
typedef struct {
|
||
|
int Num512x512;
|
||
|
int Current512;
|
||
|
XAACacheInfoPtr Info512;
|
||
|
int Num256x256;
|
||
|
int Current256;
|
||
|
XAACacheInfoPtr Info256;
|
||
|
int Num128x128;
|
||
|
int Current128;
|
||
|
XAACacheInfoPtr Info128;
|
||
|
int NumMono;
|
||
|
int CurrentMono;
|
||
|
XAACacheInfoPtr InfoMono;
|
||
|
int NumColor;
|
||
|
int CurrentColor;
|
||
|
XAACacheInfoPtr InfoColor;
|
||
|
int NumPartial;
|
||
|
int CurrentPartial;
|
||
|
XAACacheInfoPtr InfoPartial;
|
||
|
DDXPointRec MonoOffsets[64];
|
||
|
DDXPointRec ColorOffsets[64];
|
||
|
} XAAPixmapCachePrivate, *XAAPixmapCachePrivatePtr;
|
||
|
|
||
|
|
||
|
#endif /* _XAALOCAL_H */
|