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