deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * Copyright © 2000 SuSE, Inc.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * Permission to use, copy, modify, distribute, and sell this software and its
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * documentation for any purpose is hereby granted without fee, provided that
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * the above copyright notice appear in all copies and that both that
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * copyright notice and this permission notice appear in supporting
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * documentation, and that the name of SuSE not be used in advertising or
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * publicity pertaining to distribution of the software without specific,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * written prior permission. SuSE makes no representations about the
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * suitability of this software for any purpose. It is provided "as is"
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * without express or implied warranty.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * Author: Keith Packard, SuSE, Inc.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef Bool (*PictFilterValidateParamsProcPtr) (PicturePtr pPicture, int id,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef int (*CreatePictureProcPtr) (PicturePtr pPicture);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*DestroyPictureProcPtr) (PicturePtr pPicture);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef int (*ChangePictureClipProcPtr) (PicturePtr pPicture,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*DestroyPictureClipProcPtr)(PicturePtr pPicture);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef int (*ChangePictureTransformProcPtr) (PicturePtr pPicture,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef int (*ChangePictureFilterProcPtr) (PicturePtr pPicture,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*DestroyPictureFilterProcPtr) (PicturePtr pPicture);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*ChangePictureProcPtr) (PicturePtr pPicture,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*ValidatePictureProcPtr) (PicturePtr pPicture,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*RasterizeTrapezoidProcPtr)(PicturePtr pMask,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef Bool (*InitIndexedProcPtr) (ScreenPtr pScreen,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*CloseIndexedProcPtr) (ScreenPtr pScreen,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*UpdateIndexedProcPtr) (ScreenPtr pScreen,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*AddTrapsProcPtr) (PicturePtr pPicture,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*AddTrianglesProcPtr) (PicturePtr pPicture,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef Bool (*RealizeGlyphProcPtr) (ScreenPtr pScreen,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*UnrealizeGlyphProcPtr) (ScreenPtr pScreen,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * Called immediately after a picture's transform is changed through the
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * SetPictureTransform request. Not called for source-only pictures.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync ChangePictureTransformProcPtr ChangePictureTransform;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * Called immediately after a picture's transform is changed through the
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * SetPictureFilter request. Not called for source-only pictures.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define GetPictureScreen(s) ((PictureScreenPtr) ((s)->devPrivates[PictureScreenPrivateIndex].ptr))
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define GetPictureScreenIfSet(s) ((PictureScreenPrivateIndex != -1) ? GetPictureScreen(s) : NULL)
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define SetPictureScreen(s,p) ((s)->devPrivates[PictureScreenPrivateIndex].ptr = (pointer) (p))
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define GetPictureWindow(w) ((PicturePtr) ((w)->devPrivates[PictureWindowPrivateIndex].ptr))
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define SetPictureWindow(w,p) ((w)->devPrivates[PictureWindowPrivateIndex].ptr = (pointer) (p))
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync ((glyph)->devPrivates + (GetPictureScreen (s))->glyphPrivateOffset)
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define VERIFY_PICTURE(pPicture, pid, client, mode, err) {\
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync pPicture = SecurityLookupIDByType(client, pid, PictureType, mode);\
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define VERIFY_ALPHA(pPicture, pid, client, mode, err) {\
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync VERIFY_PICTURE(pPicture, pid, client, mode, err); \
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncAllocatePicturePrivate (ScreenPtr pScreen, int index2, unsigned int amount);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureStoreColors (ColormapPtr pColormap, int ndef, xColorItem *pdef);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureSetSubpixelOrder (ScreenPtr pScreen, int subpixel);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureCreateDefaultFormats (ScreenPtr pScreen, int *nformatp);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureMatchVisual (ScreenPtr pScreen, int depth, VisualPtr pVisual);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureMatchFormat (ScreenPtr pScreen, int depth, CARD32 format);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureGetFilterId (char *filter, int len, Bool makeit);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureSetFilterAlias (ScreenPtr pScreen, char *filter, char *alias);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureFindFilter (ScreenPtr pScreen, char *name, int len);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncSetPictureFilter (PicturePtr pPicture, char *name, int len, xFixed *params, int nparams);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncmiPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureTransformPoint3d (PictTransformPtr transform,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncAnimCursorCreate (CursorPtr *cursors, CARD32 *deltas, int ncursor, CursorPtr *ppCursor);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#endif /* _PICTURESTR_H_ */