deb4998ba50060c48cce222fd18a8eed053918d7vboxsync/*
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * $Id$
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync *
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * Copyright © 2000 SuSE, Inc.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync *
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * Permission to use, copy, modify, distribute, and sell this software and its
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * documentation for any purpose is hereby granted without fee, provided that
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * the above copyright notice appear in all copies and that both that
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * copyright notice and this permission notice appear in supporting
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * documentation, and that the name of SuSE not be used in advertising or
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * publicity pertaining to distribution of the software without specific,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * written prior permission. SuSE makes no representations about the
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * suitability of this software for any purpose. It is provided "as is"
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * without express or implied warranty.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync *
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync *
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * Author: Keith Packard, SuSE, Inc.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#ifndef _PICTURESTR_H_
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define _PICTURESTR_H_
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include "glyphstr.h"
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include "scrnintstr.h"
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#include "resource.h"
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct _DirectFormat {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CARD16 red, redMask;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CARD16 green, greenMask;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CARD16 blue, blueMask;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CARD16 alpha, alphaMask;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync} DirectFormatRec;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct _IndexFormat {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync VisualID vid;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync ColormapPtr pColormap;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int nvalues;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xIndexValue *pValues;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync void *devPrivate;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync} IndexFormatRec;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct _PictFormat {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CARD32 id;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CARD32 format; /* except bpp */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned char type;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned char depth;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync DirectFormatRec direct;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync IndexFormatRec index;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync} PictFormatRec;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct _PictVector {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xFixed vector[3];
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync} PictVector, *PictVectorPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct _PictTransform {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xFixed matrix[3][3];
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync} PictTransform, *PictTransformPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define PICT_GRADIENT_STOPTABLE_SIZE 1024
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define SourcePictTypeSolidFill 0
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define SourcePictTypeLinear 1
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define SourcePictTypeRadial 2
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define SourcePictTypeConical 3
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct _PictSolidFill {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned int type;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CARD32 color;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync} PictSolidFill, *PictSolidFillPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct _PictGradientStop {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xFixed x;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xRenderColor color;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync} PictGradientStop, *PictGradientStopPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct _PictGradient {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned int type;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int nstops;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictGradientStopPtr stops;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CARD32 colorTable[PICT_GRADIENT_STOPTABLE_SIZE];
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync} PictGradient, *PictGradientPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct _PictLinearGradient {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned int type;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int nstops;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictGradientStopPtr stops;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CARD32 colorTable[PICT_GRADIENT_STOPTABLE_SIZE];
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xPointFixed p1;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xPointFixed p2;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync} PictLinearGradient, *PictLinearGradientPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct _PictRadialGradient {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned int type;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int nstops;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictGradientStopPtr stops;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CARD32 colorTable[PICT_GRADIENT_STOPTABLE_SIZE];
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync double fx;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync double fy;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync double dx;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync double dy;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync double a;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync double m;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync double b;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync} PictRadialGradient, *PictRadialGradientPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct _PictConicalGradient {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned int type;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int nstops;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictGradientStopPtr stops;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CARD32 colorTable[PICT_GRADIENT_STOPTABLE_SIZE];
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xPointFixed center;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xFixed angle;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync} PictConicalGradient, *PictConicalGradientPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef union _SourcePict {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned int type;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictSolidFill solidFill;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictGradient gradient;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictLinearGradient linear;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictRadialGradient radial;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictConicalGradient conical;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync} SourcePict, *SourcePictPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct _Picture {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync DrawablePtr pDrawable;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFormatPtr pFormat;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFormatShort format; /* PICT_FORMAT */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int refcnt;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CARD32 id;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pNext; /* chain on same drawable */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned int repeat : 1;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned int graphicsExposures : 1;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned int subWindowMode : 1;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned int polyEdge : 1;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned int polyMode : 1;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned int freeCompClip : 1;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned int clientClipType : 2;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned int componentAlpha : 1;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned int repeatType : 2;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned int unused : 21;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr alphaMap;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync DDXPointRec alphaOrigin;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync DDXPointRec clipOrigin;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync pointer clientClip;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync Atom dither;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned long stateChanges;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned long serialNumber;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync RegionPtr pCompositeClip;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync DevUnion *devPrivates;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictTransform *transform;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int filter;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xFixed *filter_params;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int filter_nparams;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync SourcePictPtr pSourcePict;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync} PictureRec;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef Bool (*PictFilterValidateParamsProcPtr) (PicturePtr pPicture, int id,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xFixed *params, int nparams);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *name;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int id;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFilterValidateParamsProcPtr ValidateParams;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync} PictFilterRec, *PictFilterPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define PictFilterNearest 0
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define PictFilterBilinear 1
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define PictFilterFast 2
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define PictFilterGood 3
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define PictFilterBest 4
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define PictFilterConvolution 5
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *alias;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int alias_id;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int filter_id;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync} PictFilterAliasRec, *PictFilterAliasPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef int (*CreatePictureProcPtr) (PicturePtr pPicture);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*DestroyPictureProcPtr) (PicturePtr pPicture);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef int (*ChangePictureClipProcPtr) (PicturePtr pPicture,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int clipType,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync pointer value,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int n);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*DestroyPictureClipProcPtr)(PicturePtr pPicture);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef int (*ChangePictureTransformProcPtr) (PicturePtr pPicture,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictTransform *transform);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef int (*ChangePictureFilterProcPtr) (PicturePtr pPicture,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int filter,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xFixed *params,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int nparams);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*DestroyPictureFilterProcPtr) (PicturePtr pPicture);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*ChangePictureProcPtr) (PicturePtr pPicture,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync Mask mask);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*ValidatePictureProcPtr) (PicturePtr pPicture,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync Mask mask);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*CompositeProcPtr) (CARD8 op,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pMask,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pDst,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 xSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 ySrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 xMask,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 yMask,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 xDst,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 yDst,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CARD16 width,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CARD16 height);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*GlyphsProcPtr) (CARD8 op,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pDst,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFormatPtr maskFormat,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 xSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 ySrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int nlists,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GlyphListPtr lists,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GlyphPtr *glyphs);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*CompositeRectsProcPtr) (CARD8 op,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pDst,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xRenderColor *color,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int nRect,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xRectangle *rects);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*RasterizeTrapezoidProcPtr)(PicturePtr pMask,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xTrapezoid *trap,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int x_off,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int y_off);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*TrapezoidsProcPtr) (CARD8 op,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pDst,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFormatPtr maskFormat,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 xSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 ySrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int ntrap,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xTrapezoid *traps);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*TrianglesProcPtr) (CARD8 op,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pDst,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFormatPtr maskFormat,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 xSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 ySrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int ntri,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xTriangle *tris);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*TriStripProcPtr) (CARD8 op,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pDst,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFormatPtr maskFormat,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 xSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 ySrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int npoint,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xPointFixed *points);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*TriFanProcPtr) (CARD8 op,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pDst,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFormatPtr maskFormat,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 xSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 ySrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int npoint,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xPointFixed *points);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef Bool (*InitIndexedProcPtr) (ScreenPtr pScreen,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFormatPtr pFormat);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*CloseIndexedProcPtr) (ScreenPtr pScreen,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFormatPtr pFormat);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*UpdateIndexedProcPtr) (ScreenPtr pScreen,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFormatPtr pFormat,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int ndef,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xColorItem *pdef);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*AddTrapsProcPtr) (PicturePtr pPicture,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 xOff,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 yOff,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int ntrap,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xTrap *traps);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*AddTrianglesProcPtr) (PicturePtr pPicture,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 xOff,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 yOff,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int ntri,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xTriangle *tris);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef Bool (*RealizeGlyphProcPtr) (ScreenPtr pScreen,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GlyphPtr glyph);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef void (*UnrealizeGlyphProcPtr) (ScreenPtr pScreen,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GlyphPtr glyph);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsynctypedef struct _PictureScreen {
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int totalPictureSize;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned int *PicturePrivateSizes;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int PicturePrivateLen;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFormatPtr formats;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFormatPtr fallback;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int nformats;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CreatePictureProcPtr CreatePicture;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync DestroyPictureProcPtr DestroyPicture;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync ChangePictureClipProcPtr ChangePictureClip;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync DestroyPictureClipProcPtr DestroyPictureClip;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync ChangePictureProcPtr ChangePicture;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync ValidatePictureProcPtr ValidatePicture;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CompositeProcPtr Composite;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GlyphsProcPtr Glyphs;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CompositeRectsProcPtr CompositeRects;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync DestroyWindowProcPtr DestroyWindow;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CloseScreenProcPtr CloseScreen;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync StoreColorsProcPtr StoreColors;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync InitIndexedProcPtr InitIndexed;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CloseIndexedProcPtr CloseIndexed;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync UpdateIndexedProcPtr UpdateIndexed;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int subpixel;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFilterPtr filters;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int nfilters;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFilterAliasPtr filterAliases;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int nfilterAliases;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync /**
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * Called immediately after a picture's transform is changed through the
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * SetPictureTransform request. Not called for source-only pictures.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync ChangePictureTransformProcPtr ChangePictureTransform;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync /**
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * Called immediately after a picture's transform is changed through the
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync * SetPictureFilter request. Not called for source-only pictures.
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync */
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync ChangePictureFilterProcPtr ChangePictureFilter;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync DestroyPictureFilterProcPtr DestroyPictureFilter;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync TrapezoidsProcPtr Trapezoids;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync TrianglesProcPtr Triangles;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync TriStripProcPtr TriStrip;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync TriFanProcPtr TriFan;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync RasterizeTrapezoidProcPtr RasterizeTrapezoid;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync AddTrianglesProcPtr AddTriangles;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync AddTrapsProcPtr AddTraps;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int totalGlyphPrivateSize;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync unsigned int *glyphPrivateSizes;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int glyphPrivateLen;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int glyphPrivateOffset;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync RealizeGlyphProcPtr RealizeGlyph;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync UnrealizeGlyphProcPtr UnrealizeGlyph;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync} PictureScreenRec, *PictureScreenPtr;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern int PictureScreenPrivateIndex;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern int PictureWindowPrivateIndex;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern RESTYPE PictureType;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern RESTYPE PictFormatType;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncextern RESTYPE GlyphSetType;
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define GetPictureScreen(s) ((PictureScreenPtr) ((s)->devPrivates[PictureScreenPrivateIndex].ptr))
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define GetPictureScreenIfSet(s) ((PictureScreenPrivateIndex != -1) ? GetPictureScreen(s) : NULL)
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define SetPictureScreen(s,p) ((s)->devPrivates[PictureScreenPrivateIndex].ptr = (pointer) (p))
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define GetPictureWindow(w) ((PicturePtr) ((w)->devPrivates[PictureWindowPrivateIndex].ptr))
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define SetPictureWindow(w,p) ((w)->devPrivates[PictureWindowPrivateIndex].ptr = (pointer) (p))
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define GetGlyphPrivatesForScreen(glyph, s) \
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync ((glyph)->devPrivates + (GetPictureScreen (s))->glyphPrivateOffset)
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define VERIFY_PICTURE(pPicture, pid, client, mode, err) {\
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync pPicture = SecurityLookupIDByType(client, pid, PictureType, mode);\
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync if (!pPicture) { \
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync client->errorValue = pid; \
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync return err; \
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync } \
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync}
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#define VERIFY_ALPHA(pPicture, pid, client, mode, err) {\
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync if (pid == None) \
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync pPicture = 0; \
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync else { \
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync VERIFY_PICTURE(pPicture, pid, client, mode, err); \
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync } \
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync} \
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncResetPicturePrivateIndex (void);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncint
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncAllocatePicturePrivateIndex (void);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncBool
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncAllocatePicturePrivate (ScreenPtr pScreen, int index2, unsigned int amount);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncBool
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureDestroyWindow (WindowPtr pWindow);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncBool
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureCloseScreen (int Index, ScreenPtr pScreen);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureStoreColors (ColormapPtr pColormap, int ndef, xColorItem *pdef);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncBool
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureInitIndexedFormats (ScreenPtr pScreen);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncBool
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureSetSubpixelOrder (ScreenPtr pScreen, int subpixel);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncint
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureGetSubpixelOrder (ScreenPtr pScreen);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictFormatPtr
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureCreateDefaultFormats (ScreenPtr pScreen, int *nformatp);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictFormatPtr
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureMatchVisual (ScreenPtr pScreen, int depth, VisualPtr pVisual);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictFormatPtr
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureMatchFormat (ScreenPtr pScreen, int depth, CARD32 format);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncBool
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncint
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureGetFilterId (char *filter, int len, Bool makeit);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncchar *
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureGetFilterName (int id);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncint
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureAddFilter (ScreenPtr pScreen,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync char *filter,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFilterValidateParamsProcPtr ValidateParams);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncBool
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureSetFilterAlias (ScreenPtr pScreen, char *filter, char *alias);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncBool
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureSetDefaultFilters (ScreenPtr pScreen);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureResetFilters (ScreenPtr pScreen);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictFilterPtr
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureFindFilter (ScreenPtr pScreen, char *name, int len);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncint
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncSetPictureFilter (PicturePtr pPicture, char *name, int len, xFixed *params, int nparams);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncBool
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureFinishInit (void);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncSetPictureToDefaults (PicturePtr pPicture);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPicturePtr
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncAllocatePicture (ScreenPtr pScreen);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#if 0
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncBool
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncmiPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#endif
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPicturePtr
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncCreatePicture (Picture pid,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync DrawablePtr pDrawable,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFormatPtr pFormat,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync Mask mask,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XID *list,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync ClientPtr client,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int *error);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncint
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncChangePicture (PicturePtr pPicture,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync Mask vmask,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XID *vlist,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync DevUnion *ulist,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync ClientPtr client);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncint
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncSetPictureClipRects (PicturePtr pPicture,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int xOrigin,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int yOrigin,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int nRect,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xRectangle *rects);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncint
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncSetPictureClipRegion (PicturePtr pPicture,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int xOrigin,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int yOrigin,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync RegionPtr pRegion);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncint
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncSetPictureTransform (PicturePtr pPicture,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictTransform *transform);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncCopyPicture (PicturePtr pSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync Mask mask,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pDst);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncValidatePicture(PicturePtr pPicture);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncint
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncFreePicture (pointer pPicture,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XID pid);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncint
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncFreePictFormat (pointer pPictFormat,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync XID pid);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncCompositePicture (CARD8 op,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pMask,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pDst,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 xSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 ySrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 xMask,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 yMask,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 xDst,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 yDst,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CARD16 width,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync CARD16 height);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncCompositeGlyphs (CARD8 op,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pDst,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFormatPtr maskFormat,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 xSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 ySrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int nlist,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GlyphListPtr lists,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync GlyphPtr *glyphs);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncCompositeRects (CARD8 op,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pDst,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xRenderColor *color,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int nRect,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xRectangle *rects);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncCompositeTrapezoids (CARD8 op,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pDst,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFormatPtr maskFormat,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 xSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 ySrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int ntrap,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xTrapezoid *traps);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncCompositeTriangles (CARD8 op,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pDst,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFormatPtr maskFormat,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 xSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 ySrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int ntriangles,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xTriangle *triangles);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncCompositeTriStrip (CARD8 op,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pDst,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFormatPtr maskFormat,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 xSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 ySrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int npoints,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xPointFixed *points);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncCompositeTriFan (CARD8 op,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PicturePtr pDst,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictFormatPtr maskFormat,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 xSrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 ySrc,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int npoints,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xPointFixed *points);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncBool
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureTransformPoint (PictTransformPtr transform,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictVectorPtr vector);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncBool
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPictureTransformPoint3d (PictTransformPtr transform,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync PictVectorPtr vector);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid RenderExtensionInit (void);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncBool
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncAnimCurInit (ScreenPtr pScreen);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncint
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncAnimCursorCreate (CursorPtr *cursors, CARD32 *deltas, int ncursor, CursorPtr *ppCursor);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncAddTraps (PicturePtr pPicture,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 xOff,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync INT16 yOff,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int ntraps,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xTrap *traps);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPicturePtr
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncCreateSolidPicture (Picture pid,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xRenderColor *color,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int *error);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPicturePtr
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncCreateLinearGradientPicture (Picture pid,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xPointFixed *p1,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xPointFixed *p2,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int nStops,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xFixed *stops,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xRenderColor *colors,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int *error);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPicturePtr
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncCreateRadialGradientPicture (Picture pid,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xPointFixed *inner,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xPointFixed *outer,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xFixed innerRadius,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xFixed outerRadius,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int nStops,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xFixed *stops,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xRenderColor *colors,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int *error);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncPicturePtr
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncCreateConicalGradientPicture (Picture pid,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xPointFixed *center,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xFixed angle,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int nStops,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xFixed *stops,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync xRenderColor *colors,
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync int *error);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#ifdef PANORAMIX
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid PanoramiXRenderInit (void);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsyncvoid PanoramiXRenderReset (void);
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#endif
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync
deb4998ba50060c48cce222fd18a8eed053918d7vboxsync#endif /* _PICTURESTR_H_ */