4c221b0da1816acf2ca302b10092df059484468dvboxsync/*
4c221b0da1816acf2ca302b10092df059484468dvboxsync * Copyright © 2000 SuSE, Inc.
4c221b0da1816acf2ca302b10092df059484468dvboxsync *
4c221b0da1816acf2ca302b10092df059484468dvboxsync * Permission to use, copy, modify, distribute, and sell this software and its
4c221b0da1816acf2ca302b10092df059484468dvboxsync * documentation for any purpose is hereby granted without fee, provided that
4c221b0da1816acf2ca302b10092df059484468dvboxsync * the above copyright notice appear in all copies and that both that
4c221b0da1816acf2ca302b10092df059484468dvboxsync * copyright notice and this permission notice appear in supporting
4c221b0da1816acf2ca302b10092df059484468dvboxsync * documentation, and that the name of SuSE not be used in advertising or
4c221b0da1816acf2ca302b10092df059484468dvboxsync * publicity pertaining to distribution of the software without specific,
4c221b0da1816acf2ca302b10092df059484468dvboxsync * written prior permission. SuSE makes no representations about the
4c221b0da1816acf2ca302b10092df059484468dvboxsync * suitability of this software for any purpose. It is provided "as is"
4c221b0da1816acf2ca302b10092df059484468dvboxsync * without express or implied warranty.
4c221b0da1816acf2ca302b10092df059484468dvboxsync *
4c221b0da1816acf2ca302b10092df059484468dvboxsync * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
4c221b0da1816acf2ca302b10092df059484468dvboxsync * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
4c221b0da1816acf2ca302b10092df059484468dvboxsync * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
4c221b0da1816acf2ca302b10092df059484468dvboxsync * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
4c221b0da1816acf2ca302b10092df059484468dvboxsync * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
4c221b0da1816acf2ca302b10092df059484468dvboxsync * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
4c221b0da1816acf2ca302b10092df059484468dvboxsync *
4c221b0da1816acf2ca302b10092df059484468dvboxsync * Author: Keith Packard, SuSE, Inc.
4c221b0da1816acf2ca302b10092df059484468dvboxsync */
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync#ifndef _PICTURESTR_H_
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define _PICTURESTR_H_
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync#include "scrnintstr.h"
4c221b0da1816acf2ca302b10092df059484468dvboxsync#include "glyphstr.h"
4c221b0da1816acf2ca302b10092df059484468dvboxsync#include "resource.h"
4c221b0da1816acf2ca302b10092df059484468dvboxsync#include "privates.h"
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef struct _DirectFormat {
4c221b0da1816acf2ca302b10092df059484468dvboxsync CARD16 red, redMask;
4c221b0da1816acf2ca302b10092df059484468dvboxsync CARD16 green, greenMask;
4c221b0da1816acf2ca302b10092df059484468dvboxsync CARD16 blue, blueMask;
4c221b0da1816acf2ca302b10092df059484468dvboxsync CARD16 alpha, alphaMask;
4c221b0da1816acf2ca302b10092df059484468dvboxsync} DirectFormatRec;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef struct _IndexFormat {
4c221b0da1816acf2ca302b10092df059484468dvboxsync VisualID vid;
4c221b0da1816acf2ca302b10092df059484468dvboxsync ColormapPtr pColormap;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int nvalues;
4c221b0da1816acf2ca302b10092df059484468dvboxsync xIndexValue *pValues;
4c221b0da1816acf2ca302b10092df059484468dvboxsync void *devPrivate;
4c221b0da1816acf2ca302b10092df059484468dvboxsync} IndexFormatRec;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef struct _PictFormat {
4c221b0da1816acf2ca302b10092df059484468dvboxsync CARD32 id;
4c221b0da1816acf2ca302b10092df059484468dvboxsync CARD32 format; /* except bpp */
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned char type;
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned char depth;
4c221b0da1816acf2ca302b10092df059484468dvboxsync DirectFormatRec direct;
4c221b0da1816acf2ca302b10092df059484468dvboxsync IndexFormatRec index;
4c221b0da1816acf2ca302b10092df059484468dvboxsync} PictFormatRec;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef struct pixman_vector PictVector, *PictVectorPtr;
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef struct pixman_transform PictTransform, *PictTransformPtr;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define pict_f_vector pixman_f_vector
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define pict_f_transform pixman_f_transform
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define PICT_GRADIENT_STOPTABLE_SIZE 1024
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define SourcePictTypeSolidFill 0
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define SourcePictTypeLinear 1
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define SourcePictTypeRadial 2
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define SourcePictTypeConical 3
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define SourcePictClassUnknown 0
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define SourcePictClassHorizontal 1
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define SourcePictClassVertical 2
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef struct _PictSolidFill {
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int type;
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int class;
4c221b0da1816acf2ca302b10092df059484468dvboxsync CARD32 color;
4c221b0da1816acf2ca302b10092df059484468dvboxsync} PictSolidFill, *PictSolidFillPtr;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef struct _PictGradientStop {
4c221b0da1816acf2ca302b10092df059484468dvboxsync xFixed x;
4c221b0da1816acf2ca302b10092df059484468dvboxsync xRenderColor color;
4c221b0da1816acf2ca302b10092df059484468dvboxsync} PictGradientStop, *PictGradientStopPtr;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef struct _PictGradient {
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int type;
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int class;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int nstops;
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictGradientStopPtr stops;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int stopRange;
4c221b0da1816acf2ca302b10092df059484468dvboxsync CARD32 *colorTable;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int colorTableSize;
4c221b0da1816acf2ca302b10092df059484468dvboxsync} PictGradient, *PictGradientPtr;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef struct _PictLinearGradient {
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int type;
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int class;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int nstops;
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictGradientStopPtr stops;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int stopRange;
4c221b0da1816acf2ca302b10092df059484468dvboxsync CARD32 *colorTable;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int colorTableSize;
4c221b0da1816acf2ca302b10092df059484468dvboxsync xPointFixed p1;
4c221b0da1816acf2ca302b10092df059484468dvboxsync xPointFixed p2;
4c221b0da1816acf2ca302b10092df059484468dvboxsync} PictLinearGradient, *PictLinearGradientPtr;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef struct _PictCircle {
4c221b0da1816acf2ca302b10092df059484468dvboxsync xFixed x;
4c221b0da1816acf2ca302b10092df059484468dvboxsync xFixed y;
4c221b0da1816acf2ca302b10092df059484468dvboxsync xFixed radius;
4c221b0da1816acf2ca302b10092df059484468dvboxsync} PictCircle, *PictCirclePtr;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef struct _PictRadialGradient {
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int type;
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int class;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int nstops;
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictGradientStopPtr stops;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int stopRange;
4c221b0da1816acf2ca302b10092df059484468dvboxsync CARD32 *colorTable;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int colorTableSize;
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictCircle c1;
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictCircle c2;
4c221b0da1816acf2ca302b10092df059484468dvboxsync double cdx;
4c221b0da1816acf2ca302b10092df059484468dvboxsync double cdy;
4c221b0da1816acf2ca302b10092df059484468dvboxsync double dr;
4c221b0da1816acf2ca302b10092df059484468dvboxsync double A;
4c221b0da1816acf2ca302b10092df059484468dvboxsync} PictRadialGradient, *PictRadialGradientPtr;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef struct _PictConicalGradient {
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int type;
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int class;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int nstops;
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictGradientStopPtr stops;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int stopRange;
4c221b0da1816acf2ca302b10092df059484468dvboxsync CARD32 *colorTable;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int colorTableSize;
4c221b0da1816acf2ca302b10092df059484468dvboxsync xPointFixed center;
4c221b0da1816acf2ca302b10092df059484468dvboxsync xFixed angle;
4c221b0da1816acf2ca302b10092df059484468dvboxsync} PictConicalGradient, *PictConicalGradientPtr;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef union _SourcePict {
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int type;
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictSolidFill solidFill;
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictGradient gradient;
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictLinearGradient linear;
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictRadialGradient radial;
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictConicalGradient conical;
4c221b0da1816acf2ca302b10092df059484468dvboxsync} SourcePict, *SourcePictPtr;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef struct _Picture {
4c221b0da1816acf2ca302b10092df059484468dvboxsync DrawablePtr pDrawable;
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFormatPtr pFormat;
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFormatShort format; /* PICT_FORMAT */
4c221b0da1816acf2ca302b10092df059484468dvboxsync int refcnt;
4c221b0da1816acf2ca302b10092df059484468dvboxsync CARD32 id;
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int repeat : 1;
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int graphicsExposures : 1;
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int subWindowMode : 1;
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int polyEdge : 1;
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int polyMode : 1;
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int freeCompClip : 1;
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int clientClipType : 2;
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int componentAlpha : 1;
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int repeatType : 2;
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int filter : 3;
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int stateChanges : CPLastBit;
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int unused : 18 - CPLastBit;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pNext; /* chain on same drawable */
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr alphaMap;
4c221b0da1816acf2ca302b10092df059484468dvboxsync DDXPointRec alphaOrigin;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync DDXPointRec clipOrigin;
4c221b0da1816acf2ca302b10092df059484468dvboxsync pointer clientClip;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned long serialNumber;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync RegionPtr pCompositeClip;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync PrivateRec *devPrivates;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictTransform *transform;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync SourcePictPtr pSourcePict;
4c221b0da1816acf2ca302b10092df059484468dvboxsync xFixed *filter_params;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int filter_nparams;
4c221b0da1816acf2ca302b10092df059484468dvboxsync} PictureRec;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef Bool (*PictFilterValidateParamsProcPtr) (ScreenPtr pScreen, int id,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xFixed *params, int nparams,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int *width, int *height);
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef struct {
4c221b0da1816acf2ca302b10092df059484468dvboxsync char *name;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int id;
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFilterValidateParamsProcPtr ValidateParams;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int width, height;
4c221b0da1816acf2ca302b10092df059484468dvboxsync} PictFilterRec, *PictFilterPtr;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define PictFilterNearest 0
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define PictFilterBilinear 1
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define PictFilterFast 2
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define PictFilterGood 3
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define PictFilterBest 4
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define PictFilterConvolution 5
4c221b0da1816acf2ca302b10092df059484468dvboxsync/* if you add an 8th filter, expand the filter bitfield above */
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef struct {
4c221b0da1816acf2ca302b10092df059484468dvboxsync char *alias;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int alias_id;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int filter_id;
4c221b0da1816acf2ca302b10092df059484468dvboxsync} PictFilterAliasRec, *PictFilterAliasPtr;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef int (*CreatePictureProcPtr) (PicturePtr pPicture);
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef void (*DestroyPictureProcPtr) (PicturePtr pPicture);
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef int (*ChangePictureClipProcPtr) (PicturePtr pPicture,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int clipType,
4c221b0da1816acf2ca302b10092df059484468dvboxsync pointer value,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int n);
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef void (*DestroyPictureClipProcPtr)(PicturePtr pPicture);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef int (*ChangePictureTransformProcPtr) (PicturePtr pPicture,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictTransform *transform);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef int (*ChangePictureFilterProcPtr) (PicturePtr pPicture,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int filter,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xFixed *params,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int nparams);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef void (*DestroyPictureFilterProcPtr) (PicturePtr pPicture);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef void (*ChangePictureProcPtr) (PicturePtr pPicture,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Mask mask);
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef void (*ValidatePictureProcPtr) (PicturePtr pPicture,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Mask mask);
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef void (*CompositeProcPtr) (CARD8 op,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pMask,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pDst,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 xSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 ySrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 xMask,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 yMask,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 xDst,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 yDst,
4c221b0da1816acf2ca302b10092df059484468dvboxsync CARD16 width,
4c221b0da1816acf2ca302b10092df059484468dvboxsync CARD16 height);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef void (*GlyphsProcPtr) (CARD8 op,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pDst,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFormatPtr maskFormat,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 xSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 ySrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int nlists,
4c221b0da1816acf2ca302b10092df059484468dvboxsync GlyphListPtr lists,
4c221b0da1816acf2ca302b10092df059484468dvboxsync GlyphPtr *glyphs);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef void (*CompositeRectsProcPtr) (CARD8 op,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pDst,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xRenderColor *color,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int nRect,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xRectangle *rects);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef void (*RasterizeTrapezoidProcPtr)(PicturePtr pMask,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xTrapezoid *trap,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int x_off,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int y_off);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef void (*TrapezoidsProcPtr) (CARD8 op,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pDst,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFormatPtr maskFormat,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 xSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 ySrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int ntrap,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xTrapezoid *traps);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef void (*TrianglesProcPtr) (CARD8 op,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pDst,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFormatPtr maskFormat,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 xSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 ySrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int ntri,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xTriangle *tris);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef void (*TriStripProcPtr) (CARD8 op,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pDst,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFormatPtr maskFormat,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 xSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 ySrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int npoint,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xPointFixed *points);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef void (*TriFanProcPtr) (CARD8 op,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pDst,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFormatPtr maskFormat,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 xSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 ySrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int npoint,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xPointFixed *points);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef Bool (*InitIndexedProcPtr) (ScreenPtr pScreen,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFormatPtr pFormat);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef void (*CloseIndexedProcPtr) (ScreenPtr pScreen,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFormatPtr pFormat);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef void (*UpdateIndexedProcPtr) (ScreenPtr pScreen,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFormatPtr pFormat,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int ndef,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xColorItem *pdef);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef void (*AddTrapsProcPtr) (PicturePtr pPicture,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 xOff,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 yOff,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int ntrap,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xTrap *traps);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef void (*AddTrianglesProcPtr) (PicturePtr pPicture,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 xOff,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 yOff,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int ntri,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xTriangle *tris);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef Bool (*RealizeGlyphProcPtr) (ScreenPtr pScreen,
4c221b0da1816acf2ca302b10092df059484468dvboxsync GlyphPtr glyph);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef void (*UnrealizeGlyphProcPtr) (ScreenPtr pScreen,
4c221b0da1816acf2ca302b10092df059484468dvboxsync GlyphPtr glyph);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef struct _PictureScreen {
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFormatPtr formats;
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFormatPtr fallback;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int nformats;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync CreatePictureProcPtr CreatePicture;
4c221b0da1816acf2ca302b10092df059484468dvboxsync DestroyPictureProcPtr DestroyPicture;
4c221b0da1816acf2ca302b10092df059484468dvboxsync ChangePictureClipProcPtr ChangePictureClip;
4c221b0da1816acf2ca302b10092df059484468dvboxsync DestroyPictureClipProcPtr DestroyPictureClip;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync ChangePictureProcPtr ChangePicture;
4c221b0da1816acf2ca302b10092df059484468dvboxsync ValidatePictureProcPtr ValidatePicture;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync CompositeProcPtr Composite;
4c221b0da1816acf2ca302b10092df059484468dvboxsync GlyphsProcPtr Glyphs; /* unused */
4c221b0da1816acf2ca302b10092df059484468dvboxsync CompositeRectsProcPtr CompositeRects;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync DestroyWindowProcPtr DestroyWindow;
4c221b0da1816acf2ca302b10092df059484468dvboxsync CloseScreenProcPtr CloseScreen;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync StoreColorsProcPtr StoreColors;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync InitIndexedProcPtr InitIndexed;
4c221b0da1816acf2ca302b10092df059484468dvboxsync CloseIndexedProcPtr CloseIndexed;
4c221b0da1816acf2ca302b10092df059484468dvboxsync UpdateIndexedProcPtr UpdateIndexed;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync int subpixel;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFilterPtr filters;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int nfilters;
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFilterAliasPtr filterAliases;
4c221b0da1816acf2ca302b10092df059484468dvboxsync int nfilterAliases;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync /**
4c221b0da1816acf2ca302b10092df059484468dvboxsync * Called immediately after a picture's transform is changed through the
4c221b0da1816acf2ca302b10092df059484468dvboxsync * SetPictureTransform request. Not called for source-only pictures.
4c221b0da1816acf2ca302b10092df059484468dvboxsync */
4c221b0da1816acf2ca302b10092df059484468dvboxsync ChangePictureTransformProcPtr ChangePictureTransform;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync /**
4c221b0da1816acf2ca302b10092df059484468dvboxsync * Called immediately after a picture's transform is changed through the
4c221b0da1816acf2ca302b10092df059484468dvboxsync * SetPictureFilter request. Not called for source-only pictures.
4c221b0da1816acf2ca302b10092df059484468dvboxsync */
4c221b0da1816acf2ca302b10092df059484468dvboxsync ChangePictureFilterProcPtr ChangePictureFilter;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync DestroyPictureFilterProcPtr DestroyPictureFilter;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync TrapezoidsProcPtr Trapezoids;
4c221b0da1816acf2ca302b10092df059484468dvboxsync TrianglesProcPtr Triangles;
4c221b0da1816acf2ca302b10092df059484468dvboxsync TriStripProcPtr TriStrip;
4c221b0da1816acf2ca302b10092df059484468dvboxsync TriFanProcPtr TriFan;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync RasterizeTrapezoidProcPtr RasterizeTrapezoid;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync AddTrianglesProcPtr AddTriangles;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync AddTrapsProcPtr AddTraps;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync RealizeGlyphProcPtr RealizeGlyph;
4c221b0da1816acf2ca302b10092df059484468dvboxsync UnrealizeGlyphProcPtr UnrealizeGlyph;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync} PictureScreenRec, *PictureScreenPtr;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT DevPrivateKeyRec PictureScreenPrivateKeyRec;
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define PictureScreenPrivateKey (&PictureScreenPrivateKeyRec)
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT DevPrivateKeyRec PictureWindowPrivateKeyRec;
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define PictureWindowPrivateKey (&PictureWindowPrivateKeyRec)
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT RESTYPE PictureType;
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT RESTYPE PictFormatType;
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT RESTYPE GlyphSetType;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define GetPictureScreen(s) ((PictureScreenPtr)dixLookupPrivate(&(s)->devPrivates, PictureScreenPrivateKey))
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define GetPictureScreenIfSet(s) (dixPrivateKeyRegistered(PictureScreenPrivateKey) ? GetPictureScreen(s) : NULL)
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define SetPictureScreen(s,p) dixSetPrivate(&(s)->devPrivates, PictureScreenPrivateKey, p)
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define GetPictureWindow(w) ((PicturePtr)dixLookupPrivate(&(w)->devPrivates, PictureWindowPrivateKey))
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define SetPictureWindow(w,p) dixSetPrivate(&(w)->devPrivates, PictureWindowPrivateKey, p)
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define VERIFY_PICTURE(pPicture, pid, client, mode) {\
4c221b0da1816acf2ca302b10092df059484468dvboxsync int rc = dixLookupResourceByType((pointer)&(pPicture), pid,\
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictureType, client, mode);\
4c221b0da1816acf2ca302b10092df059484468dvboxsync if (rc != Success)\
4c221b0da1816acf2ca302b10092df059484468dvboxsync return rc;\
4c221b0da1816acf2ca302b10092df059484468dvboxsync}
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define VERIFY_ALPHA(pPicture, pid, client, mode) {\
4c221b0da1816acf2ca302b10092df059484468dvboxsync if (pid == None) \
4c221b0da1816acf2ca302b10092df059484468dvboxsync pPicture = 0; \
4c221b0da1816acf2ca302b10092df059484468dvboxsync else { \
4c221b0da1816acf2ca302b10092df059484468dvboxsync VERIFY_PICTURE(pPicture, pid, client, mode); \
4c221b0da1816acf2ca302b10092df059484468dvboxsync } \
4c221b0da1816acf2ca302b10092df059484468dvboxsync} \
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT Bool
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictureDestroyWindow (WindowPtr pWindow);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT Bool
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictureCloseScreen (int Index, ScreenPtr pScreen);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictureStoreColors (ColormapPtr pColormap, int ndef, xColorItem *pdef);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT Bool
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictureInitIndexedFormat (ScreenPtr pScreen, PictFormatPtr format);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT Bool
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictureSetSubpixelOrder (ScreenPtr pScreen, int subpixel);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictureGetSubpixelOrder (ScreenPtr pScreen);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT PictFormatPtr
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictureCreateDefaultFormats (ScreenPtr pScreen, int *nformatp);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT PictFormatPtr
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictureMatchVisual (ScreenPtr pScreen, int depth, VisualPtr pVisual);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT PictFormatPtr
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictureMatchFormat (ScreenPtr pScreen, int depth, CARD32 format);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT Bool
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictureGetFilterId (char *filter, int len, Bool makeit);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT char *
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictureGetFilterName (int id);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictureAddFilter (ScreenPtr pScreen,
4c221b0da1816acf2ca302b10092df059484468dvboxsync char *filter,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFilterValidateParamsProcPtr ValidateParams,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int width,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int height);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT Bool
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictureSetFilterAlias (ScreenPtr pScreen, char *filter, char *alias);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT Bool
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictureSetDefaultFilters (ScreenPtr pScreen);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictureResetFilters (ScreenPtr pScreen);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT PictFilterPtr
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictureFindFilter (ScreenPtr pScreen, char *name, int len);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncSetPicturePictFilter (PicturePtr pPicture, PictFilterPtr pFilter,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xFixed *params, int nparams);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncSetPictureFilter (PicturePtr pPicture, char *name, int len,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xFixed *params, int nparams);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT Bool
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictureFinishInit (void);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncSetPictureToDefaults (PicturePtr pPicture);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT PicturePtr
4c221b0da1816acf2ca302b10092df059484468dvboxsyncCreatePicture (Picture pid,
4c221b0da1816acf2ca302b10092df059484468dvboxsync DrawablePtr pDrawable,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFormatPtr pFormat,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Mask mask,
4c221b0da1816acf2ca302b10092df059484468dvboxsync XID *list,
4c221b0da1816acf2ca302b10092df059484468dvboxsync ClientPtr client,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int *error);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncChangePicture (PicturePtr pPicture,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Mask vmask,
4c221b0da1816acf2ca302b10092df059484468dvboxsync XID *vlist,
4c221b0da1816acf2ca302b10092df059484468dvboxsync DevUnion *ulist,
4c221b0da1816acf2ca302b10092df059484468dvboxsync ClientPtr client);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncSetPictureClipRects (PicturePtr pPicture,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int xOrigin,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int yOrigin,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int nRect,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xRectangle *rects);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncSetPictureClipRegion (PicturePtr pPicture,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int xOrigin,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int yOrigin,
4c221b0da1816acf2ca302b10092df059484468dvboxsync RegionPtr pRegion);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncSetPictureTransform (PicturePtr pPicture,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictTransform *transform);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncCopyPicture (PicturePtr pSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Mask mask,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pDst);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncValidatePicture(PicturePtr pPicture);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncFreePicture (pointer pPicture,
4c221b0da1816acf2ca302b10092df059484468dvboxsync XID pid);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncFreePictFormat (pointer pPictFormat,
4c221b0da1816acf2ca302b10092df059484468dvboxsync XID pid);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncCompositePicture (CARD8 op,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pMask,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pDst,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 xSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 ySrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 xMask,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 yMask,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 xDst,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 yDst,
4c221b0da1816acf2ca302b10092df059484468dvboxsync CARD16 width,
4c221b0da1816acf2ca302b10092df059484468dvboxsync CARD16 height);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncCompositeGlyphs (CARD8 op,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pDst,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFormatPtr maskFormat,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 xSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 ySrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int nlist,
4c221b0da1816acf2ca302b10092df059484468dvboxsync GlyphListPtr lists,
4c221b0da1816acf2ca302b10092df059484468dvboxsync GlyphPtr *glyphs);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncCompositeRects (CARD8 op,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pDst,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xRenderColor *color,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int nRect,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xRectangle *rects);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncCompositeTrapezoids (CARD8 op,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pDst,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFormatPtr maskFormat,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 xSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 ySrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int ntrap,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xTrapezoid *traps);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncCompositeTriangles (CARD8 op,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pDst,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFormatPtr maskFormat,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 xSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 ySrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int ntriangles,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xTriangle *triangles);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncCompositeTriStrip (CARD8 op,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pDst,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFormatPtr maskFormat,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 xSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 ySrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int npoints,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xPointFixed *points);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncCompositeTriFan (CARD8 op,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PicturePtr pDst,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictFormatPtr maskFormat,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 xSrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 ySrc,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int npoints,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xPointFixed *points);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT CARD32
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictureGradientColor (PictGradientStopPtr stop1,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictGradientStopPtr stop2,
4c221b0da1816acf2ca302b10092df059484468dvboxsync CARD32 x);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void RenderExtensionInit (void);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncBool
4c221b0da1816acf2ca302b10092df059484468dvboxsyncAnimCurInit (ScreenPtr pScreen);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncint
4c221b0da1816acf2ca302b10092df059484468dvboxsyncAnimCursorCreate (CursorPtr *cursors, CARD32 *deltas, int ncursor, CursorPtr *ppCursor, ClientPtr client, XID cid);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncAddTraps (PicturePtr pPicture,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 xOff,
4c221b0da1816acf2ca302b10092df059484468dvboxsync INT16 yOff,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int ntraps,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xTrap *traps);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT PicturePtr
4c221b0da1816acf2ca302b10092df059484468dvboxsyncCreateSolidPicture (Picture pid,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xRenderColor *color,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int *error);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT PicturePtr
4c221b0da1816acf2ca302b10092df059484468dvboxsyncCreateLinearGradientPicture (Picture pid,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xPointFixed *p1,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xPointFixed *p2,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int nStops,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xFixed *stops,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xRenderColor *colors,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int *error);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT PicturePtr
4c221b0da1816acf2ca302b10092df059484468dvboxsyncCreateRadialGradientPicture (Picture pid,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xPointFixed *inner,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xPointFixed *outer,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xFixed innerRadius,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xFixed outerRadius,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int nStops,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xFixed *stops,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xRenderColor *colors,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int *error);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT PicturePtr
4c221b0da1816acf2ca302b10092df059484468dvboxsyncCreateConicalGradientPicture (Picture pid,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xPointFixed *center,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xFixed angle,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int nStops,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xFixed *stops,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xRenderColor *colors,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int *error);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync#ifdef PANORAMIX
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void PanoramiXRenderInit (void);
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void PanoramiXRenderReset (void);
4c221b0da1816acf2ca302b10092df059484468dvboxsync#endif
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync/*
4c221b0da1816acf2ca302b10092df059484468dvboxsync * matrix.c
4c221b0da1816acf2ca302b10092df059484468dvboxsync */
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictTransform_from_xRenderTransform (PictTransformPtr pict,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xRenderTransform *render);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void
4c221b0da1816acf2ca302b10092df059484468dvboxsyncxRenderTransform_from_PictTransform (xRenderTransform *render,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictTransformPtr pict);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT Bool
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictureTransformPoint (PictTransformPtr transform,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictVectorPtr vector);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT Bool
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPictureTransformPoint3d (PictTransformPtr transform,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PictVectorPtr vector);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync#endif /* _PICTURESTR_H_ */