xserver-multidpi/hw/xfree86/xf8_32bpp/cfb8_32.h
Adam Jackson 48514fee3c Bug #400 (partial): Driver fixes for the dlloader. When using dlloader, all
framebuffer formats except cfb and the overlay modes should work, and
    r128 and radeon need to be loaded from the ati driver (both issues to
    be fixed soon). Tested on i740, s3virge, mach64, tdfx, vesa, and vga
    drivers. elfloader users shouldn't be affected.
2004-07-30 20:30:57 +00:00

225 lines
3.8 KiB
C

/* $XFree86: xc/programs/Xserver/hw/xfree86/xf8_32bpp/cfb8_32.h,v 1.5 2000/03/02 02:32:52 mvojkovi Exp $ */
#ifndef _CFB8_32_H
#define _CFB8_32_H
#include "gcstruct.h"
typedef struct {
GCOps *Ops8bpp;
GCOps *Ops32bpp;
unsigned long changes;
Bool OpsAre8bpp;
} cfb8_32GCRec, *cfb8_32GCPtr;
typedef struct {
unsigned char key;
void (*EnableDisableFBAccess)(int scrnIndex, Bool enable);
pointer visualData;
} cfb8_32ScreenRec, *cfb8_32ScreenPtr;
extern int cfb8_32GCPrivateIndex; /* XXX */
extern int cfb8_32GetGCPrivateIndex(void);
extern int cfb8_32ScreenPrivateIndex; /* XXX */
extern int cfb8_32GetScreenPrivateIndex(void);
void
cfb8_32SaveAreas(
PixmapPtr pPixmap,
RegionPtr prgnSave,
int xorg,
int yorg,
WindowPtr pWin
);
void
cfb8_32RestoreAreas(
PixmapPtr pPixmap,
RegionPtr prgnRestore,
int xorg,
int yorg,
WindowPtr pWin
);
RegionPtr
cfb8_32CopyArea(
DrawablePtr pSrcDraw,
DrawablePtr pDstDraw,
GC *pGC,
int srcx, int srcy,
int width, int height,
int dstx, int dsty
);
void
cfbDoBitblt8To32(
DrawablePtr pSrc,
DrawablePtr pDst,
int rop,
RegionPtr prgnDst,
DDXPointPtr pptSrc,
unsigned long planemask
);
void
cfbDoBitblt32To8(
DrawablePtr pSrc,
DrawablePtr pDst,
int rop,
RegionPtr prgnDst,
DDXPointPtr pptSrc,
unsigned long planemask
);
void
cfb8_32ValidateGC8(
GCPtr pGC,
unsigned long changes,
DrawablePtr pDrawable
);
void
cfb8_32ValidateGC32(
GCPtr pGC,
unsigned long changes,
DrawablePtr pDrawable
);
void
cfb32ValidateGC_Underlay(
GCPtr pGC,
unsigned long changes,
DrawablePtr pDrawable
);
Bool cfb8_32CreateGC(GCPtr pGC);
void
cfb8_32GetSpans(
DrawablePtr pDraw,
int wMax,
DDXPointPtr ppt,
int *pwidth,
int nspans,
char *pchardstStart
);
void
cfb8_32PutImage (
DrawablePtr pDraw,
GCPtr pGC,
int depth,
int x, int y, int w, int h,
int leftPad,
int format,
char *pImage
);
void
cfb8_32GetImage (
DrawablePtr pDraw,
int sx, int sy, int w, int h,
unsigned int format,
unsigned long planeMask,
char *pdstLine
);
void
cfb8_32PaintWindow (
WindowPtr pWin,
RegionPtr pRegion,
int what
);
Bool
cfb8_32ScreenInit (
ScreenPtr pScreen,
pointer pbits,
int xsize, int ysize,
int dpix, int dpiy,
int width
);
void
cfb8_32FillBoxSolid8 (
DrawablePtr pDraw,
int nbox,
BoxPtr pBox,
unsigned long color
);
void
cfb8_32FillBoxSolid32 (
DrawablePtr pDraw,
int nbox,
BoxPtr pBox,
unsigned long color
);
RegionPtr
cfb8_32CopyPlane(
DrawablePtr pSrc,
DrawablePtr pDst,
GCPtr pGC,
int srcx, int srcy,
int width, int height,
int dstx, int dsty,
unsigned long bitPlane
);
void
cfbDoBitblt8To8GXcopy(
DrawablePtr pSrc,
DrawablePtr pDst,
int rop,
RegionPtr prgnDst,
DDXPointPtr pptSrc,
unsigned long pm
);
void
cfbDoBitblt24To24GXcopy(
DrawablePtr pSrc,
DrawablePtr pDst,
int rop,
RegionPtr prgnDst,
DDXPointPtr pptSrc,
unsigned long pm
);
Bool cfb8_32CreateWindow(WindowPtr pWin);
Bool cfb8_32DestroyWindow(WindowPtr pWin);
Bool
cfb8_32PositionWindow(
WindowPtr pWin,
int x, int y
);
void
cfb8_32CopyWindow(
WindowPtr pWin,
DDXPointRec ptOldOrg,
RegionPtr prgnSrc
);
Bool
cfb8_32ChangeWindowAttributes(
WindowPtr pWin,
unsigned long mask
);
#define CFB8_32_GET_GC_PRIVATE(pGC)\
(cfb8_32GCPtr)((pGC)->devPrivates[cfb8_32GetGCPrivateIndex()].ptr)
#define CFB8_32_GET_SCREEN_PRIVATE(pScreen)\
(cfb8_32ScreenPtr)((pScreen)->devPrivates[cfb8_32GetScreenPrivateIndex()].ptr)
Bool xf86Overlay8Plus32Init (ScreenPtr pScreen);
#endif /* _CFB8_32_H */