b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * $Id: picturestr.h,v 1.15 2005/12/09 18:35:21 ajax Exp $
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Copyright © 2000 SuSE, Inc.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Permission to use, copy, modify, distribute, and sell this software and its
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * documentation for any purpose is hereby granted without fee, provided that
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * the above copyright notice appear in all copies and that both that
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * copyright notice and this permission notice appear in supporting
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * documentation, and that the name of SuSE not be used in advertising or
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * publicity pertaining to distribution of the software without specific,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * written prior permission. SuSE makes no representations about the
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * suitability of this software for any purpose. It is provided "as is"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * without express or implied warranty.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Author: Keith Packard, SuSE, Inc.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _DirectFormat {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _IndexFormat {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PictFormat {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char type;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char depth;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PictVector {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PictTransform {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PictSolidFill {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int type;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PictGradientStop {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PictGradient {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int type;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PictLinearGradient {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int type;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PictRadialGradient {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int type;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PictConicalGradient {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int type;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef union _SourcePict {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int type;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _Picture {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long stateChanges;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long serialNumber;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef Bool (*PictFilterValidateParamsProcPtr) (PicturePtr pPicture, int id,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef int (*CreatePictureProcPtr) (PicturePtr pPicture);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*DestroyPictureProcPtr) (PicturePtr pPicture);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef int (*ChangePictureClipProcPtr) (PicturePtr pPicture,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*DestroyPictureClipProcPtr)(PicturePtr pPicture);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef int (*ChangePictureTransformProcPtr) (PicturePtr pPicture,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef int (*ChangePictureFilterProcPtr) (PicturePtr pPicture,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*DestroyPictureFilterProcPtr) (PicturePtr pPicture);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*ChangePictureProcPtr) (PicturePtr pPicture,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*ValidatePictureProcPtr) (PicturePtr pPicture,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*RasterizeTrapezoidProcPtr)(PicturePtr pMask,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef Bool (*InitIndexedProcPtr) (ScreenPtr pScreen,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*CloseIndexedProcPtr) (ScreenPtr pScreen,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*UpdateIndexedProcPtr) (ScreenPtr pScreen,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*AddTrapsProcPtr) (PicturePtr pPicture,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*AddTrianglesProcPtr) (PicturePtr pPicture,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PictureScreen {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ChangePictureTransformProcPtr ChangePictureTransform;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define GetPictureScreen(s) ((PictureScreenPtr) ((s)->devPrivates[PictureScreenPrivateIndex].ptr))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define GetPictureScreenIfSet(s) ((PictureScreenPrivateIndex != -1) ? GetPictureScreen(s) : NULL)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define SetPictureScreen(s,p) ((s)->devPrivates[PictureScreenPrivateIndex].ptr = (pointer) (p))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define GetPictureWindow(w) ((PicturePtr) ((w)->devPrivates[PictureWindowPrivateIndex].ptr))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define SetPictureWindow(w,p) ((w)->devPrivates[PictureWindowPrivateIndex].ptr = (pointer) (p))
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define VERIFY_PICTURE(pPicture, pid, client, mode, err) {\
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pPicture = SecurityLookupIDByType(client, pid, PictureType, mode);\
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define VERIFY_ALPHA(pPicture, pid, client, mode, err) {\
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync VERIFY_PICTURE(pPicture, pid, client, mode, err); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncAllocatePicturePrivate (ScreenPtr pScreen, int index2, unsigned int amount);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureStoreColors (ColormapPtr pColormap, int ndef, xColorItem *pdef);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureSetSubpixelOrder (ScreenPtr pScreen, int subpixel);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureCreateDefaultFormats (ScreenPtr pScreen, int *nformatp);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureMatchVisual (ScreenPtr pScreen, int depth, VisualPtr pVisual);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureMatchFormat (ScreenPtr pScreen, int depth, CARD32 format);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureGetFilterId (char *filter, int len, Bool makeit);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureSetFilterAlias (ScreenPtr pScreen, char *filter, char *alias);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureFindFilter (ScreenPtr pScreen, char *name, int len);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncSetPictureFilter (PicturePtr pPicture, char *name, int len, xFixed *params, int nparams);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncmiPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureTransformPoint3d (PictTransformPtr transform,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncAnimCursorCreate (CursorPtr *cursors, CARD32 *deltas, int ncursor, CursorPtr *ppCursor);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif /* _PICTURESTR_H_ */