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