b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * $Id: picturestr.h,v 1.15 2005/12/09 18:35:21 ajax Exp $
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Copyright © 2000 SuSE, Inc.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync *
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 *
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 *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync * Author: Keith Packard, SuSE, Inc.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifndef _PICTURESTR_H_
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define _PICTURESTR_H_
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "glyphstr.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "scrnintstr.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "resource.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _DirectFormat {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CARD16 red, redMask;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CARD16 green, greenMask;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CARD16 blue, blueMask;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CARD16 alpha, alphaMask;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} DirectFormatRec;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _IndexFormat {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync VisualID vid;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ColormapPtr pColormap;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nvalues;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xIndexValue *pValues;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync void *devPrivate;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} IndexFormatRec;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PictFormat {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CARD32 id;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CARD32 format; /* except bpp */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char type;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char depth;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DirectFormatRec direct;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync IndexFormatRec index;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} PictFormatRec;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PictVector {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xFixed vector[3];
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} PictVector, *PictVectorPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PictTransform {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xFixed matrix[3][3];
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} PictTransform, *PictTransformPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define PICT_GRADIENT_STOPTABLE_SIZE 1024
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define SourcePictTypeSolidFill 0
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define SourcePictTypeLinear 1
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define SourcePictTypeRadial 2
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define SourcePictTypeConical 3
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PictSolidFill {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int type;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CARD32 color;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} PictSolidFill, *PictSolidFillPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PictGradientStop {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xFixed x;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xRenderColor color;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} PictGradientStop, *PictGradientStopPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PictGradient {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int type;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nstops;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictGradientStopPtr stops;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CARD32 colorTable[PICT_GRADIENT_STOPTABLE_SIZE];
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} PictGradient, *PictGradientPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PictLinearGradient {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int type;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nstops;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictGradientStopPtr stops;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CARD32 colorTable[PICT_GRADIENT_STOPTABLE_SIZE];
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xPointFixed p1;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xPointFixed p2;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} PictLinearGradient, *PictLinearGradientPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PictRadialGradient {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int type;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nstops;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictGradientStopPtr stops;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CARD32 colorTable[PICT_GRADIENT_STOPTABLE_SIZE];
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync double fx;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync double fy;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync double dx;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync double dy;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync double a;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync double m;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync double b;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} PictRadialGradient, *PictRadialGradientPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PictConicalGradient {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int type;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nstops;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictGradientStopPtr stops;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CARD32 colorTable[PICT_GRADIENT_STOPTABLE_SIZE];
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xPointFixed center;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xFixed angle;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} PictConicalGradient, *PictConicalGradientPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef union _SourcePict {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int type;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictSolidFill solidFill;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictGradient gradient;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictLinearGradient linear;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictRadialGradient radial;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictConicalGradient conical;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} SourcePict, *SourcePictPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _Picture {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr pDrawable;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFormatPtr pFormat;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CARD32 format; /* PICT_FORMAT */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int refcnt;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CARD32 id;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pNext; /* chain on same drawable */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int repeat : 1;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int graphicsExposures : 1;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int subWindowMode : 1;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int polyEdge : 1;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int polyMode : 1;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int freeCompClip : 1;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int clientClipType : 2;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int componentAlpha : 1;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int repeatType : 2;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int unused : 21;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr alphaMap;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointRec alphaOrigin;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DDXPointRec clipOrigin;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer clientClip;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Atom dither;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long stateChanges;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long serialNumber;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr pCompositeClip;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DevUnion *devPrivates;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictTransform *transform;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int filter;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xFixed *filter_params;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int filter_nparams;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync SourcePictPtr pSourcePict;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} PictureRec;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef Bool (*PictFilterValidateParamsProcPtr) (PicturePtr pPicture, int id,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xFixed *params, int nparams);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *name;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int id;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFilterValidateParamsProcPtr ValidateParams;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} PictFilterRec, *PictFilterPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define PictFilterNearest 0
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define PictFilterBilinear 1
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define PictFilterFast 2
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define PictFilterGood 3
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define PictFilterBest 4
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define PictFilterConvolution 5
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *alias;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int alias_id;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int filter_id;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} PictFilterAliasRec, *PictFilterAliasPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef int (*CreatePictureProcPtr) (PicturePtr pPicture);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*DestroyPictureProcPtr) (PicturePtr pPicture);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef int (*ChangePictureClipProcPtr) (PicturePtr pPicture,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int clipType,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer value,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int n);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*DestroyPictureClipProcPtr)(PicturePtr pPicture);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef int (*ChangePictureTransformProcPtr) (PicturePtr pPicture,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictTransform *transform);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef int (*ChangePictureFilterProcPtr) (PicturePtr pPicture,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int filter,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xFixed *params,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nparams);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*DestroyPictureFilterProcPtr) (PicturePtr pPicture);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*ChangePictureProcPtr) (PicturePtr pPicture,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Mask mask);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*ValidatePictureProcPtr) (PicturePtr pPicture,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Mask mask);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*CompositeProcPtr) (CARD8 op,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pMask,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pDst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 xSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 ySrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 xMask,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 yMask,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 xDst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 yDst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CARD16 width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CARD16 height);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*GlyphsProcPtr) (CARD8 op,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pDst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFormatPtr maskFormat,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 xSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 ySrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nlists,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GlyphListPtr lists,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GlyphPtr *glyphs);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*CompositeRectsProcPtr) (CARD8 op,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pDst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xRenderColor *color,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nRect,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xRectangle *rects);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*RasterizeTrapezoidProcPtr)(PicturePtr pMask,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xTrapezoid *trap,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int x_off,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int y_off);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*TrapezoidsProcPtr) (CARD8 op,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pDst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFormatPtr maskFormat,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 xSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 ySrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int ntrap,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xTrapezoid *traps);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*TrianglesProcPtr) (CARD8 op,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pDst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFormatPtr maskFormat,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 xSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 ySrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int ntri,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xTriangle *tris);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*TriStripProcPtr) (CARD8 op,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pDst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFormatPtr maskFormat,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 xSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 ySrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int npoint,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xPointFixed *points);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*TriFanProcPtr) (CARD8 op,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pDst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFormatPtr maskFormat,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 xSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 ySrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int npoint,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xPointFixed *points);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef Bool (*InitIndexedProcPtr) (ScreenPtr pScreen,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFormatPtr pFormat);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*CloseIndexedProcPtr) (ScreenPtr pScreen,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFormatPtr pFormat);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*UpdateIndexedProcPtr) (ScreenPtr pScreen,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFormatPtr pFormat,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int ndef,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xColorItem *pdef);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*AddTrapsProcPtr) (PicturePtr pPicture,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 xOff,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 yOff,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int ntrap,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xTrap *traps);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef void (*AddTrianglesProcPtr) (PicturePtr pPicture,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 xOff,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 yOff,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int ntri,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xTriangle *tris);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _PictureScreen {
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int totalPictureSize;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int *PicturePrivateSizes;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int PicturePrivateLen;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFormatPtr formats;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFormatPtr fallback;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nformats;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CreatePictureProcPtr CreatePicture;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DestroyPictureProcPtr DestroyPicture;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ChangePictureClipProcPtr ChangePictureClip;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DestroyPictureClipProcPtr DestroyPictureClip;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ChangePictureProcPtr ChangePicture;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ValidatePictureProcPtr ValidatePicture;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CompositeProcPtr Composite;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GlyphsProcPtr Glyphs;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CompositeRectsProcPtr CompositeRects;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DestroyWindowProcPtr DestroyWindow;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CloseScreenProcPtr CloseScreen;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync StoreColorsProcPtr StoreColors;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync InitIndexedProcPtr InitIndexed;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CloseIndexedProcPtr CloseIndexed;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync UpdateIndexedProcPtr UpdateIndexed;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int subpixel;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFilterPtr filters;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nfilters;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFilterAliasPtr filterAliases;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nfilterAliases;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ChangePictureTransformProcPtr ChangePictureTransform;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ChangePictureFilterProcPtr ChangePictureFilter;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DestroyPictureFilterProcPtr DestroyPictureFilter;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync TrapezoidsProcPtr Trapezoids;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync TrianglesProcPtr Triangles;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync TriStripProcPtr TriStrip;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync TriFanProcPtr TriFan;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RasterizeTrapezoidProcPtr RasterizeTrapezoid;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync AddTrianglesProcPtr AddTriangles;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync AddTrapsProcPtr AddTraps;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} PictureScreenRec, *PictureScreenPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int PictureScreenPrivateIndex;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int PictureWindowPrivateIndex;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern RESTYPE PictureType;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern RESTYPE PictFormatType;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern RESTYPE GlyphSetType;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
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
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define VERIFY_PICTURE(pPicture, pid, client, mode, err) {\
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pPicture = SecurityLookupIDByType(client, pid, PictureType, mode);\
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if (!pPicture) { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync client->errorValue = pid; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync return err; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync}
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define VERIFY_ALPHA(pPicture, pid, client, mode, err) {\
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync if (pid == None) \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pPicture = 0; \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync else { \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync VERIFY_PICTURE(pPicture, pid, client, mode, err); \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync } \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync} \
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncResetPicturePrivateIndex (void);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncAllocatePicturePrivateIndex (void);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncAllocatePicturePrivate (ScreenPtr pScreen, int index2, unsigned int amount);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureDestroyWindow (WindowPtr pWindow);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureCloseScreen (int Index, ScreenPtr pScreen);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureStoreColors (ColormapPtr pColormap, int ndef, xColorItem *pdef);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureInitIndexedFormats (ScreenPtr pScreen);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureSetSubpixelOrder (ScreenPtr pScreen, int subpixel);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureGetSubpixelOrder (ScreenPtr pScreen);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictFormatPtr
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureCreateDefaultFormats (ScreenPtr pScreen, int *nformatp);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictFormatPtr
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureMatchVisual (ScreenPtr pScreen, int depth, VisualPtr pVisual);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictFormatPtr
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureMatchFormat (ScreenPtr pScreen, int depth, CARD32 format);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureGetFilterId (char *filter, int len, Bool makeit);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncchar *
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureGetFilterName (int id);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureAddFilter (ScreenPtr pScreen,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char *filter,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFilterValidateParamsProcPtr ValidateParams);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureSetFilterAlias (ScreenPtr pScreen, char *filter, char *alias);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureSetDefaultFilters (ScreenPtr pScreen);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureResetFilters (ScreenPtr pScreen);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictFilterPtr
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureFindFilter (ScreenPtr pScreen, char *name, int len);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncSetPictureFilter (PicturePtr pPicture, char *name, int len, xFixed *params, int nparams);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureFinishInit (void);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncSetPictureToDefaults (PicturePtr pPicture);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPicturePtr
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncAllocatePicture (ScreenPtr pScreen);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#if 0
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncmiPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPicturePtr
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCreatePicture (Picture pid,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr pDrawable,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFormatPtr pFormat,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Mask mask,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync XID *list,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ClientPtr client,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int *error);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncChangePicture (PicturePtr pPicture,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Mask vmask,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync XID *vlist,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DevUnion *ulist,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ClientPtr client);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncSetPictureClipRects (PicturePtr pPicture,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xOrigin,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yOrigin,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nRect,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xRectangle *rects);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncSetPictureClipRegion (PicturePtr pPicture,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int xOrigin,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int yOrigin,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync RegionPtr pRegion);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncSetPictureTransform (PicturePtr pPicture,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictTransform *transform);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCopyPicture (PicturePtr pSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Mask mask,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pDst);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncValidatePicture(PicturePtr pPicture);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncFreePicture (pointer pPicture,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync XID pid);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncFreePictFormat (pointer pPictFormat,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync XID pid);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCompositePicture (CARD8 op,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pMask,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pDst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 xSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 ySrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 xMask,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 yMask,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 xDst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 yDst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CARD16 width,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CARD16 height);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCompositeGlyphs (CARD8 op,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pDst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFormatPtr maskFormat,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 xSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 ySrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nlist,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GlyphListPtr lists,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GlyphPtr *glyphs);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCompositeRects (CARD8 op,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pDst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xRenderColor *color,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nRect,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xRectangle *rects);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCompositeTrapezoids (CARD8 op,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pDst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFormatPtr maskFormat,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 xSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 ySrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int ntrap,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xTrapezoid *traps);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCompositeTriangles (CARD8 op,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pDst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFormatPtr maskFormat,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 xSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 ySrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int ntriangles,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xTriangle *triangles);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCompositeTriStrip (CARD8 op,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pDst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFormatPtr maskFormat,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 xSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 ySrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int npoints,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xPointFixed *points);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCompositeTriFan (CARD8 op,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PicturePtr pDst,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictFormatPtr maskFormat,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 xSrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 ySrc,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int npoints,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xPointFixed *points);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureTransformPoint (PictTransformPtr transform,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictVectorPtr vector);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPictureTransformPoint3d (PictTransformPtr transform,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PictVectorPtr vector);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid RenderExtensionInit (void);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncBool
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncAnimCurInit (ScreenPtr pScreen);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncAnimCursorCreate (CursorPtr *cursors, CARD32 *deltas, int ncursor, CursorPtr *ppCursor);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncAddTraps (PicturePtr pPicture,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 xOff,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync INT16 yOff,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int ntraps,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xTrap *traps);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPicturePtr
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCreateSolidPicture (Picture pid,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xRenderColor *color,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int *error);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPicturePtr
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCreateLinearGradientPicture (Picture pid,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xPointFixed *p1,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xPointFixed *p2,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nStops,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xFixed *stops,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xRenderColor *colors,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int *error);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPicturePtr
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCreateRadialGradientPicture (Picture pid,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xPointFixed *inner,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xPointFixed *outer,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xFixed innerRadius,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xFixed outerRadius,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nStops,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xFixed *stops,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xRenderColor *colors,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int *error);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPicturePtr
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCreateConicalGradientPicture (Picture pid,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xPointFixed *center,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xFixed angle,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int nStops,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xFixed *stops,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xRenderColor *colors,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int *error);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef PANORAMIX
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid PanoramiXRenderInit (void);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncvoid PanoramiXRenderReset (void);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif /* _PICTURESTR_H_ */