picturestr.h revision 677833bc953b6cb418c701facbdcf4aa18d6c44e
/*
* $Id: picturestr.h,v 1.14 2005/08/24 11:18:33 daniels Exp $
*
* Copyright © 2000 SuSE, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of SuSE not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. SuSE makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*
* SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
* BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Author: Keith Packard, SuSE, Inc.
*/
#ifndef _PICTURESTR_H_
#define _PICTURESTR_H_
#include "glyphstr.h"
#include "scrnintstr.h"
#include "resource.h"
typedef struct _DirectFormat {
typedef struct _IndexFormat {
int nvalues;
void *devPrivate;
typedef struct _PictFormat {
unsigned char type;
unsigned char depth;
typedef struct _PictVector {
} PictVector, *PictVectorPtr;
typedef struct _PictTransform {
#define PICT_GRADIENT_STOPTABLE_SIZE 1024
#define SourcePictTypeSolidFill 0
#define SourcePictTypeLinear 1
#define SourcePictTypeRadial 2
#define SourcePictTypeConical 3
typedef struct _PictSolidFill {
unsigned int type;
typedef struct _PictGradientStop {
xFixed x;
typedef struct _PictGradient {
unsigned int type;
int nstops;
typedef struct _PictLinearGradient {
unsigned int type;
int nstops;
typedef struct _PictRadialGradient {
unsigned int type;
int nstops;
double fx;
double fy;
double dx;
double dy;
double a;
double m;
double b;
typedef struct _PictConicalGradient {
unsigned int type;
int nstops;
typedef union _SourcePict {
unsigned int type;
} SourcePict, *SourcePictPtr;
typedef struct _Picture {
int refcnt;
unsigned int repeat : 1;
unsigned int graphicsExposures : 1;
unsigned int subWindowMode : 1;
unsigned int polyEdge : 1;
unsigned int polyMode : 1;
unsigned int freeCompClip : 1;
unsigned int clientClipType : 2;
unsigned int componentAlpha : 1;
unsigned int repeatType : 2;
unsigned int unused : 21;
unsigned long stateChanges;
unsigned long serialNumber;
int filter;
int filter_nparams;
} PictureRec;
typedef struct {
char *name;
int id;
#define PictFilterNearest 0
#define PictFilterBilinear 1
#define PictFilterFast 2
#define PictFilterGood 3
#define PictFilterBest 4
#define PictFilterConvolution 5
typedef struct {
char *alias;
int alias_id;
int filter_id;
int clipType,
int n);
int filter,
int nparams);
int nlists,
int nRect,
xRectangle *rects);
int x_off,
int y_off);
int ntrap,
xTrapezoid *traps);
int ntri,
int npoint,
int npoint,
int ndef,
xColorItem *pdef);
int ntrap,
int ntri,
typedef struct _PictureScreen {
int totalPictureSize;
unsigned int *PicturePrivateSizes;
int PicturePrivateLen;
int nformats;
int subpixel;
int nfilters;
int nfilterAliases;
unsigned int *glyphPrivateSizes;
int glyphPrivateLen;
int glyphPrivateOffset;
extern int PictureScreenPrivateIndex;
extern int PictureWindowPrivateIndex;
extern RESTYPE PictureType;
extern RESTYPE PictFormatType;
extern RESTYPE GlyphSetType;
#define GetGlyphPrivatesForScreen(glyph, s) \
if (!pPicture) { \
return err; \
} \
}
pPicture = 0; \
else { \
} \
} \
void
ResetPicturePrivateIndex (void);
int
AllocatePicturePrivateIndex (void);
void
int
int
char *
PictureGetFilterName (int id);
int
char *filter,
void
int
PictureFinishInit (void);
void
#if 0
#endif
int *error);
int
int
int xOrigin,
int yOrigin,
int nRect,
xRectangle *rects);
int
int xOrigin,
int yOrigin,
int
void
void
int
int
void
void
int nlist,
void
int nRect,
xRectangle *rects);
void
int ntrap,
xTrapezoid *traps);
void
int ntriangles,
void
int npoints,
void
int npoints,
void RenderExtensionInit (void);
int
void
int ntraps,
int *error);
int nStops,
int *error);
int nStops,
int *error);
int nStops,
int *error);
#ifdef PANORAMIX
void PanoramiXRenderInit (void);
void PanoramiXRenderReset (void);
#endif
#endif /* _PICTURESTR_H_ */