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