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