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