/*
* 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 "scrnintstr.h"
#include "glyphstr.h"
#include "resource.h"
#include "privates.h"
typedef struct _DirectFormat {
typedef struct _IndexFormat {
int nvalues;
void *devPrivate;
typedef struct _PictFormat {
unsigned char type;
unsigned char depth;
#define SourcePictTypeSolidFill 0
#define SourcePictClassUnknown 0
typedef struct _PictSolidFill {
unsigned int type;
unsigned int class;
typedef struct _PictGradientStop {
xFixed x;
typedef struct _PictGradient {
unsigned int type;
unsigned int class;
int nstops;
int stopRange;
int colorTableSize;
typedef struct _PictLinearGradient {
unsigned int type;
unsigned int class;
int nstops;
int stopRange;
int colorTableSize;
typedef struct _PictCircle {
xFixed x;
xFixed y;
typedef struct _PictRadialGradient {
unsigned int type;
unsigned int class;
int nstops;
int stopRange;
int colorTableSize;
double cdx;
double cdy;
double dr;
double A;
typedef struct _PictConicalGradient {
unsigned int type;
unsigned int class;
int nstops;
int stopRange;
int colorTableSize;
typedef union _SourcePict {
unsigned int type;
typedef struct _Picture {
int refcnt;
unsigned long stateChanges;
unsigned long serialNumber;
int filter;
int filter_nparams;
} PictureRec;
typedef struct {
char *name;
int id;
#define PictFilterNearest 0
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 nformats;
int subpixel;
int nfilters;
int nfilterAliases;
/**
* Called immediately after a picture's transform is changed through the
* SetPictureTransform request. Not called for source-only pictures.
*/
/**
* Called immediately after a picture's transform is changed through the
* SetPictureFilter request. Not called for source-only pictures.
*/
extern DevPrivateKey PictureScreenPrivateKey;
extern DevPrivateKey PictureWindowPrivateKey;
extern RESTYPE PictureType;
extern RESTYPE PictFormatType;
extern RESTYPE GlyphSetType;
#define GetPictureScreen(s) ((PictureScreenPtr)dixLookupPrivate(&(s)->devPrivates, PictureScreenPrivateKey))
#define GetPictureWindow(w) ((PicturePtr)dixLookupPrivate(&(w)->devPrivates, PictureWindowPrivateKey))
if (!pPicture) { \
return err; \
} \
}
pPicture = 0; \
else { \
} \
} \
void
int
int
char *
PictureGetFilterName (int id);
int
char *filter,
int width,
int height);
void
int
int
PictureFinishInit (void);
void
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,
CARD32 x);
void RenderExtensionInit (void);
int
AnimCursorCreate (CursorPtr *cursors, CARD32 *deltas, int ncursor, CursorPtr *ppCursor, ClientPtr client, XID cid);
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
/*
* matrix.c
*/
void
void
#endif /* _PICTURESTR_H_ */