65fea56f17cd614bc8908264df980a62e1931468vboxsync * Copyright © 2000 SuSE, Inc.
65fea56f17cd614bc8908264df980a62e1931468vboxsync * Permission to use, copy, modify, distribute, and sell this software and its
65fea56f17cd614bc8908264df980a62e1931468vboxsync * documentation for any purpose is hereby granted without fee, provided that
65fea56f17cd614bc8908264df980a62e1931468vboxsync * the above copyright notice appear in all copies and that both that
65fea56f17cd614bc8908264df980a62e1931468vboxsync * copyright notice and this permission notice appear in supporting
65fea56f17cd614bc8908264df980a62e1931468vboxsync * documentation, and that the name of SuSE not be used in advertising or
65fea56f17cd614bc8908264df980a62e1931468vboxsync * publicity pertaining to distribution of the software without specific,
65fea56f17cd614bc8908264df980a62e1931468vboxsync * written prior permission. SuSE makes no representations about the
65fea56f17cd614bc8908264df980a62e1931468vboxsync * suitability of this software for any purpose. It is provided "as is"
65fea56f17cd614bc8908264df980a62e1931468vboxsync * without express or implied warranty.
65fea56f17cd614bc8908264df980a62e1931468vboxsync * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
65fea56f17cd614bc8908264df980a62e1931468vboxsync * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
65fea56f17cd614bc8908264df980a62e1931468vboxsync * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
65fea56f17cd614bc8908264df980a62e1931468vboxsync * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
65fea56f17cd614bc8908264df980a62e1931468vboxsync * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
65fea56f17cd614bc8908264df980a62e1931468vboxsync * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
65fea56f17cd614bc8908264df980a62e1931468vboxsync * Author: Keith Packard, SuSE, Inc.
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct pixman_vector PictVector, *PictVectorPtr;
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct pixman_transform PictTransform, *PictTransformPtr;
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*PictFilterValidateParamsProcPtr) (ScreenPtr pScreen, int id,
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct {
65fea56f17cd614bc8908264df980a62e1931468vboxsync/* if you add an 8th filter, expand the filter bitfield above */
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef struct {
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef int (*CreatePictureProcPtr) (PicturePtr pPicture);
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*DestroyPictureProcPtr) (PicturePtr pPicture);
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef int (*ChangePictureClipProcPtr) (PicturePtr pPicture,
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*DestroyPictureClipProcPtr) (PicturePtr pPicture);
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef int (*ChangePictureTransformProcPtr) (PicturePtr pPicture,
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef int (*ChangePictureFilterProcPtr) (PicturePtr pPicture,
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*DestroyPictureFilterProcPtr) (PicturePtr pPicture);
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*ChangePictureProcPtr) (PicturePtr pPicture, Mask mask);
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*ValidatePictureProcPtr) (PicturePtr pPicture, Mask mask);
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*RasterizeTrapezoidProcPtr) (PicturePtr pMask,
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*InitIndexedProcPtr) (ScreenPtr pScreen, PictFormatPtr pFormat);
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*CloseIndexedProcPtr) (ScreenPtr pScreen, PictFormatPtr pFormat);
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*UpdateIndexedProcPtr) (ScreenPtr pScreen,
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*AddTrapsProcPtr) (PicturePtr pPicture,
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*AddTrianglesProcPtr) (PicturePtr pPicture,
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef Bool (*RealizeGlyphProcPtr) (ScreenPtr pScreen, GlyphPtr glyph);
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef void (*UnrealizeGlyphProcPtr) (ScreenPtr pScreen, GlyphPtr glyph);
65fea56f17cd614bc8908264df980a62e1931468vboxsync * Called immediately after a picture's transform is changed through the
65fea56f17cd614bc8908264df980a62e1931468vboxsync * SetPictureTransform request. Not called for source-only pictures.
65fea56f17cd614bc8908264df980a62e1931468vboxsync ChangePictureTransformProcPtr ChangePictureTransform;
65fea56f17cd614bc8908264df980a62e1931468vboxsync * Called immediately after a picture's transform is changed through the
65fea56f17cd614bc8908264df980a62e1931468vboxsync * SetPictureFilter request. Not called for source-only pictures.
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern _X_EXPORT DevPrivateKeyRec PictureScreenPrivateKeyRec;
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define PictureScreenPrivateKey (&PictureScreenPrivateKeyRec)
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern _X_EXPORT DevPrivateKeyRec PictureWindowPrivateKeyRec;
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define PictureWindowPrivateKey (&PictureWindowPrivateKeyRec)
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define GetPictureScreen(s) ((PictureScreenPtr)dixLookupPrivate(&(s)->devPrivates, PictureScreenPrivateKey))
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define GetPictureScreenIfSet(s) (dixPrivateKeyRegistered(PictureScreenPrivateKey) ? GetPictureScreen(s) : NULL)
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define SetPictureScreen(s,p) dixSetPrivate(&(s)->devPrivates, PictureScreenPrivateKey, p)
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define GetPictureWindow(w) ((PicturePtr)dixLookupPrivate(&(w)->devPrivates, PictureWindowPrivateKey))
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define SetPictureWindow(w,p) dixSetPrivate(&(w)->devPrivates, PictureWindowPrivateKey, p)
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define VERIFY_PICTURE(pPicture, pid, client, mode) {\
65fea56f17cd614bc8908264df980a62e1931468vboxsync int tmprc = dixLookupResourceByType((pointer)&(pPicture), pid,\
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define VERIFY_ALPHA(pPicture, pid, client, mode) {\
65fea56f17cd614bc8908264df980a62e1931468vboxsync PictureStoreColors(ColormapPtr pColormap, int ndef, xColorItem * pdef);
65fea56f17cd614bc8908264df980a62e1931468vboxsync PictureInitIndexedFormat(ScreenPtr pScreen, PictFormatPtr format);
65fea56f17cd614bc8908264df980a62e1931468vboxsync PictureSetSubpixelOrder(ScreenPtr pScreen, int subpixel);
65fea56f17cd614bc8908264df980a62e1931468vboxsyncPictureCreateDefaultFormats(ScreenPtr pScreen, int *nformatp);
65fea56f17cd614bc8908264df980a62e1931468vboxsyncPictureMatchVisual(ScreenPtr pScreen, int depth, VisualPtr pVisual);
65fea56f17cd614bc8908264df980a62e1931468vboxsyncPictureMatchFormat(ScreenPtr pScreen, int depth, CARD32 format);
65fea56f17cd614bc8908264df980a62e1931468vboxsync PictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats);
65fea56f17cd614bc8908264df980a62e1931468vboxsync PictureGetFilterId(const char *filter, int len, Bool makeit);
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern _X_EXPORT char *PictureGetFilterName(int id);
65fea56f17cd614bc8908264df980a62e1931468vboxsync const char *filter,
65fea56f17cd614bc8908264df980a62e1931468vboxsyncPictureSetFilterAlias(ScreenPtr pScreen, const char *filter, const char *alias);
65fea56f17cd614bc8908264df980a62e1931468vboxsyncPictureFindFilter(ScreenPtr pScreen, char *name, int len);
65fea56f17cd614bc8908264df980a62e1931468vboxsyncSetPicturePictFilter(PicturePtr pPicture, PictFilterPtr pFilter,
65fea56f17cd614bc8908264df980a62e1931468vboxsyncSetPictureFilter(PicturePtr pPicture, char *name, int len,
65fea56f17cd614bc8908264df980a62e1931468vboxsync Mask mask, XID *list, ClientPtr client, int *error);
65fea56f17cd614bc8908264df980a62e1931468vboxsync Mask vmask, XID *vlist, DevUnion *ulist, ClientPtr client);
65fea56f17cd614bc8908264df980a62e1931468vboxsync int xOrigin, int yOrigin, int nRect, xRectangle *rects);
65fea56f17cd614bc8908264df980a62e1931468vboxsync SetPictureTransform(PicturePtr pPicture, PictTransform * transform);
65fea56f17cd614bc8908264df980a62e1931468vboxsync CopyPicture(PicturePtr pSrc, Mask mask, PicturePtr pDst);
65fea56f17cd614bc8908264df980a62e1931468vboxsync INT16 xDst, INT16 yDst, CARD16 width, CARD16 height);
65fea56f17cd614bc8908264df980a62e1931468vboxsync INT16 ySrc, int nlist, GlyphListPtr lists, GlyphPtr * glyphs);
65fea56f17cd614bc8908264df980a62e1931468vboxsync xRenderColor * color, int nRect, xRectangle *rects);
65fea56f17cd614bc8908264df980a62e1931468vboxsync INT16 xSrc, INT16 ySrc, int ntrap, xTrapezoid * traps);
65fea56f17cd614bc8908264df980a62e1931468vboxsync INT16 ySrc, int ntriangles, xTriangle * triangles);
65fea56f17cd614bc8908264df980a62e1931468vboxsync INT16 xSrc, INT16 ySrc, int npoints, xPointFixed * points);
65fea56f17cd614bc8908264df980a62e1931468vboxsync INT16 xSrc, INT16 ySrc, int npoints, xPointFixed * points);
65fea56f17cd614bc8908264df980a62e1931468vboxsyncAnimCursorCreate(CursorPtr *cursors, CARD32 *deltas, int ncursor,
65fea56f17cd614bc8908264df980a62e1931468vboxsync INT16 xOff, INT16 yOff, int ntraps, xTrap * traps);
65fea56f17cd614bc8908264df980a62e1931468vboxsyncCreateSolidPicture(Picture pid, xRenderColor * color, int *error);
65fea56f17cd614bc8908264df980a62e1931468vboxsync xFixed * stops, xRenderColor * colors, int *error);
65fea56f17cd614bc8908264df980a62e1931468vboxsync xFixed * stops, xRenderColor * colors, int *error);
65fea56f17cd614bc8908264df980a62e1931468vboxsync xFixed * stops, xRenderColor * colors, int *error);
65fea56f17cd614bc8908264df980a62e1931468vboxsyncPictTransform_from_xRenderTransform(PictTransformPtr pict,
65fea56f17cd614bc8908264df980a62e1931468vboxsyncxRenderTransform_from_PictTransform(xRenderTransform * render,
65fea56f17cd614bc8908264df980a62e1931468vboxsync PictureTransformPoint(PictTransformPtr transform, PictVectorPtr vector);
65fea56f17cd614bc8908264df980a62e1931468vboxsync PictureTransformPoint3d(PictTransformPtr transform, PictVectorPtr vector);
65fea56f17cd614bc8908264df980a62e1931468vboxsync#endif /* _PICTURESTR_H_ */