45e9809aff7304721fddb95654901b32195c9c7avboxsync/*
45e9809aff7304721fddb95654901b32195c9c7avboxsync * Copyright © 2000 SuSE, Inc.
45e9809aff7304721fddb95654901b32195c9c7avboxsync *
45e9809aff7304721fddb95654901b32195c9c7avboxsync * Permission to use, copy, modify, distribute, and sell this software and its
45e9809aff7304721fddb95654901b32195c9c7avboxsync * documentation for any purpose is hereby granted without fee, provided that
45e9809aff7304721fddb95654901b32195c9c7avboxsync * the above copyright notice appear in all copies and that both that
45e9809aff7304721fddb95654901b32195c9c7avboxsync * copyright notice and this permission notice appear in supporting
45e9809aff7304721fddb95654901b32195c9c7avboxsync * documentation, and that the name of SuSE not be used in advertising or
45e9809aff7304721fddb95654901b32195c9c7avboxsync * publicity pertaining to distribution of the software without specific,
45e9809aff7304721fddb95654901b32195c9c7avboxsync * written prior permission. SuSE makes no representations about the
45e9809aff7304721fddb95654901b32195c9c7avboxsync * suitability of this software for any purpose. It is provided "as is"
45e9809aff7304721fddb95654901b32195c9c7avboxsync * without express or implied warranty.
45e9809aff7304721fddb95654901b32195c9c7avboxsync *
45e9809aff7304721fddb95654901b32195c9c7avboxsync * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
45e9809aff7304721fddb95654901b32195c9c7avboxsync * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
45e9809aff7304721fddb95654901b32195c9c7avboxsync * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
45e9809aff7304721fddb95654901b32195c9c7avboxsync * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
45e9809aff7304721fddb95654901b32195c9c7avboxsync * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
45e9809aff7304721fddb95654901b32195c9c7avboxsync * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
45e9809aff7304721fddb95654901b32195c9c7avboxsync *
45e9809aff7304721fddb95654901b32195c9c7avboxsync * Author: Keith Packard, SuSE, Inc.
45e9809aff7304721fddb95654901b32195c9c7avboxsync */
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#ifndef _PICTURESTR_H_
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define _PICTURESTR_H_
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "scrnintstr.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "glyphstr.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync#include "resource.h"
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _DirectFormat {
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD16 red, redMask;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD16 green, greenMask;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD16 blue, blueMask;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD16 alpha, alphaMask;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} DirectFormatRec;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _IndexFormat {
45e9809aff7304721fddb95654901b32195c9c7avboxsync VisualID vid;
45e9809aff7304721fddb95654901b32195c9c7avboxsync ColormapPtr pColormap;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int nvalues;
45e9809aff7304721fddb95654901b32195c9c7avboxsync xIndexValue *pValues;
45e9809aff7304721fddb95654901b32195c9c7avboxsync void *devPrivate;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} IndexFormatRec;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _PictFormat {
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 id;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 format; /* except bpp */
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned char type;
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned char depth;
45e9809aff7304721fddb95654901b32195c9c7avboxsync DirectFormatRec direct;
45e9809aff7304721fddb95654901b32195c9c7avboxsync IndexFormatRec index;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} PictFormatRec;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct pixman_vector PictVector, *PictVectorPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct pixman_transform PictTransform, *PictTransformPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define PICT_GRADIENT_STOPTABLE_SIZE 1024
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define SourcePictTypeSolidFill 0
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define SourcePictTypeLinear 1
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define SourcePictTypeRadial 2
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define SourcePictTypeConical 3
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define SourcePictClassUnknown 0
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define SourcePictClassHorizontal 1
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define SourcePictClassVertical 2
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _PictSolidFill {
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int type;
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int class;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 color;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} PictSolidFill, *PictSolidFillPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _PictGradientStop {
45e9809aff7304721fddb95654901b32195c9c7avboxsync xFixed x;
45e9809aff7304721fddb95654901b32195c9c7avboxsync xRenderColor color;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} PictGradientStop, *PictGradientStopPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _PictGradient {
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int type;
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int class;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int nstops;
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictGradientStopPtr stops;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int stopRange;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 *colorTable;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int colorTableSize;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} PictGradient, *PictGradientPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _PictLinearGradient {
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int type;
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int class;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int nstops;
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictGradientStopPtr stops;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int stopRange;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 *colorTable;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int colorTableSize;
45e9809aff7304721fddb95654901b32195c9c7avboxsync xPointFixed p1;
45e9809aff7304721fddb95654901b32195c9c7avboxsync xPointFixed p2;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} PictLinearGradient, *PictLinearGradientPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _PictCircle {
45e9809aff7304721fddb95654901b32195c9c7avboxsync xFixed x;
45e9809aff7304721fddb95654901b32195c9c7avboxsync xFixed y;
45e9809aff7304721fddb95654901b32195c9c7avboxsync xFixed radius;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} PictCircle, *PictCirclePtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _PictRadialGradient {
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int type;
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int class;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int nstops;
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictGradientStopPtr stops;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int stopRange;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 *colorTable;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int colorTableSize;
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictCircle c1;
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictCircle c2;
45e9809aff7304721fddb95654901b32195c9c7avboxsync double cdx;
45e9809aff7304721fddb95654901b32195c9c7avboxsync double cdy;
45e9809aff7304721fddb95654901b32195c9c7avboxsync double dr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync double A;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} PictRadialGradient, *PictRadialGradientPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _PictConicalGradient {
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int type;
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int class;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int nstops;
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictGradientStopPtr stops;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int stopRange;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 *colorTable;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int colorTableSize;
45e9809aff7304721fddb95654901b32195c9c7avboxsync xPointFixed center;
45e9809aff7304721fddb95654901b32195c9c7avboxsync xFixed angle;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} PictConicalGradient, *PictConicalGradientPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef union _SourcePict {
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int type;
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictSolidFill solidFill;
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictGradient gradient;
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictLinearGradient linear;
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictRadialGradient radial;
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictConicalGradient conical;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} SourcePict, *SourcePictPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _Picture {
45e9809aff7304721fddb95654901b32195c9c7avboxsync DrawablePtr pDrawable;
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFormatPtr pFormat;
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFormatShort format; /* PICT_FORMAT */
45e9809aff7304721fddb95654901b32195c9c7avboxsync int refcnt;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 id;
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pNext; /* chain on same drawable */
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int repeat : 1;
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int graphicsExposures : 1;
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int subWindowMode : 1;
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int polyEdge : 1;
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int polyMode : 1;
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int freeCompClip : 1;
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int clientClipType : 2;
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int componentAlpha : 1;
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int repeatType : 2;
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int unused : 21;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr alphaMap;
45e9809aff7304721fddb95654901b32195c9c7avboxsync DDXPointRec alphaOrigin;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync DDXPointRec clipOrigin;
45e9809aff7304721fddb95654901b32195c9c7avboxsync pointer clientClip;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync Atom dither;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned long stateChanges;
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned long serialNumber;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync RegionPtr pCompositeClip;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync DevUnion *devPrivates;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictTransform *transform;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync int filter;
45e9809aff7304721fddb95654901b32195c9c7avboxsync xFixed *filter_params;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int filter_nparams;
45e9809aff7304721fddb95654901b32195c9c7avboxsync SourcePictPtr pSourcePict;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} PictureRec;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef Bool (*PictFilterValidateParamsProcPtr) (PicturePtr pPicture, int id,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xFixed *params, int nparams);
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct {
45e9809aff7304721fddb95654901b32195c9c7avboxsync char *name;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int id;
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFilterValidateParamsProcPtr ValidateParams;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} PictFilterRec, *PictFilterPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define PictFilterNearest 0
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define PictFilterBilinear 1
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define PictFilterFast 2
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define PictFilterGood 3
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define PictFilterBest 4
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define PictFilterConvolution 5
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct {
45e9809aff7304721fddb95654901b32195c9c7avboxsync char *alias;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int alias_id;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int filter_id;
45e9809aff7304721fddb95654901b32195c9c7avboxsync} PictFilterAliasRec, *PictFilterAliasPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef int (*CreatePictureProcPtr) (PicturePtr pPicture);
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef void (*DestroyPictureProcPtr) (PicturePtr pPicture);
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef int (*ChangePictureClipProcPtr) (PicturePtr pPicture,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int clipType,
45e9809aff7304721fddb95654901b32195c9c7avboxsync pointer value,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int n);
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef void (*DestroyPictureClipProcPtr)(PicturePtr pPicture);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef int (*ChangePictureTransformProcPtr) (PicturePtr pPicture,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictTransform *transform);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef int (*ChangePictureFilterProcPtr) (PicturePtr pPicture,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int filter,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xFixed *params,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int nparams);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef void (*DestroyPictureFilterProcPtr) (PicturePtr pPicture);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef void (*ChangePictureProcPtr) (PicturePtr pPicture,
45e9809aff7304721fddb95654901b32195c9c7avboxsync Mask mask);
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef void (*ValidatePictureProcPtr) (PicturePtr pPicture,
45e9809aff7304721fddb95654901b32195c9c7avboxsync Mask mask);
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef void (*CompositeProcPtr) (CARD8 op,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pMask,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pDst,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 xSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 ySrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 xMask,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 yMask,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 xDst,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 yDst,
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD16 width,
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD16 height);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef void (*GlyphsProcPtr) (CARD8 op,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pDst,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFormatPtr maskFormat,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 xSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 ySrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int nlists,
45e9809aff7304721fddb95654901b32195c9c7avboxsync GlyphListPtr lists,
45e9809aff7304721fddb95654901b32195c9c7avboxsync GlyphPtr *glyphs);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef void (*CompositeRectsProcPtr) (CARD8 op,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pDst,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xRenderColor *color,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int nRect,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xRectangle *rects);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef void (*RasterizeTrapezoidProcPtr)(PicturePtr pMask,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xTrapezoid *trap,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int x_off,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int y_off);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef void (*TrapezoidsProcPtr) (CARD8 op,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pDst,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFormatPtr maskFormat,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 xSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 ySrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int ntrap,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xTrapezoid *traps);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef void (*TrianglesProcPtr) (CARD8 op,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pDst,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFormatPtr maskFormat,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 xSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 ySrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int ntri,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xTriangle *tris);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef void (*TriStripProcPtr) (CARD8 op,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pDst,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFormatPtr maskFormat,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 xSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 ySrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int npoint,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xPointFixed *points);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef void (*TriFanProcPtr) (CARD8 op,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pDst,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFormatPtr maskFormat,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 xSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 ySrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int npoint,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xPointFixed *points);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef Bool (*InitIndexedProcPtr) (ScreenPtr pScreen,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFormatPtr pFormat);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef void (*CloseIndexedProcPtr) (ScreenPtr pScreen,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFormatPtr pFormat);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef void (*UpdateIndexedProcPtr) (ScreenPtr pScreen,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFormatPtr pFormat,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int ndef,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xColorItem *pdef);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef void (*AddTrapsProcPtr) (PicturePtr pPicture,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 xOff,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 yOff,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int ntrap,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xTrap *traps);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef void (*AddTrianglesProcPtr) (PicturePtr pPicture,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 xOff,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 yOff,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int ntri,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xTriangle *tris);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef Bool (*RealizeGlyphProcPtr) (ScreenPtr pScreen,
45e9809aff7304721fddb95654901b32195c9c7avboxsync GlyphPtr glyph);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef void (*UnrealizeGlyphProcPtr) (ScreenPtr pScreen,
45e9809aff7304721fddb95654901b32195c9c7avboxsync GlyphPtr glyph);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsynctypedef struct _PictureScreen {
45e9809aff7304721fddb95654901b32195c9c7avboxsync int totalPictureSize;
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int *PicturePrivateSizes;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int PicturePrivateLen;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFormatPtr formats;
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFormatPtr fallback;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int nformats;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync CreatePictureProcPtr CreatePicture;
45e9809aff7304721fddb95654901b32195c9c7avboxsync DestroyPictureProcPtr DestroyPicture;
45e9809aff7304721fddb95654901b32195c9c7avboxsync ChangePictureClipProcPtr ChangePictureClip;
45e9809aff7304721fddb95654901b32195c9c7avboxsync DestroyPictureClipProcPtr DestroyPictureClip;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync ChangePictureProcPtr ChangePicture;
45e9809aff7304721fddb95654901b32195c9c7avboxsync ValidatePictureProcPtr ValidatePicture;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync CompositeProcPtr Composite;
45e9809aff7304721fddb95654901b32195c9c7avboxsync GlyphsProcPtr Glyphs;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CompositeRectsProcPtr CompositeRects;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync DestroyWindowProcPtr DestroyWindow;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CloseScreenProcPtr CloseScreen;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync StoreColorsProcPtr StoreColors;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync InitIndexedProcPtr InitIndexed;
45e9809aff7304721fddb95654901b32195c9c7avboxsync CloseIndexedProcPtr CloseIndexed;
45e9809aff7304721fddb95654901b32195c9c7avboxsync UpdateIndexedProcPtr UpdateIndexed;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync int subpixel;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFilterPtr filters;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int nfilters;
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFilterAliasPtr filterAliases;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int nfilterAliases;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync /**
45e9809aff7304721fddb95654901b32195c9c7avboxsync * Called immediately after a picture's transform is changed through the
45e9809aff7304721fddb95654901b32195c9c7avboxsync * SetPictureTransform request. Not called for source-only pictures.
45e9809aff7304721fddb95654901b32195c9c7avboxsync */
45e9809aff7304721fddb95654901b32195c9c7avboxsync ChangePictureTransformProcPtr ChangePictureTransform;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync /**
45e9809aff7304721fddb95654901b32195c9c7avboxsync * Called immediately after a picture's transform is changed through the
45e9809aff7304721fddb95654901b32195c9c7avboxsync * SetPictureFilter request. Not called for source-only pictures.
45e9809aff7304721fddb95654901b32195c9c7avboxsync */
45e9809aff7304721fddb95654901b32195c9c7avboxsync ChangePictureFilterProcPtr ChangePictureFilter;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync DestroyPictureFilterProcPtr DestroyPictureFilter;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync TrapezoidsProcPtr Trapezoids;
45e9809aff7304721fddb95654901b32195c9c7avboxsync TrianglesProcPtr Triangles;
45e9809aff7304721fddb95654901b32195c9c7avboxsync TriStripProcPtr TriStrip;
45e9809aff7304721fddb95654901b32195c9c7avboxsync TriFanProcPtr TriFan;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync RasterizeTrapezoidProcPtr RasterizeTrapezoid;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync AddTrianglesProcPtr AddTriangles;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync AddTrapsProcPtr AddTraps;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync int totalGlyphPrivateSize;
45e9809aff7304721fddb95654901b32195c9c7avboxsync unsigned int *glyphPrivateSizes;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int glyphPrivateLen;
45e9809aff7304721fddb95654901b32195c9c7avboxsync int glyphPrivateOffset;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync RealizeGlyphProcPtr RealizeGlyph;
45e9809aff7304721fddb95654901b32195c9c7avboxsync UnrealizeGlyphProcPtr UnrealizeGlyph;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync} PictureScreenRec, *PictureScreenPtr;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int PictureScreenPrivateIndex;
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern int PictureWindowPrivateIndex;
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern RESTYPE PictureType;
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern RESTYPE PictFormatType;
45e9809aff7304721fddb95654901b32195c9c7avboxsyncextern RESTYPE GlyphSetType;
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define GetPictureScreen(s) ((PictureScreenPtr) ((s)->devPrivates[PictureScreenPrivateIndex].ptr))
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define GetPictureScreenIfSet(s) ((PictureScreenPrivateIndex != -1) ? GetPictureScreen(s) : NULL)
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define SetPictureScreen(s,p) ((s)->devPrivates[PictureScreenPrivateIndex].ptr = (pointer) (p))
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define GetPictureWindow(w) ((PicturePtr) ((w)->devPrivates[PictureWindowPrivateIndex].ptr))
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define SetPictureWindow(w,p) ((w)->devPrivates[PictureWindowPrivateIndex].ptr = (pointer) (p))
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define GetGlyphPrivatesForScreen(glyph, s) \
45e9809aff7304721fddb95654901b32195c9c7avboxsync ((glyph)->devPrivates + (GetPictureScreen (s))->glyphPrivateOffset)
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define VERIFY_PICTURE(pPicture, pid, client, mode, err) {\
45e9809aff7304721fddb95654901b32195c9c7avboxsync pPicture = SecurityLookupIDByType(client, pid, PictureType, mode);\
45e9809aff7304721fddb95654901b32195c9c7avboxsync if (!pPicture) { \
45e9809aff7304721fddb95654901b32195c9c7avboxsync client->errorValue = pid; \
45e9809aff7304721fddb95654901b32195c9c7avboxsync return err; \
45e9809aff7304721fddb95654901b32195c9c7avboxsync } \
45e9809aff7304721fddb95654901b32195c9c7avboxsync}
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#define VERIFY_ALPHA(pPicture, pid, client, mode, err) {\
45e9809aff7304721fddb95654901b32195c9c7avboxsync if (pid == None) \
45e9809aff7304721fddb95654901b32195c9c7avboxsync pPicture = 0; \
45e9809aff7304721fddb95654901b32195c9c7avboxsync else { \
45e9809aff7304721fddb95654901b32195c9c7avboxsync VERIFY_PICTURE(pPicture, pid, client, mode, err); \
45e9809aff7304721fddb95654901b32195c9c7avboxsync } \
45e9809aff7304721fddb95654901b32195c9c7avboxsync} \
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsyncResetPicturePrivateIndex (void);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncint
45e9809aff7304721fddb95654901b32195c9c7avboxsyncAllocatePicturePrivateIndex (void);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsyncAllocatePicturePrivate (ScreenPtr pScreen, int index2, unsigned int amount);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictureDestroyWindow (WindowPtr pWindow);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictureCloseScreen (int Index, ScreenPtr pScreen);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictureStoreColors (ColormapPtr pColormap, int ndef, xColorItem *pdef);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictureInitIndexedFormats (ScreenPtr pScreen);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictureSetSubpixelOrder (ScreenPtr pScreen, int subpixel);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncint
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictureGetSubpixelOrder (ScreenPtr pScreen);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictFormatPtr
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictureCreateDefaultFormats (ScreenPtr pScreen, int *nformatp);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictFormatPtr
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictureMatchVisual (ScreenPtr pScreen, int depth, VisualPtr pVisual);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictFormatPtr
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictureMatchFormat (ScreenPtr pScreen, int depth, CARD32 format);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncint
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictureGetFilterId (char *filter, int len, Bool makeit);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncchar *
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictureGetFilterName (int id);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncint
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictureAddFilter (ScreenPtr pScreen,
45e9809aff7304721fddb95654901b32195c9c7avboxsync char *filter,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFilterValidateParamsProcPtr ValidateParams);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictureSetFilterAlias (ScreenPtr pScreen, char *filter, char *alias);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictureSetDefaultFilters (ScreenPtr pScreen);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictureResetFilters (ScreenPtr pScreen);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictFilterPtr
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictureFindFilter (ScreenPtr pScreen, char *name, int len);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncint
45e9809aff7304721fddb95654901b32195c9c7avboxsyncSetPictureFilter (PicturePtr pPicture, char *name, int len, xFixed *params, int nparams);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictureFinishInit (void);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsyncSetPictureToDefaults (PicturePtr pPicture);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPicturePtr
45e9809aff7304721fddb95654901b32195c9c7avboxsyncAllocatePicture (ScreenPtr pScreen);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#if 0
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsyncmiPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats);
45e9809aff7304721fddb95654901b32195c9c7avboxsync#endif
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPicturePtr
45e9809aff7304721fddb95654901b32195c9c7avboxsyncCreatePicture (Picture pid,
45e9809aff7304721fddb95654901b32195c9c7avboxsync DrawablePtr pDrawable,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFormatPtr pFormat,
45e9809aff7304721fddb95654901b32195c9c7avboxsync Mask mask,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XID *list,
45e9809aff7304721fddb95654901b32195c9c7avboxsync ClientPtr client,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int *error);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncint
45e9809aff7304721fddb95654901b32195c9c7avboxsyncChangePicture (PicturePtr pPicture,
45e9809aff7304721fddb95654901b32195c9c7avboxsync Mask vmask,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XID *vlist,
45e9809aff7304721fddb95654901b32195c9c7avboxsync DevUnion *ulist,
45e9809aff7304721fddb95654901b32195c9c7avboxsync ClientPtr client);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncint
45e9809aff7304721fddb95654901b32195c9c7avboxsyncSetPictureClipRects (PicturePtr pPicture,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int xOrigin,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int yOrigin,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int nRect,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xRectangle *rects);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncint
45e9809aff7304721fddb95654901b32195c9c7avboxsyncSetPictureClipRegion (PicturePtr pPicture,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int xOrigin,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int yOrigin,
45e9809aff7304721fddb95654901b32195c9c7avboxsync RegionPtr pRegion);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncint
45e9809aff7304721fddb95654901b32195c9c7avboxsyncSetPictureTransform (PicturePtr pPicture,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictTransform *transform);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsyncCopyPicture (PicturePtr pSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync Mask mask,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pDst);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsyncValidatePicture(PicturePtr pPicture);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncint
45e9809aff7304721fddb95654901b32195c9c7avboxsyncFreePicture (pointer pPicture,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XID pid);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncint
45e9809aff7304721fddb95654901b32195c9c7avboxsyncFreePictFormat (pointer pPictFormat,
45e9809aff7304721fddb95654901b32195c9c7avboxsync XID pid);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsyncCompositePicture (CARD8 op,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pMask,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pDst,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 xSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 ySrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 xMask,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 yMask,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 xDst,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 yDst,
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD16 width,
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD16 height);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsyncCompositeGlyphs (CARD8 op,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pDst,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFormatPtr maskFormat,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 xSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 ySrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int nlist,
45e9809aff7304721fddb95654901b32195c9c7avboxsync GlyphListPtr lists,
45e9809aff7304721fddb95654901b32195c9c7avboxsync GlyphPtr *glyphs);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsyncCompositeRects (CARD8 op,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pDst,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xRenderColor *color,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int nRect,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xRectangle *rects);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsyncCompositeTrapezoids (CARD8 op,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pDst,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFormatPtr maskFormat,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 xSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 ySrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int ntrap,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xTrapezoid *traps);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsyncCompositeTriangles (CARD8 op,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pDst,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFormatPtr maskFormat,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 xSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 ySrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int ntriangles,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xTriangle *triangles);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsyncCompositeTriStrip (CARD8 op,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pDst,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFormatPtr maskFormat,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 xSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 ySrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int npoints,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xPointFixed *points);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsyncCompositeTriFan (CARD8 op,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PicturePtr pDst,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictFormatPtr maskFormat,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 xSrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 ySrc,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int npoints,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xPointFixed *points);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictureTransformPoint (PictTransformPtr transform,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictVectorPtr vector);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictureTransformPoint3d (PictTransformPtr transform,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictVectorPtr vector);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncCARD32
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPictureGradientColor (PictGradientStopPtr stop1,
45e9809aff7304721fddb95654901b32195c9c7avboxsync PictGradientStopPtr stop2,
45e9809aff7304721fddb95654901b32195c9c7avboxsync CARD32 x);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid RenderExtensionInit (void);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncBool
45e9809aff7304721fddb95654901b32195c9c7avboxsyncAnimCurInit (ScreenPtr pScreen);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncint
45e9809aff7304721fddb95654901b32195c9c7avboxsyncAnimCursorCreate (CursorPtr *cursors, CARD32 *deltas, int ncursor, CursorPtr *ppCursor);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid
45e9809aff7304721fddb95654901b32195c9c7avboxsyncAddTraps (PicturePtr pPicture,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 xOff,
45e9809aff7304721fddb95654901b32195c9c7avboxsync INT16 yOff,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int ntraps,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xTrap *traps);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncpixman_image_t *
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPixmanImageFromPicture (PicturePtr pPict,
45e9809aff7304721fddb95654901b32195c9c7avboxsync Bool hasClip);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPicturePtr
45e9809aff7304721fddb95654901b32195c9c7avboxsyncCreateSolidPicture (Picture pid,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xRenderColor *color,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int *error);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPicturePtr
45e9809aff7304721fddb95654901b32195c9c7avboxsyncCreateLinearGradientPicture (Picture pid,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xPointFixed *p1,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xPointFixed *p2,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int nStops,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xFixed *stops,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xRenderColor *colors,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int *error);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPicturePtr
45e9809aff7304721fddb95654901b32195c9c7avboxsyncCreateRadialGradientPicture (Picture pid,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xPointFixed *inner,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xPointFixed *outer,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xFixed innerRadius,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xFixed outerRadius,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int nStops,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xFixed *stops,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xRenderColor *colors,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int *error);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsyncPicturePtr
45e9809aff7304721fddb95654901b32195c9c7avboxsyncCreateConicalGradientPicture (Picture pid,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xPointFixed *center,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xFixed angle,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int nStops,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xFixed *stops,
45e9809aff7304721fddb95654901b32195c9c7avboxsync xRenderColor *colors,
45e9809aff7304721fddb95654901b32195c9c7avboxsync int *error);
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#ifdef PANORAMIX
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid PanoramiXRenderInit (void);
45e9809aff7304721fddb95654901b32195c9c7avboxsyncvoid PanoramiXRenderReset (void);
45e9809aff7304721fddb95654901b32195c9c7avboxsync#endif
45e9809aff7304721fddb95654901b32195c9c7avboxsync
45e9809aff7304721fddb95654901b32195c9c7avboxsync#endif /* _PICTURESTR_H_ */