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