040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * Copyright © 2000 SuSE, Inc.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * Permission to use, copy, modify, distribute, and sell this software and its
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * documentation for any purpose is hereby granted without fee, provided that
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * the above copyright notice appear in all copies and that both that
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * copyright notice and this permission notice appear in supporting
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * documentation, and that the name of SuSE not be used in advertising or
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * publicity pertaining to distribution of the software without specific,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * written prior permission. SuSE makes no representations about the
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * suitability of this software for any purpose. It is provided "as is"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * without express or implied warranty.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * Author: Keith Packard, SuSE, Inc.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct pixman_vector PictVector, *PictVectorPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct pixman_transform PictTransform, *PictTransformPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int class;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int class;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int class;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int class;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int class;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (*PictFilterValidateParamsProcPtr) (PicturePtr pPicture, int id,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef int (*CreatePictureProcPtr) (PicturePtr pPicture);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*DestroyPictureProcPtr) (PicturePtr pPicture);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef int (*ChangePictureClipProcPtr) (PicturePtr pPicture,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*DestroyPictureClipProcPtr)(PicturePtr pPicture);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef int (*ChangePictureTransformProcPtr) (PicturePtr pPicture,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef int (*ChangePictureFilterProcPtr) (PicturePtr pPicture,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*DestroyPictureFilterProcPtr) (PicturePtr pPicture);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*ChangePictureProcPtr) (PicturePtr pPicture,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*ValidatePictureProcPtr) (PicturePtr pPicture,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*RasterizeTrapezoidProcPtr)(PicturePtr pMask,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (*InitIndexedProcPtr) (ScreenPtr pScreen,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*CloseIndexedProcPtr) (ScreenPtr pScreen,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*UpdateIndexedProcPtr) (ScreenPtr pScreen,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*AddTrapsProcPtr) (PicturePtr pPicture,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*AddTrianglesProcPtr) (PicturePtr pPicture,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (*RealizeGlyphProcPtr) (ScreenPtr pScreen,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*UnrealizeGlyphProcPtr) (ScreenPtr pScreen,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * Called immediately after a picture's transform is changed through the
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * SetPictureTransform request. Not called for source-only pictures.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ChangePictureTransformProcPtr ChangePictureTransform;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * Called immediately after a picture's transform is changed through the
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * SetPictureFilter request. Not called for source-only pictures.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define GetPictureScreen(s) ((PictureScreenPtr)dixLookupPrivate(&(s)->devPrivates, PictureScreenPrivateKey))
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define GetPictureScreenIfSet(s) GetPictureScreen(s)
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SetPictureScreen(s,p) dixSetPrivate(&(s)->devPrivates, PictureScreenPrivateKey, p)
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define GetPictureWindow(w) ((PicturePtr)dixLookupPrivate(&(w)->devPrivates, PictureWindowPrivateKey))
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SetPictureWindow(w,p) dixSetPrivate(&(w)->devPrivates, PictureWindowPrivateKey, p)
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ((PrivateRec **)dixLookupPrivateAddr(&(glyph)->devPrivates, s))
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define VERIFY_PICTURE(pPicture, pid, client, mode, err) {\
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync pPicture = SecurityLookupIDByType(client, pid, PictureType, mode);\
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define VERIFY_ALPHA(pPicture, pid, client, mode, err) {\
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync VERIFY_PICTURE(pPicture, pid, client, mode, err); \
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureStoreColors (ColormapPtr pColormap, int ndef, xColorItem *pdef);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureInitIndexedFormat (ScreenPtr pScreen, PictFormatPtr format);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureSetSubpixelOrder (ScreenPtr pScreen, int subpixel);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureCreateDefaultFormats (ScreenPtr pScreen, int *nformatp);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureMatchVisual (ScreenPtr pScreen, int depth, VisualPtr pVisual);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureMatchFormat (ScreenPtr pScreen, int depth, CARD32 format);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureGetFilterId (char *filter, int len, Bool makeit);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureSetFilterAlias (ScreenPtr pScreen, char *filter, char *alias);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureFindFilter (ScreenPtr pScreen, char *name, int len);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncSetPictureFilter (PicturePtr pPicture, char *name, int len, xFixed *params, int nparams);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureTransformPoint3d (PictTransformPtr transform,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncAnimCursorCreate (CursorPtr *cursors, CARD32 *deltas, int ncursor, CursorPtr *ppCursor, ClientPtr client, XID cid);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#endif /* _PICTURESTR_H_ */