a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync * $XFree86: xc/programs/Xserver/render/picturestr.h,v 1.22 2002/11/23 02:38:15 keithp Exp $
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync * Copyright � 2000 SuSE, Inc.
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync * Permission to use, copy, modify, distribute, and sell this software and its
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync * documentation for any purpose is hereby granted without fee, provided that
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync * the above copyright notice appear in all copies and that both that
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync * copyright notice and this permission notice appear in supporting
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync * documentation, and that the name of SuSE not be used in advertising or
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync * publicity pertaining to distribution of the software without specific,
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync * written prior permission. SuSE makes no representations about the
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync * suitability of this software for any purpose. It is provided "as is"
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync * without express or implied warranty.
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync * Author: Keith Packard, SuSE, Inc.
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsynctypedef struct {
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsynctypedef struct {
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsynctypedef int (*CreatePictureProcPtr) (PicturePtr pPicture);
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsynctypedef void (*DestroyPictureProcPtr) (PicturePtr pPicture);
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsynctypedef int (*ChangePictureClipProcPtr) (PicturePtr pPicture,
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsynctypedef void (*DestroyPictureClipProcPtr)(PicturePtr pPicture);
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsynctypedef int (*ChangePictureTransformProcPtr) (PicturePtr pPicture,
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsynctypedef int (*ChangePictureFilterProcPtr) (PicturePtr pPicture,
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsynctypedef void (*DestroyPictureFilterProcPtr) (PicturePtr pPicture);
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsynctypedef void (*ChangePictureProcPtr) (PicturePtr pPicture,
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsynctypedef void (*ValidatePictureProcPtr) (PicturePtr pPicture,
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsynctypedef void (*RasterizeTrapezoidProcPtr)(PicturePtr pMask,
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsynctypedef Bool (*InitIndexedProcPtr) (ScreenPtr pScreen,
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsynctypedef void (*CloseIndexedProcPtr) (ScreenPtr pScreen,
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsynctypedef void (*UpdateIndexedProcPtr) (ScreenPtr pScreen,
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync ChangePictureTransformProcPtr ChangePictureTransform;
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync#define GetPictureScreen(s) ((PictureScreenPtr) ((s)->devPrivates[PictureScreenPrivateIndex].ptr))
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync#define GetPictureScreenIfSet(s) ((PictureScreenPrivateIndex != -1) ? GetPictureScreen(s) : NULL)
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync#define SetPictureScreen(s,p) ((s)->devPrivates[PictureScreenPrivateIndex].ptr = (pointer) (p))
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync#define GetPictureWindow(w) ((PicturePtr) ((w)->devPrivates[PictureWindowPrivateIndex].ptr))
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync#define SetPictureWindow(w,p) ((w)->devPrivates[PictureWindowPrivateIndex].ptr = (pointer) (p))
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync#define VERIFY_PICTURE(pPicture, pid, client, mode, err) {\
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync pPicture = SecurityLookupIDByType(client, pid, PictureType, mode);\
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync#define VERIFY_ALPHA(pPicture, pid, client, mode, err) {\
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync VERIFY_PICTURE(pPicture, pid, client, mode, err); \
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsyncPictureStoreColors (ColormapPtr pColormap, int ndef, xColorItem *pdef);
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsyncPictureSetSubpixelOrder (ScreenPtr pScreen, int subpixel);
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsyncPictureCreateDefaultFormats (ScreenPtr pScreen, int *nformatp);
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsyncPictureMatchVisual (ScreenPtr pScreen, int depth, VisualPtr pVisual);
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsyncPictureMatchFormat (ScreenPtr pScreen, int depth, CARD32 format);
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsyncPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats);
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsyncPictureGetFilterId (char *filter, int len, Bool makeit);
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsyncPictureAddFilter (ScreenPtr pScreen, char *filter, xFixed *params, int nparams);
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsyncPictureSetFilterAlias (ScreenPtr pScreen, char *filter, char *alias);
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsyncPictureFindFilter (ScreenPtr pScreen, char *name, int len);
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsyncSetPictureFilter (PicturePtr pPicture, char *name, int len, xFixed *params, int nparams);
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsyncmiPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats);
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsyncAnimCursorCreate (CursorPtr *cursors, CARD32 *deltas, int ncursor, CursorPtr *ppCursor);
a2760a4d593af57a19ec32cdfd1723b68495df8cvboxsync#endif /* _PICTURESTR_H_ */