b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* $XFree86$ */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifndef _CFB8_32WID_H
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define _CFB8_32WID_H
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "regionstr.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "windowstr.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int (*WidGet)(WindowPtr);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Bool (*WidAlloc)(WindowPtr);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync void (*WidFree)(WindowPtr);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync void (*WidFillBox)(DrawablePtr, DrawablePtr, int, BoxPtr);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync void (*WidCopyArea)(DrawablePtr, RegionPtr, DDXPointPtr);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} cfb8_32WidOps;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer pix8;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width8;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer pix32;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width32;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync /* WID information */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer pixWid;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int widthWid;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int bitsPerWid;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync cfb8_32WidOps *WIDOps;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} cfb8_32WidScreenRec, *cfb8_32WidScreenPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int cfb8_32WidScreenPrivateIndex; /* XXX */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int cfb8_32WidGetScreenPrivateIndex(void);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccfb8_32WidScreenInit (
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ScreenPtr pScreen,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer pbits32,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer pbits8,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer pbitsWid,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xsize, int ysize,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int dpix, int dpiy,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width32,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int width8,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int widthWid,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int bitsPerWid,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync cfb8_32WidOps *WIDOps
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* cfbwindow.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccfb8_32WidPaintWindow (
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr pWin,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr pRegion,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int what
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool cfb8_32WidCreateWindow(WindowPtr pWin);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool cfb8_32WidDestroyWindow(WindowPtr pWin);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccfb8_32WidPositionWindow(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr pWin,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x, int y
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccfb8_32WidCopyWindow(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr pWin,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointRec ptOldOrg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr prgnSrc
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccfb8_32WidChangeWindowAttributes(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr pWin,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long mask
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccfb8_32WidWindowExposures(
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync WindowPtr pWin,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr pReg,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr pOtherReg
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* cfbwid.c */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccfb8_32WidGenericOpsInit(cfb8_32WidScreenPtr pScreenPriv);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define CFB8_32WID_GET_SCREEN_PRIVATE(pScreen)\
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync (cfb8_32WidScreenPtr)((pScreen)->devPrivates[cfb8_32WidGetScreenPrivateIndex()].ptr)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif /* _CFB8_32WID_H */