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