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