040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync/*
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * Copyright © 2000 SuSE, Inc.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync *
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * Permission to use, copy, modify, distribute, and sell this software and its
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * documentation for any purpose is hereby granted without fee, provided that
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * the above copyright notice appear in all copies and that both that
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * copyright notice and this permission notice appear in supporting
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * documentation, and that the name of SuSE not be used in advertising or
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * publicity pertaining to distribution of the software without specific,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * written prior permission. SuSE makes no representations about the
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * suitability of this software for any purpose. It is provided "as is"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * without express or implied warranty.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync *
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync *
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * Author: Keith Packard, SuSE, Inc.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#ifndef _PICTURESTR_H_
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define _PICTURESTR_H_
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "scrnintstr.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "glyphstr.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "resource.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "privates.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _DirectFormat {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD16 red, redMask;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD16 green, greenMask;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD16 blue, blueMask;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD16 alpha, alphaMask;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} DirectFormatRec;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _IndexFormat {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync VisualID vid;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ColormapPtr pColormap;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int nvalues;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xIndexValue *pValues;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync void *devPrivate;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} IndexFormatRec;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _PictFormat {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 id;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 format; /* except bpp */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned char type;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned char depth;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DirectFormatRec direct;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync IndexFormatRec index;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} PictFormatRec;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct pixman_vector PictVector, *PictVectorPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct pixman_transform PictTransform, *PictTransformPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define PICT_GRADIENT_STOPTABLE_SIZE 1024
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SourcePictTypeSolidFill 0
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SourcePictTypeLinear 1
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SourcePictTypeRadial 2
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SourcePictTypeConical 3
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SourcePictClassUnknown 0
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SourcePictClassHorizontal 1
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SourcePictClassVertical 2
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _PictSolidFill {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int type;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int class;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 color;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} PictSolidFill, *PictSolidFillPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _PictGradientStop {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xFixed x;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xRenderColor color;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} PictGradientStop, *PictGradientStopPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _PictGradient {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int type;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int class;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int nstops;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictGradientStopPtr stops;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int stopRange;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 *colorTable;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int colorTableSize;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} PictGradient, *PictGradientPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _PictLinearGradient {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int type;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int class;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int nstops;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictGradientStopPtr stops;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int stopRange;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 *colorTable;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int colorTableSize;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xPointFixed p1;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xPointFixed p2;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} PictLinearGradient, *PictLinearGradientPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _PictCircle {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xFixed x;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xFixed y;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xFixed radius;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} PictCircle, *PictCirclePtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _PictRadialGradient {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int type;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int class;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int nstops;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictGradientStopPtr stops;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int stopRange;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 *colorTable;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int colorTableSize;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictCircle c1;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictCircle c2;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync double cdx;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync double cdy;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync double dr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync double A;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} PictRadialGradient, *PictRadialGradientPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _PictConicalGradient {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int type;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int class;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int nstops;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictGradientStopPtr stops;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int stopRange;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 *colorTable;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int colorTableSize;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xPointFixed center;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xFixed angle;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} PictConicalGradient, *PictConicalGradientPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef union _SourcePict {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int type;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictSolidFill solidFill;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictGradient gradient;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictLinearGradient linear;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictRadialGradient radial;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictConicalGradient conical;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} SourcePict, *SourcePictPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _Picture {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DrawablePtr pDrawable;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFormatPtr pFormat;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFormatShort format; /* PICT_FORMAT */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int refcnt;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 id;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pNext; /* chain on same drawable */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int repeat : 1;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int graphicsExposures : 1;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int subWindowMode : 1;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int polyEdge : 1;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int polyMode : 1;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int freeCompClip : 1;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int clientClipType : 2;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int componentAlpha : 1;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int repeatType : 2;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int unused : 21;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr alphaMap;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DDXPointRec alphaOrigin;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DDXPointRec clipOrigin;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync pointer clientClip;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync Atom dither;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned long stateChanges;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned long serialNumber;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync RegionPtr pCompositeClip;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PrivateRec *devPrivates;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictTransform *transform;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int filter;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xFixed *filter_params;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int filter_nparams;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync SourcePictPtr pSourcePict;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} PictureRec;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (*PictFilterValidateParamsProcPtr) (PicturePtr pPicture, int id,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xFixed *params, int nparams);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync char *name;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int id;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFilterValidateParamsProcPtr ValidateParams;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} PictFilterRec, *PictFilterPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define PictFilterNearest 0
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define PictFilterBilinear 1
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define PictFilterFast 2
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define PictFilterGood 3
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define PictFilterBest 4
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define PictFilterConvolution 5
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync char *alias;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int alias_id;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int filter_id;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} PictFilterAliasRec, *PictFilterAliasPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef int (*CreatePictureProcPtr) (PicturePtr pPicture);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*DestroyPictureProcPtr) (PicturePtr pPicture);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef int (*ChangePictureClipProcPtr) (PicturePtr pPicture,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int clipType,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync pointer value,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int n);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*DestroyPictureClipProcPtr)(PicturePtr pPicture);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef int (*ChangePictureTransformProcPtr) (PicturePtr pPicture,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictTransform *transform);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef int (*ChangePictureFilterProcPtr) (PicturePtr pPicture,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int filter,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xFixed *params,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int nparams);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*DestroyPictureFilterProcPtr) (PicturePtr pPicture);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*ChangePictureProcPtr) (PicturePtr pPicture,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync Mask mask);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*ValidatePictureProcPtr) (PicturePtr pPicture,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync Mask mask);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*CompositeProcPtr) (CARD8 op,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pMask,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pDst,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 xSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 ySrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 xMask,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 yMask,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 xDst,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 yDst,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD16 width,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD16 height);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*GlyphsProcPtr) (CARD8 op,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pDst,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFormatPtr maskFormat,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 xSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 ySrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int nlists,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync GlyphListPtr lists,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync GlyphPtr *glyphs);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*CompositeRectsProcPtr) (CARD8 op,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pDst,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xRenderColor *color,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int nRect,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xRectangle *rects);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*RasterizeTrapezoidProcPtr)(PicturePtr pMask,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xTrapezoid *trap,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int x_off,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int y_off);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*TrapezoidsProcPtr) (CARD8 op,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pDst,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFormatPtr maskFormat,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 xSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 ySrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int ntrap,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xTrapezoid *traps);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*TrianglesProcPtr) (CARD8 op,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pDst,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFormatPtr maskFormat,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 xSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 ySrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int ntri,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xTriangle *tris);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*TriStripProcPtr) (CARD8 op,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pDst,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFormatPtr maskFormat,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 xSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 ySrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int npoint,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xPointFixed *points);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*TriFanProcPtr) (CARD8 op,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pDst,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFormatPtr maskFormat,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 xSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 ySrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int npoint,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xPointFixed *points);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (*InitIndexedProcPtr) (ScreenPtr pScreen,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFormatPtr pFormat);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*CloseIndexedProcPtr) (ScreenPtr pScreen,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFormatPtr pFormat);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*UpdateIndexedProcPtr) (ScreenPtr pScreen,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFormatPtr pFormat,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int ndef,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xColorItem *pdef);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*AddTrapsProcPtr) (PicturePtr pPicture,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 xOff,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 yOff,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int ntrap,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xTrap *traps);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*AddTrianglesProcPtr) (PicturePtr pPicture,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 xOff,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 yOff,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int ntri,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xTriangle *tris);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef Bool (*RealizeGlyphProcPtr) (ScreenPtr pScreen,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync GlyphPtr glyph);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef void (*UnrealizeGlyphProcPtr) (ScreenPtr pScreen,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync GlyphPtr glyph);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _PictureScreen {
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFormatPtr formats;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFormatPtr fallback;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int nformats;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CreatePictureProcPtr CreatePicture;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DestroyPictureProcPtr DestroyPicture;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ChangePictureClipProcPtr ChangePictureClip;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DestroyPictureClipProcPtr DestroyPictureClip;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ChangePictureProcPtr ChangePicture;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ValidatePictureProcPtr ValidatePicture;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CompositeProcPtr Composite;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync GlyphsProcPtr Glyphs; /* unused */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CompositeRectsProcPtr CompositeRects;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DestroyWindowProcPtr DestroyWindow;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CloseScreenProcPtr CloseScreen;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync StoreColorsProcPtr StoreColors;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync InitIndexedProcPtr InitIndexed;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CloseIndexedProcPtr CloseIndexed;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync UpdateIndexedProcPtr UpdateIndexed;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int subpixel;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFilterPtr filters;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int nfilters;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFilterAliasPtr filterAliases;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int nfilterAliases;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync /**
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * Called immediately after a picture's transform is changed through the
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * SetPictureTransform request. Not called for source-only pictures.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ChangePictureTransformProcPtr ChangePictureTransform;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync /**
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * Called immediately after a picture's transform is changed through the
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync * SetPictureFilter request. Not called for source-only pictures.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ChangePictureFilterProcPtr ChangePictureFilter;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DestroyPictureFilterProcPtr DestroyPictureFilter;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync TrapezoidsProcPtr Trapezoids;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync TrianglesProcPtr Triangles;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync TriStripProcPtr TriStrip;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync TriFanProcPtr TriFan;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync RasterizeTrapezoidProcPtr RasterizeTrapezoid;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync AddTrianglesProcPtr AddTriangles;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync AddTrapsProcPtr AddTraps;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync RealizeGlyphProcPtr RealizeGlyph;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync UnrealizeGlyphProcPtr UnrealizeGlyph;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} PictureScreenRec, *PictureScreenPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern DevPrivateKey PictureScreenPrivateKey;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern DevPrivateKey PictureWindowPrivateKey;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern RESTYPE PictureType;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern RESTYPE PictFormatType;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern RESTYPE GlyphSetType;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define GetPictureScreen(s) ((PictureScreenPtr)dixLookupPrivate(&(s)->devPrivates, PictureScreenPrivateKey))
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define GetPictureScreenIfSet(s) GetPictureScreen(s)
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SetPictureScreen(s,p) dixSetPrivate(&(s)->devPrivates, PictureScreenPrivateKey, p)
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define GetPictureWindow(w) ((PicturePtr)dixLookupPrivate(&(w)->devPrivates, PictureWindowPrivateKey))
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define SetPictureWindow(w,p) dixSetPrivate(&(w)->devPrivates, PictureWindowPrivateKey, p)
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define GetGlyphPrivatesForScreen(glyph, s) \
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ((PrivateRec **)dixLookupPrivateAddr(&(glyph)->devPrivates, s))
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define VERIFY_PICTURE(pPicture, pid, client, mode, err) {\
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync pPicture = SecurityLookupIDByType(client, pid, PictureType, mode);\
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync if (!pPicture) { \
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync client->errorValue = pid; \
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync return err; \
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync } \
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync}
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define VERIFY_ALPHA(pPicture, pid, client, mode, err) {\
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync if (pid == None) \
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync pPicture = 0; \
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync else { \
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync VERIFY_PICTURE(pPicture, pid, client, mode, err); \
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync } \
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync} \
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureDestroyWindow (WindowPtr pWindow);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureCloseScreen (int Index, ScreenPtr pScreen);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureStoreColors (ColormapPtr pColormap, int ndef, xColorItem *pdef);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureInitIndexedFormat (ScreenPtr pScreen, PictFormatPtr format);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureSetSubpixelOrder (ScreenPtr pScreen, int subpixel);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureGetSubpixelOrder (ScreenPtr pScreen);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictFormatPtr
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureCreateDefaultFormats (ScreenPtr pScreen, int *nformatp);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictFormatPtr
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureMatchVisual (ScreenPtr pScreen, int depth, VisualPtr pVisual);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictFormatPtr
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureMatchFormat (ScreenPtr pScreen, int depth, CARD32 format);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureGetFilterId (char *filter, int len, Bool makeit);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncchar *
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureGetFilterName (int id);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureAddFilter (ScreenPtr pScreen,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync char *filter,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFilterValidateParamsProcPtr ValidateParams);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureSetFilterAlias (ScreenPtr pScreen, char *filter, char *alias);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureSetDefaultFilters (ScreenPtr pScreen);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureResetFilters (ScreenPtr pScreen);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictFilterPtr
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureFindFilter (ScreenPtr pScreen, char *name, int len);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncSetPictureFilter (PicturePtr pPicture, char *name, int len, xFixed *params, int nparams);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureFinishInit (void);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncSetPictureToDefaults (PicturePtr pPicture);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPicturePtr
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCreatePicture (Picture pid,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DrawablePtr pDrawable,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFormatPtr pFormat,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync Mask mask,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync XID *list,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ClientPtr client,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int *error);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncChangePicture (PicturePtr pPicture,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync Mask vmask,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync XID *vlist,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DevUnion *ulist,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ClientPtr client);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncSetPictureClipRects (PicturePtr pPicture,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int xOrigin,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int yOrigin,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int nRect,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xRectangle *rects);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncSetPictureClipRegion (PicturePtr pPicture,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int xOrigin,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int yOrigin,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync RegionPtr pRegion);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncSetPictureTransform (PicturePtr pPicture,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictTransform *transform);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCopyPicture (PicturePtr pSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync Mask mask,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pDst);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncValidatePicture(PicturePtr pPicture);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncFreePicture (pointer pPicture,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync XID pid);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncFreePictFormat (pointer pPictFormat,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync XID pid);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCompositePicture (CARD8 op,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pMask,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pDst,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 xSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 ySrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 xMask,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 yMask,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 xDst,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 yDst,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD16 width,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD16 height);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCompositeGlyphs (CARD8 op,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pDst,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFormatPtr maskFormat,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 xSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 ySrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int nlist,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync GlyphListPtr lists,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync GlyphPtr *glyphs);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCompositeRects (CARD8 op,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pDst,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xRenderColor *color,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int nRect,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xRectangle *rects);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCompositeTrapezoids (CARD8 op,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pDst,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFormatPtr maskFormat,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 xSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 ySrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int ntrap,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xTrapezoid *traps);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCompositeTriangles (CARD8 op,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pDst,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFormatPtr maskFormat,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 xSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 ySrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int ntriangles,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xTriangle *triangles);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCompositeTriStrip (CARD8 op,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pDst,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFormatPtr maskFormat,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 xSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 ySrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int npoints,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xPointFixed *points);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCompositeTriFan (CARD8 op,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PicturePtr pDst,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictFormatPtr maskFormat,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 xSrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 ySrc,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int npoints,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xPointFixed *points);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureTransformPoint (PictTransformPtr transform,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictVectorPtr vector);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureTransformPoint3d (PictTransformPtr transform,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictVectorPtr vector);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCARD32
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPictureGradientColor (PictGradientStopPtr stop1,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PictGradientStopPtr stop2,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CARD32 x);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid RenderExtensionInit (void);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncBool
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncAnimCurInit (ScreenPtr pScreen);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncAnimCursorCreate (CursorPtr *cursors, CARD32 *deltas, int ncursor, CursorPtr *ppCursor, ClientPtr client, XID cid);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncAddTraps (PicturePtr pPicture,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 xOff,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync INT16 yOff,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int ntraps,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xTrap *traps);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncpixman_image_t *
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPixmanImageFromPicture (PicturePtr pPict,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync Bool hasClip);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPicturePtr
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCreateSolidPicture (Picture pid,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xRenderColor *color,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int *error);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPicturePtr
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCreateLinearGradientPicture (Picture pid,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xPointFixed *p1,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xPointFixed *p2,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int nStops,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xFixed *stops,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xRenderColor *colors,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int *error);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPicturePtr
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCreateRadialGradientPicture (Picture pid,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xPointFixed *inner,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xPointFixed *outer,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xFixed innerRadius,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xFixed outerRadius,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int nStops,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xFixed *stops,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xRenderColor *colors,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int *error);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPicturePtr
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCreateConicalGradientPicture (Picture pid,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xPointFixed *center,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xFixed angle,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int nStops,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xFixed *stops,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xRenderColor *colors,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int *error);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#ifdef PANORAMIX
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid PanoramiXRenderInit (void);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncvoid PanoramiXRenderReset (void);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#endif
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#endif /* _PICTURESTR_H_ */