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