00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00042 #ifndef DMXPICT_H
00043 #define DMXPICT_H
00044
00046 typedef struct _dmxPictPriv {
00047 Picture pict;
00048 Mask savedMask;
00050 } dmxPictPrivRec, *dmxPictPrivPtr;
00051
00052
00054 typedef struct _dmxGlyphPriv {
00055 GlyphSet *glyphSets;
00056 } dmxGlyphPrivRec, *dmxGlyphPrivPtr;
00057
00058
00059 extern void dmxInitRender(void);
00060 extern void dmxResetRender(void);
00061
00062 extern Bool dmxPictureInit(ScreenPtr pScreen,
00063 PictFormatPtr formats, int nformats);
00064
00065 extern void dmxCreatePictureList(WindowPtr pWindow);
00066 extern Bool dmxDestroyPictureList(WindowPtr pWindow);
00067
00068 extern int dmxCreatePicture(PicturePtr pPicture);
00069 extern void dmxDestroyPicture(PicturePtr pPicture);
00070 extern int dmxChangePictureClip(PicturePtr pPicture, int clipType,
00071 pointer value, int n);
00072 extern void dmxDestroyPictureClip(PicturePtr pPicture);
00073 extern void dmxChangePicture(PicturePtr pPicture, Mask mask);
00074 extern void dmxValidatePicture(PicturePtr pPicture, Mask mask);
00075 extern void dmxComposite(CARD8 op,
00076 PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
00077 INT16 xSrc, INT16 ySrc,
00078 INT16 xMask, INT16 yMask,
00079 INT16 xDst, INT16 yDst,
00080 CARD16 width, CARD16 height);
00081 extern void dmxGlyphs(CARD8 op,
00082 PicturePtr pSrc, PicturePtr pDst,
00083 PictFormatPtr maskFormat,
00084 INT16 xSrc, INT16 ySrc,
00085 int nlists, GlyphListPtr lists, GlyphPtr *glyphs);
00086 extern void dmxCompositeRects(CARD8 op,
00087 PicturePtr pDst,
00088 xRenderColor *color,
00089 int nRect, xRectangle *rects);
00090 extern Bool dmxInitIndexed(ScreenPtr pScreen, PictFormatPtr pFormat);
00091 extern void dmxCloseIndexed(ScreenPtr pScreen, PictFormatPtr pFormat);
00092 extern void dmxUpdateIndexed(ScreenPtr pScreen, PictFormatPtr pFormat,
00093 int ndef, xColorItem *pdef);
00094 extern void dmxTrapezoids(CARD8 op,
00095 PicturePtr pSrc, PicturePtr pDst,
00096 PictFormatPtr maskFormat,
00097 INT16 xSrc, INT16 ySrc,
00098 int ntrap, xTrapezoid *traps);
00099 extern void dmxTriangles(CARD8 op,
00100 PicturePtr pSrc, PicturePtr pDst,
00101 PictFormatPtr maskFormat,
00102 INT16 xSrc, INT16 ySrc,
00103 int ntri, xTriangle *tris);
00104 extern void dmxTriStrip(CARD8 op,
00105 PicturePtr pSrc, PicturePtr pDst,
00106 PictFormatPtr maskFormat,
00107 INT16 xSrc, INT16 ySrc,
00108 int npoint, xPointFixed *points);
00109 extern void dmxTriFan(CARD8 op,
00110 PicturePtr pSrc, PicturePtr pDst,
00111 PictFormatPtr maskFormat,
00112 INT16 xSrc, INT16 ySrc,
00113 int npoint, xPointFixed *points);
00114
00115 extern Bool dmxBEFreeGlyphSet(ScreenPtr pScreen, GlyphSetPtr glyphSet);
00116 extern Bool dmxBEFreePicture(PicturePtr pPicture);
00117
00118 extern int dmxPictPrivateIndex;
00119 extern int dmxGlyphSetPrivateIndex;
00123 #define DMX_GET_PICT_PRIV(_pPict) \
00124 (dmxPictPrivPtr)(_pPict)->devPrivates[dmxPictPrivateIndex].ptr
00125
00127 #define DMX_SET_GLYPH_PRIV(_pGlyph, _pPriv) \
00128 GlyphSetSetPrivate((_pGlyph), dmxGlyphSetPrivateIndex, (_pPriv))
00129
00130 #define DMX_GET_GLYPH_PRIV(_pGlyph) \
00131 (dmxGlyphPrivPtr)GlyphSetGetPrivate((_pGlyph), dmxGlyphSetPrivateIndex)
00132
00133 #endif