#ifndef DRV_PICT_HOOKS_H #define DRV_PICT_HOOKS_H typedef int (*DrvCreatePictureProcPtr) (PicturePtr pPicture); typedef void (*DrvDestroyPictureProcPtr) (PicturePtr pPicture); typedef void (*DrvCompositeProcPtr) (CARD8 op, DrvPicturePtr pSrc, DrvPicturePtr pMask, DrvPicturePtr pDst, INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask, INT16 xDst, INT16 yDst, CARD16 width, CARD16 height); typedef void (*DrvRasterizeTrapezoidProcPtr)(DrvPicturePtr pMask, xTrapezoid *trap, int x_off, int y_off); typedef void (*DrvAddTrapsProcPtr) (DrvPicturePtr pPicture, INT16 xOff, INT16 yOff, int ntrap, xTrap *traps); typedef void (*DrvAddTrianglesProcPtr) (DrvPicturePtr pPicture, INT16 xOff, INT16 yOff, int ntri, xTriangle *tris); typedef void (*DrvTrapezoidsProcPtr) (CARD8 op, DrvPicturePtr pSrc, DrvPicturePtr pDst, PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int ntrap, xTrapezoid *traps); typedef void (*DrvTrianglesProcPtr) (CARD8 op, DrvPicturePtr pSrc, DrvPicturePtr pDst, PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int ntri, xTriangle *tris); typedef void (*DrvGlyphsProcPtr) (CARD8 op, DrvPicturePtr pSrc, DrvPicturePtr pDst, PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int nlists, GlyphListPtr lists, GlyphPtr *glyphs, int gp_index); struct drv_picture_hooks { DrvCreatePictureProcPtr CreatePicture; DrvDestroyPictureProcPtr DestroyPicture; DrvCompositeProcPtr Composite; DrvRasterizeTrapezoidProcPtr RasterizeTrapezoid; DrvAddTrapsProcPtr AddTraps; DrvAddTrianglesProcPtr AddTriangles; DrvTrapezoidsProcPtr Trapezoids; DrvTrianglesProcPtr Triangles; DrvGlyphsProcPtr Glyphs; }; #endif