2002-06-11 04:02:23 +00:00
|
|
|
|
/*
|
|
|
|
|
|
* $XFree86: $
|
|
|
|
|
|
*
|
2002-08-14 00:39:43 +00:00
|
|
|
|
* Copyright <EFBFBD> 2002 Carl D. Worth
|
2002-06-11 04:02:23 +00:00
|
|
|
|
*
|
|
|
|
|
|
* 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
|
2002-08-14 00:39:43 +00:00
|
|
|
|
* appear in supporting documentation, and that the name of Carl
|
|
|
|
|
|
* D. Worth not be used in advertising or publicity pertaining to
|
|
|
|
|
|
* distribution of the software without specific, written prior
|
|
|
|
|
|
* permission. Carl D. Worth makes no representations about the
|
|
|
|
|
|
* suitability of this software for any purpose. It is provided "as
|
|
|
|
|
|
* is" without express or implied warranty.
|
2002-06-11 04:02:23 +00:00
|
|
|
|
*
|
2002-08-14 00:39:43 +00:00
|
|
|
|
* CARL D. WORTH DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
|
|
|
|
|
|
* SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
|
|
|
|
* FITNESS, IN NO EVENT SHALL CARL D. WORTH 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.
|
|
|
|
|
|
*/
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
|
* These definitions are solely for use by the implementation of Xr
|
|
|
|
|
|
* and constitute no kind of standard. If you need any of these
|
|
|
|
|
|
* functions, please drop me a note. Either the library needs new
|
|
|
|
|
|
* functionality, or there's a way to do what you need using the
|
|
|
|
|
|
* existing published interfaces. cworth@isi.edu
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef _XRINT_H_
|
|
|
|
|
|
#define _XRINT_H_
|
|
|
|
|
|
|
2002-08-14 00:39:43 +00:00
|
|
|
|
#include <math.h>
|
2002-07-23 07:22:23 +00:00
|
|
|
|
#include <X11/Xlibint.h>
|
2002-10-30 21:54:50 +00:00
|
|
|
|
#include <X11/Xft/Xft.h>
|
|
|
|
|
|
|
2002-06-11 04:02:23 +00:00
|
|
|
|
#include "Xr.h"
|
|
|
|
|
|
|
2002-08-14 00:39:43 +00:00
|
|
|
|
#ifndef __GCC__
|
|
|
|
|
|
#define __attribute__(x)
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
2002-10-23 11:58:38 +00:00
|
|
|
|
/* Sure wish C had a real enum type so that this would be distinct
|
|
|
|
|
|
from XrStatus. Oh well, without that, I'll use this bogus 1000
|
|
|
|
|
|
offset */
|
|
|
|
|
|
typedef enum _XrIntStatus {
|
|
|
|
|
|
XrIntStatusDegenerate = 1000
|
|
|
|
|
|
} XrIntStatus;
|
2002-08-15 05:22:59 +00:00
|
|
|
|
|
2002-08-14 00:39:43 +00:00
|
|
|
|
typedef enum _XrPathOp {
|
2002-08-15 17:29:26 +00:00
|
|
|
|
XrPathOpMoveTo = 0,
|
|
|
|
|
|
XrPathOpLineTo = 1,
|
|
|
|
|
|
XrPathOpCurveTo = 2,
|
2002-10-26 07:59:31 +00:00
|
|
|
|
XrPathOpClosePath = 3
|
2002-08-14 00:39:43 +00:00
|
|
|
|
} __attribute__ ((packed)) XrPathOp; /* Don't want 32 bits if we can avoid it. */
|
|
|
|
|
|
|
|
|
|
|
|
typedef enum _XrPathDirection {
|
|
|
|
|
|
XrPathDirectionForward,
|
|
|
|
|
|
XrPathDirectionReverse
|
|
|
|
|
|
} XrPathDirection;
|
|
|
|
|
|
|
2002-08-14 18:32:42 +00:00
|
|
|
|
typedef enum _XrSubPathDone {
|
|
|
|
|
|
XrSubPathDoneCap,
|
|
|
|
|
|
XrSubPathDoneJoin
|
|
|
|
|
|
} XrSubPathDone;
|
|
|
|
|
|
|
2002-08-14 00:39:43 +00:00
|
|
|
|
typedef struct _XrPathCallbacks {
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus (*AddEdge)(void *closure, XPointFixed *p1, XPointFixed *p2);
|
|
|
|
|
|
XrStatus (*AddSpline)(void *closure, XPointFixed *a, XPointFixed *b, XPointFixed *c, XPointFixed *d);
|
|
|
|
|
|
XrStatus (*DoneSubPath) (void *closure, XrSubPathDone done);
|
|
|
|
|
|
XrStatus (*DonePath) (void *closure);
|
2002-08-14 00:39:43 +00:00
|
|
|
|
} XrPathCallbacks;
|
|
|
|
|
|
|
|
|
|
|
|
#define XR_PATH_BUF_SZ 64
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct _XrPathOpBuf {
|
|
|
|
|
|
int num_ops;
|
|
|
|
|
|
XrPathOp op[XR_PATH_BUF_SZ];
|
|
|
|
|
|
|
|
|
|
|
|
struct _XrPathOpBuf *next, *prev;
|
|
|
|
|
|
} XrPathOpBuf;
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct _XrPathArgBuf {
|
2002-06-11 04:02:23 +00:00
|
|
|
|
int num_pts;
|
2002-08-14 00:39:43 +00:00
|
|
|
|
XPointFixed pt[XR_PATH_BUF_SZ];
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-08-14 00:39:43 +00:00
|
|
|
|
struct _XrPathArgBuf *next, *prev;
|
|
|
|
|
|
} XrPathArgBuf;
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
typedef struct _XrPath {
|
2002-08-14 00:39:43 +00:00
|
|
|
|
XrPathOpBuf *op_head;
|
|
|
|
|
|
XrPathOpBuf *op_tail;
|
|
|
|
|
|
|
|
|
|
|
|
XrPathArgBuf *arg_head;
|
|
|
|
|
|
XrPathArgBuf *arg_tail;
|
2002-06-11 04:02:23 +00:00
|
|
|
|
} XrPath;
|
|
|
|
|
|
|
2002-08-14 00:39:43 +00:00
|
|
|
|
typedef struct _XrEdge {
|
|
|
|
|
|
XLineFixed edge;
|
|
|
|
|
|
Bool clockWise;
|
|
|
|
|
|
|
|
|
|
|
|
XFixed current_x;
|
|
|
|
|
|
struct _XrEdge *next, *prev;
|
|
|
|
|
|
} XrEdge;
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct _XrPolygon {
|
|
|
|
|
|
int num_edges;
|
|
|
|
|
|
int edges_size;
|
|
|
|
|
|
XrEdge *edges;
|
2002-09-03 08:42:25 +00:00
|
|
|
|
|
|
|
|
|
|
XPointFixed first_pt;
|
|
|
|
|
|
int first_pt_defined;
|
|
|
|
|
|
XPointFixed last_pt;
|
|
|
|
|
|
int last_pt_defined;
|
|
|
|
|
|
|
|
|
|
|
|
int closed;
|
2002-08-14 00:39:43 +00:00
|
|
|
|
} XrPolygon;
|
|
|
|
|
|
|
2002-09-10 08:01:00 +00:00
|
|
|
|
typedef struct _XrSlopeFixed
|
|
|
|
|
|
{
|
|
|
|
|
|
XFixed dx;
|
|
|
|
|
|
XFixed dy;
|
|
|
|
|
|
} XrSlopeFixed;
|
|
|
|
|
|
|
2002-08-15 17:29:26 +00:00
|
|
|
|
typedef struct _XrSpline {
|
|
|
|
|
|
XPointFixed a, b, c, d;
|
2002-09-03 08:42:25 +00:00
|
|
|
|
|
2002-09-10 08:01:00 +00:00
|
|
|
|
XrSlopeFixed initial_slope;
|
|
|
|
|
|
XrSlopeFixed final_slope;
|
|
|
|
|
|
|
2002-08-15 17:29:26 +00:00
|
|
|
|
int num_pts;
|
2002-09-03 08:42:25 +00:00
|
|
|
|
int pts_size;
|
|
|
|
|
|
XPointFixed *pts;
|
2002-08-15 17:29:26 +00:00
|
|
|
|
} XrSpline;
|
|
|
|
|
|
|
2002-09-13 12:55:37 +00:00
|
|
|
|
typedef enum _XrPenVertexFlag {
|
|
|
|
|
|
XrPenVertexFlagNone = 0,
|
|
|
|
|
|
XrPenVertexFlagForward = 1,
|
|
|
|
|
|
XrPenVertexFlagReverse = 2
|
|
|
|
|
|
} XrPenVertexFlag;
|
2002-09-03 08:42:25 +00:00
|
|
|
|
|
2002-09-13 12:55:37 +00:00
|
|
|
|
typedef struct _XrPenFlaggedPoint {
|
2002-09-03 08:42:25 +00:00
|
|
|
|
XPointFixed pt;
|
2002-09-13 12:55:37 +00:00
|
|
|
|
XrPenVertexFlag flag;
|
|
|
|
|
|
} XrPenFlaggedPoint;
|
2002-08-15 17:29:26 +00:00
|
|
|
|
|
|
|
|
|
|
typedef struct _XrPenVertex {
|
|
|
|
|
|
XPointFixed pt;
|
2002-09-13 12:55:37 +00:00
|
|
|
|
XrPenVertexFlag flag;
|
2002-09-03 08:42:25 +00:00
|
|
|
|
|
2002-08-15 17:29:26 +00:00
|
|
|
|
double theta;
|
2002-09-03 08:42:25 +00:00
|
|
|
|
XrSlopeFixed slope_ccw;
|
|
|
|
|
|
XrSlopeFixed slope_cw;
|
2002-08-15 17:29:26 +00:00
|
|
|
|
} XrPenVertex;
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct _XrPen {
|
2002-09-03 08:42:25 +00:00
|
|
|
|
double radius;
|
|
|
|
|
|
double tolerance;
|
|
|
|
|
|
|
2002-08-15 17:29:26 +00:00
|
|
|
|
int num_vertices;
|
|
|
|
|
|
XrPenVertex *vertex;
|
|
|
|
|
|
} XrPen;
|
|
|
|
|
|
|
2002-07-23 07:22:23 +00:00
|
|
|
|
typedef struct _XrSurface {
|
2002-06-11 04:02:23 +00:00
|
|
|
|
Display *dpy;
|
|
|
|
|
|
|
|
|
|
|
|
Drawable drawable;
|
2002-11-01 19:45:30 +00:00
|
|
|
|
GC gc;
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-11-04 00:24:44 +00:00
|
|
|
|
unsigned int width;
|
|
|
|
|
|
unsigned int height;
|
2002-06-11 04:02:23 +00:00
|
|
|
|
unsigned int depth;
|
|
|
|
|
|
|
2002-10-30 21:54:50 +00:00
|
|
|
|
unsigned long xc_sa_mask;
|
|
|
|
|
|
XcSurfaceAttributes xc_sa;
|
2002-11-04 00:24:44 +00:00
|
|
|
|
|
|
|
|
|
|
XrFormat format;
|
2002-10-30 21:54:50 +00:00
|
|
|
|
XcFormat *xc_format;
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-30 21:54:50 +00:00
|
|
|
|
XcSurface *xc_surface;
|
2002-11-01 19:45:30 +00:00
|
|
|
|
int needs_new_xc_surface;
|
2002-10-28 09:00:10 +00:00
|
|
|
|
|
|
|
|
|
|
unsigned int ref_count;
|
2002-07-23 07:22:23 +00:00
|
|
|
|
} XrSurface;
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
typedef struct _XrColor {
|
|
|
|
|
|
double red;
|
|
|
|
|
|
double green;
|
|
|
|
|
|
double blue;
|
|
|
|
|
|
double alpha;
|
|
|
|
|
|
|
2002-10-30 21:54:50 +00:00
|
|
|
|
XcColor xc_color;
|
2002-06-11 04:02:23 +00:00
|
|
|
|
} XrColor;
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct _XrTransform {
|
2002-06-14 15:13:44 +00:00
|
|
|
|
double m[3][2];
|
2002-06-11 04:02:23 +00:00
|
|
|
|
} XrTransform;
|
|
|
|
|
|
|
2002-07-23 07:22:23 +00:00
|
|
|
|
typedef struct _XrTraps {
|
|
|
|
|
|
int num_xtraps;
|
|
|
|
|
|
int xtraps_size;
|
|
|
|
|
|
XTrapezoid *xtraps;
|
|
|
|
|
|
} XrTraps;
|
|
|
|
|
|
|
2002-10-29 17:27:01 +00:00
|
|
|
|
/* XXX: What should this really be? */
|
|
|
|
|
|
#define XR_FONT_KEY_DEFAULT "mono"
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct _XrFont {
|
|
|
|
|
|
unsigned char *key;
|
|
|
|
|
|
|
|
|
|
|
|
double scale;
|
|
|
|
|
|
int has_transform;
|
|
|
|
|
|
XrTransform transform;
|
|
|
|
|
|
|
2002-10-30 21:54:50 +00:00
|
|
|
|
Display *dpy;
|
|
|
|
|
|
XftFont *xft_font;
|
2002-10-29 17:27:01 +00:00
|
|
|
|
} XrFont;
|
|
|
|
|
|
|
|
|
|
|
|
|
2002-07-23 07:22:23 +00:00
|
|
|
|
#define XR_GSTATE_OPERATOR_DEFAULT XrOperatorOver
|
2002-08-15 17:29:26 +00:00
|
|
|
|
#define XR_GSTATE_TOLERANCE_DEFAULT 0.1
|
2002-10-24 11:27:29 +00:00
|
|
|
|
#define XR_GSTATE_FILL_RULE_DEFAULT XrFillRuleWinding
|
2002-08-14 00:39:43 +00:00
|
|
|
|
#define XR_GSTATE_LINE_WIDTH_DEFAULT 2.0
|
2002-07-23 07:22:23 +00:00
|
|
|
|
#define XR_GSTATE_LINE_CAP_DEFAULT XrLineCapButt
|
|
|
|
|
|
#define XR_GSTATE_LINE_JOIN_DEFAULT XrLineJoinMiter
|
|
|
|
|
|
#define XR_GSTATE_MITER_LIMIT_DEFAULT 10.0
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-08-15 17:19:28 +00:00
|
|
|
|
typedef struct _XrGState {
|
|
|
|
|
|
Display *dpy;
|
|
|
|
|
|
|
2002-11-01 19:45:30 +00:00
|
|
|
|
XrOperator operator;
|
|
|
|
|
|
|
2002-08-15 17:29:26 +00:00
|
|
|
|
double tolerance;
|
|
|
|
|
|
|
2002-08-15 17:19:28 +00:00
|
|
|
|
/* stroke style */
|
2002-06-11 04:02:23 +00:00
|
|
|
|
double line_width;
|
2002-08-15 17:19:28 +00:00
|
|
|
|
XrLineCap line_cap;
|
2002-07-23 07:22:23 +00:00
|
|
|
|
XrLineJoin line_join;
|
|
|
|
|
|
double miter_limit;
|
2002-08-14 17:32:22 +00:00
|
|
|
|
|
2002-10-24 11:27:29 +00:00
|
|
|
|
XrFillRule fill_rule;
|
2002-08-14 17:32:22 +00:00
|
|
|
|
|
2002-11-01 19:45:30 +00:00
|
|
|
|
double *dashes;
|
|
|
|
|
|
int ndashes;
|
|
|
|
|
|
double dash_offset;
|
|
|
|
|
|
|
2002-07-23 07:22:23 +00:00
|
|
|
|
XcFormat *alphaFormat;
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-29 17:27:01 +00:00
|
|
|
|
XrFont font;
|
|
|
|
|
|
|
2002-11-04 00:24:44 +00:00
|
|
|
|
XrSurface *parent_surface;
|
|
|
|
|
|
XrSurface *surface;
|
|
|
|
|
|
XrSurface *src;
|
2002-11-01 19:45:30 +00:00
|
|
|
|
XrSurface *mask;
|
|
|
|
|
|
|
2002-11-04 00:24:44 +00:00
|
|
|
|
double alpha;
|
2002-11-01 19:45:30 +00:00
|
|
|
|
XrColor color;
|
2002-06-14 15:13:44 +00:00
|
|
|
|
|
|
|
|
|
|
XrTransform ctm;
|
|
|
|
|
|
XrTransform ctm_inverse;
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
XrPath path;
|
|
|
|
|
|
|
2002-10-26 07:59:31 +00:00
|
|
|
|
XPointDouble last_move_pt;
|
|
|
|
|
|
XPointDouble current_pt;
|
2002-11-01 19:45:30 +00:00
|
|
|
|
int has_current_pt;
|
2002-10-26 07:59:31 +00:00
|
|
|
|
|
2002-08-15 17:29:26 +00:00
|
|
|
|
XrPen pen_regular;
|
|
|
|
|
|
|
2002-06-11 04:02:23 +00:00
|
|
|
|
struct _XrGState *next;
|
|
|
|
|
|
} XrGState;
|
|
|
|
|
|
|
|
|
|
|
|
struct _XrState {
|
|
|
|
|
|
Display *dpy;
|
|
|
|
|
|
XrGState *stack;
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus status;
|
2002-06-11 04:02:23 +00:00
|
|
|
|
};
|
|
|
|
|
|
|
2002-08-14 18:32:42 +00:00
|
|
|
|
typedef struct _XrStrokeFace {
|
|
|
|
|
|
XPointFixed ccw;
|
|
|
|
|
|
XPointFixed pt;
|
|
|
|
|
|
XPointFixed cw;
|
2002-08-15 03:50:28 +00:00
|
|
|
|
XPointDouble vector;
|
2002-08-14 18:32:42 +00:00
|
|
|
|
} XrStrokeFace;
|
|
|
|
|
|
|
2002-08-14 00:39:43 +00:00
|
|
|
|
typedef struct _XrStroker {
|
|
|
|
|
|
XrGState *gstate;
|
|
|
|
|
|
XrTraps *traps;
|
2002-09-03 08:42:25 +00:00
|
|
|
|
|
2002-08-14 18:32:42 +00:00
|
|
|
|
int have_prev;
|
2002-08-18 22:55:58 +00:00
|
|
|
|
int have_first;
|
|
|
|
|
|
int is_first;
|
2002-08-14 18:32:42 +00:00
|
|
|
|
XrStrokeFace prev;
|
|
|
|
|
|
XrStrokeFace first;
|
2002-08-18 22:55:58 +00:00
|
|
|
|
int dash_index;
|
|
|
|
|
|
int dash_on;
|
|
|
|
|
|
double dash_remain;
|
2002-08-14 00:39:43 +00:00
|
|
|
|
} XrStroker;
|
|
|
|
|
|
|
2002-08-15 17:29:26 +00:00
|
|
|
|
typedef struct _XrFiller {
|
|
|
|
|
|
XrGState *gstate;
|
|
|
|
|
|
XrTraps *traps;
|
|
|
|
|
|
|
|
|
|
|
|
XrPolygon polygon;
|
|
|
|
|
|
} XrFiller;
|
|
|
|
|
|
|
2002-06-11 04:02:23 +00:00
|
|
|
|
/* xrstate.c */
|
|
|
|
|
|
|
|
|
|
|
|
XrState *
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrStateCreate(Display *dpy);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrStateInit(XrState *state, Display *dpy);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrStateDeinit(XrState *xrs);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrStateDestroy(XrState *state);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrStatePush(XrState *xrs);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-26 07:59:31 +00:00
|
|
|
|
XrStatus
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrStatePop(XrState *xrs);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
/* xrgstate.c */
|
|
|
|
|
|
XrGState *
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrGStateCreate(Display *dpy);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrGStateInit(XrGState *gstate, Display *dpy);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrGStateInitCopy(XrGState *gstate, XrGState *other);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrGStateDeinit(XrGState *gstate);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrGStateDestroy(XrGState *gstate);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-08-14 00:39:43 +00:00
|
|
|
|
XrGState *
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrGStateClone(XrGState *gstate);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-11-04 00:24:44 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrGStateBeginGroup(XrGState *gstate);
|
|
|
|
|
|
|
|
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrGStateEndGroup(XrGState *gstate);
|
|
|
|
|
|
|
2002-10-26 07:59:31 +00:00
|
|
|
|
XrStatus
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrGStateSetDrawable(XrGState *gstate, Drawable drawable);
|
2002-06-14 15:13:44 +00:00
|
|
|
|
|
2002-10-26 07:59:31 +00:00
|
|
|
|
XrStatus
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrGStateSetVisual(XrGState *gstate, Visual *visual);
|
2002-06-14 15:13:44 +00:00
|
|
|
|
|
2002-10-26 07:59:31 +00:00
|
|
|
|
XrStatus
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrGStateSetFormat(XrGState *gstate, XrFormat format);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-26 07:59:31 +00:00
|
|
|
|
XrStatus
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrGStateSetOperator(XrGState *gstate, XrOperator operator);
|
2002-07-23 07:22:23 +00:00
|
|
|
|
|
2002-10-26 07:59:31 +00:00
|
|
|
|
XrStatus
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrGStateSetRGBColor(XrGState *gstate, double red, double green, double blue);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-26 07:59:31 +00:00
|
|
|
|
XrStatus
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrGStateSetTolerance(XrGState *gstate, double tolerance);
|
2002-09-03 08:42:25 +00:00
|
|
|
|
|
2002-10-26 07:59:31 +00:00
|
|
|
|
XrStatus
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrGStateSetAlpha(XrGState *gstate, double alpha);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-26 07:59:31 +00:00
|
|
|
|
XrStatus
|
2002-10-24 11:27:29 +00:00
|
|
|
|
_XrGStateSetFillRule(XrGState *gstate, XrFillRule fill_rule);
|
|
|
|
|
|
|
2002-10-26 07:59:31 +00:00
|
|
|
|
XrStatus
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrGStateSetLineWidth(XrGState *gstate, double width);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-26 07:59:31 +00:00
|
|
|
|
XrStatus
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrGStateSetLineCap(XrGState *gstate, XrLineCap line_cap);
|
2002-07-23 07:22:23 +00:00
|
|
|
|
|
2002-10-26 07:59:31 +00:00
|
|
|
|
XrStatus
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrGStateSetLineJoin(XrGState *gstate, XrLineJoin line_join);
|
2002-07-23 07:22:23 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrGStateSetDash(XrGState *gstate, double *dashes, int ndash, double offset);
|
2002-08-15 17:19:28 +00:00
|
|
|
|
|
2002-10-26 07:59:31 +00:00
|
|
|
|
XrStatus
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrGStateSetMiterLimit(XrGState *gstate, double limit);
|
2002-07-23 07:22:23 +00:00
|
|
|
|
|
2002-10-26 07:59:31 +00:00
|
|
|
|
XrStatus
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrGStateTranslate(XrGState *gstate, double tx, double ty);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-26 07:59:31 +00:00
|
|
|
|
XrStatus
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrGStateScale(XrGState *gstate, double sx, double sy);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-26 07:59:31 +00:00
|
|
|
|
XrStatus
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrGStateRotate(XrGState *gstate, double angle);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-26 07:59:31 +00:00
|
|
|
|
XrStatus
|
2002-10-23 11:58:38 +00:00
|
|
|
|
_XrGStateConcatMatrix(XrGState *gstate,
|
|
|
|
|
|
double a, double b,
|
|
|
|
|
|
double c, double d,
|
|
|
|
|
|
double tx, double ty);
|
|
|
|
|
|
|
2002-11-11 12:46:17 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrGStateSetMatrix(XrGState *gstate,
|
|
|
|
|
|
double a, double b,
|
|
|
|
|
|
double c, double d,
|
|
|
|
|
|
double tx, double ty);
|
|
|
|
|
|
|
|
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrGStateIdentityMatrix(XrGState *xrs);
|
|
|
|
|
|
|
2002-10-26 07:59:31 +00:00
|
|
|
|
XrStatus
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrGStateNewPath(XrGState *gstate);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
2002-10-26 07:59:31 +00:00
|
|
|
|
_XrGStateMoveTo(XrGState *gstate, double x, double y);
|
|
|
|
|
|
|
|
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrGStateLineTo(XrGState *gstate, double x, double y);
|
|
|
|
|
|
|
|
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrGStateCurveTo(XrGState *gstate,
|
|
|
|
|
|
double x1, double y1,
|
|
|
|
|
|
double x2, double y2,
|
|
|
|
|
|
double x3, double y3);
|
|
|
|
|
|
|
|
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrGStateRelMoveTo(XrGState *gstate, double dx, double dy);
|
2002-08-15 05:22:59 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
2002-10-26 07:59:31 +00:00
|
|
|
|
_XrGStateRelLineTo(XrGState *gstate, double dx, double dy);
|
|
|
|
|
|
|
|
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrGStateRelCurveTo(XrGState *gstate,
|
|
|
|
|
|
double dx1, double dy1,
|
|
|
|
|
|
double dx2, double dy2,
|
|
|
|
|
|
double dx3, double dy3);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrGStateClosePath(XrGState *gstate);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrGStateStroke(XrGState *gstate);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrGStateFill(XrGState *fill);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-26 07:59:31 +00:00
|
|
|
|
XrStatus
|
2002-10-29 17:27:01 +00:00
|
|
|
|
_XrGStateSelectFont(XrGState *gstate, const char *key);
|
|
|
|
|
|
|
|
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrGStateScaleFont(XrGState *gstate, double scale);
|
|
|
|
|
|
|
|
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrGStateTransformFont(XrGState *gstate,
|
|
|
|
|
|
double a, double b,
|
|
|
|
|
|
double c, double d);
|
|
|
|
|
|
|
2002-10-30 21:54:50 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrGStateTextExtents(XrGState *gstate,
|
|
|
|
|
|
const unsigned char *utf8,
|
|
|
|
|
|
double *x, double *y,
|
|
|
|
|
|
double *width, double *height,
|
|
|
|
|
|
double *dx, double *dy);
|
|
|
|
|
|
|
2002-10-29 17:27:01 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrGStateShowText(XrGState *gstate, const unsigned char *utf8);
|
2002-10-26 07:59:31 +00:00
|
|
|
|
|
2002-11-01 19:45:30 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrGStateShowImage(XrGState *gstate,
|
|
|
|
|
|
char *data,
|
|
|
|
|
|
XrFormat format,
|
|
|
|
|
|
unsigned int width,
|
|
|
|
|
|
unsigned int height,
|
|
|
|
|
|
unsigned int stride);
|
|
|
|
|
|
|
|
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrGStateShowImageTransform(XrGState *gstate,
|
|
|
|
|
|
char *data,
|
|
|
|
|
|
XrFormat format,
|
|
|
|
|
|
unsigned int width,
|
|
|
|
|
|
unsigned int height,
|
|
|
|
|
|
unsigned int stride,
|
|
|
|
|
|
double a, double b,
|
|
|
|
|
|
double c, double d,
|
|
|
|
|
|
double tx, double ty);
|
|
|
|
|
|
|
2002-06-11 04:02:23 +00:00
|
|
|
|
/* xrcolor.c */
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrColorInit(XrColor *color);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrColorDeinit(XrColor *color);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrColorSetRGB(XrColor *color, double red, double green, double blue);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrColorSetAlpha(XrColor *color, double alpha);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-29 17:27:01 +00:00
|
|
|
|
/* xrfont.c */
|
|
|
|
|
|
|
|
|
|
|
|
void
|
2002-11-04 00:24:44 +00:00
|
|
|
|
_XrFontInit(XrFont *font);
|
2002-10-29 17:27:01 +00:00
|
|
|
|
|
|
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrFontInitCopy(XrFont *font, XrFont *other);
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
|
|
_XrFontDeinit(XrFont *font);
|
|
|
|
|
|
|
|
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrFontSelect(XrFont *font, const char *key);
|
|
|
|
|
|
|
|
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrFontScale(XrFont *font, double scale);
|
|
|
|
|
|
|
|
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrFontTransform(XrFont *font,
|
|
|
|
|
|
double a, double b,
|
|
|
|
|
|
double c, double d);
|
|
|
|
|
|
|
|
|
|
|
|
XrStatus
|
2002-10-30 21:54:50 +00:00
|
|
|
|
_XrFontResolveXftFont(XrFont *font, XrGState *gstate, XftFont **xft_font);
|
2002-10-29 17:27:01 +00:00
|
|
|
|
|
2002-06-11 04:02:23 +00:00
|
|
|
|
/* xrpath.c */
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrPathInit(XrPath *path);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrPathInitCopy(XrPath *path, XrPath *other);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrPathDeinit(XrPath *path);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
2002-10-26 07:59:31 +00:00
|
|
|
|
_XrPathMoveTo(XrPath *path, double x, double y);
|
|
|
|
|
|
|
|
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrPathLineTo(XrPath *path, double x, double y);
|
|
|
|
|
|
|
|
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrPathCurveTo(XrPath *path,
|
|
|
|
|
|
double x1, double y1,
|
|
|
|
|
|
double x2, double y2,
|
|
|
|
|
|
double x3, double y3);
|
|
|
|
|
|
|
|
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrPathClosePath(XrPath *path);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrPathInterpret(XrPath *path, XrPathDirection dir, XrPathCallbacks *cb, void *closure);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-08-14 00:39:43 +00:00
|
|
|
|
/* xrsurface.c */
|
2002-11-04 00:24:44 +00:00
|
|
|
|
XrSurface *
|
|
|
|
|
|
_XrSurfaceCreate(Display *dpy);
|
|
|
|
|
|
|
2002-06-11 04:02:23 +00:00
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrSurfaceInit(XrSurface *surface, Display *dpy);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-11-04 00:24:44 +00:00
|
|
|
|
void
|
|
|
|
|
|
_XrSurfaceDeinit(XrSurface *surface);
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
|
|
_XrSurfaceDestroy(XrSurface *surface);
|
|
|
|
|
|
|
2002-10-28 09:00:10 +00:00
|
|
|
|
void
|
|
|
|
|
|
_XrSurfaceReference(XrSurface *surface);
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
|
|
_XrSurfaceDereference(XrSurface *surface);
|
|
|
|
|
|
|
2002-11-01 19:45:30 +00:00
|
|
|
|
void
|
|
|
|
|
|
_XrSurfaceDereferenceDestroy(XrSurface *surface);
|
|
|
|
|
|
|
2002-06-11 04:02:23 +00:00
|
|
|
|
void
|
2002-11-01 19:45:30 +00:00
|
|
|
|
_XrSurfaceSetSolidColor(XrSurface *surface, XrColor *color);
|
|
|
|
|
|
|
|
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrSurfaceSetImage(XrSurface *surface,
|
|
|
|
|
|
char *data,
|
|
|
|
|
|
unsigned int width,
|
|
|
|
|
|
unsigned int height,
|
|
|
|
|
|
unsigned int stride);
|
|
|
|
|
|
|
|
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrSurfaceSetTransform(XrSurface *surface, XrTransform *transform);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrSurfaceSetDrawable(XrSurface *surface, Drawable drawable);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-11-04 00:24:44 +00:00
|
|
|
|
void
|
|
|
|
|
|
_XrSurfaceSetDrawableWH(XrSurface *surface,
|
|
|
|
|
|
Drawable drawable,
|
|
|
|
|
|
unsigned int width,
|
|
|
|
|
|
unsigned int height);
|
|
|
|
|
|
|
2002-06-11 04:02:23 +00:00
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrSurfaceSetVisual(XrSurface *surface, Visual *visual);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrSurfaceSetFormat(XrSurface *surface, XrFormat format);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-11-01 19:45:30 +00:00
|
|
|
|
XcSurface *
|
|
|
|
|
|
_XrSurfaceGetXcSurface(XrSurface *surface);
|
|
|
|
|
|
|
2002-10-30 21:54:50 +00:00
|
|
|
|
Picture
|
|
|
|
|
|
_XrSurfaceGetPicture(XrSurface *surface);
|
|
|
|
|
|
|
2002-11-04 00:24:44 +00:00
|
|
|
|
Drawable
|
|
|
|
|
|
_XrSurfaceGetDrawable(XrSurface *surface);
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int
|
|
|
|
|
|
_XrSurfaceGetWidth(XrSurface *surface);
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int
|
|
|
|
|
|
_XrSurfaceGetHeight(XrSurface *surface);
|
|
|
|
|
|
|
|
|
|
|
|
unsigned int
|
|
|
|
|
|
_XrSurfaceGetDepth(XrSurface *surface);
|
|
|
|
|
|
|
2002-08-15 17:29:26 +00:00
|
|
|
|
/* xrpen.c */
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrPenInit(XrPen *pen, double radius, XrGState *gstate);
|
2002-09-03 08:42:25 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrPenInitEmpty(XrPen *pen);
|
2002-08-15 17:29:26 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrPenInitCopy(XrPen *pen, XrPen *other);
|
2002-08-15 17:29:26 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrPenDeinit(XrPen *pen);
|
2002-08-15 17:29:26 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrPenAddPoints(XrPen *pen, XrPenFlaggedPoint *pt, int num_pts);
|
2002-09-03 08:42:25 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrPenAddPointsForSlopes(XrPen *pen, XPointFixed *a, XPointFixed *b, XPointFixed *c, XPointFixed *d);
|
2002-08-15 17:29:26 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrPenStrokeSpline(XrPen *pen, XrSpline *spline, double tolerance, XrTraps *traps);
|
2002-08-15 17:29:26 +00:00
|
|
|
|
|
2002-08-14 00:39:43 +00:00
|
|
|
|
/* xrpolygon.c */
|
2002-06-11 04:02:23 +00:00
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrPolygonInit(XrPolygon *polygon);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrPolygonDeinit(XrPolygon *polygon);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrPolygonAddEdge(XrPolygon *polygon, XPointFixed *p1, XPointFixed *p2);
|
2002-08-15 17:29:26 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrPolygonAddPoint(XrPolygon *polygon, XPointFixed *pt);
|
2002-09-03 08:42:25 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrPolygonClose(XrPolygon *polygon);
|
2002-09-03 08:42:25 +00:00
|
|
|
|
|
2002-08-15 17:29:26 +00:00
|
|
|
|
/* xrspline.c */
|
2002-10-23 11:58:38 +00:00
|
|
|
|
XrIntStatus
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrSplineInit(XrSpline *spline, XPointFixed *a, XPointFixed *b, XPointFixed *c, XPointFixed *d);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrSplineDecompose(XrSpline *spline, double tolerance);
|
2002-08-15 17:29:26 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrSplineDeinit(XrSpline *spline);
|
2002-08-15 17:29:26 +00:00
|
|
|
|
|
|
|
|
|
|
/* xrstroker.c */
|
2002-06-11 04:02:23 +00:00
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrStrokerInit(XrStroker *stroker, XrGState *gstate, XrTraps *traps);
|
2002-06-14 15:13:44 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrStrokerDeinit(XrStroker *stroker);
|
2002-06-14 15:13:44 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrStrokerAddEdge(void *closure, XPointFixed *p1, XPointFixed *p2);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrStrokerAddEdgeDashed(void *closure, XPointFixed *p1, XPointFixed *p2);
|
2002-08-18 22:55:58 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrStrokerAddSpline (void *closure, XPointFixed *a, XPointFixed *b, XPointFixed *c, XPointFixed *d);
|
2002-08-15 17:29:26 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrStrokerDoneSubPath (void *closure, XrSubPathDone done);
|
2002-08-14 18:32:42 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrStrokerDonePath (void *closure);
|
2002-08-15 17:29:26 +00:00
|
|
|
|
|
|
|
|
|
|
/* xrfiller.c */
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrFillerInit(XrFiller *filler, XrGState *gstate, XrTraps *traps);
|
2002-08-15 17:29:26 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrFillerDeinit(XrFiller *filler);
|
2002-08-15 17:29:26 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrFillerAddEdge(void *closure, XPointFixed *p1, XPointFixed *p2);
|
2002-08-15 17:29:26 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrFillerAddSpline (void *closure, XPointFixed *a, XPointFixed *b, XPointFixed *c, XPointFixed *d);
|
2002-08-15 17:29:26 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrFillerDoneSubPath (void *closure, XrSubPathDone done);
|
2002-08-15 17:29:26 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrFillerDonePath (void *closure);
|
2002-08-15 17:29:26 +00:00
|
|
|
|
|
2002-06-11 04:02:23 +00:00
|
|
|
|
/* xrtransform.c */
|
|
|
|
|
|
void
|
2002-11-11 12:46:17 +00:00
|
|
|
|
_XrTransformInitIdentity(XrTransform *transform);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-06-14 15:13:44 +00:00
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrTransformDeinit(XrTransform *transform);
|
2002-06-14 15:13:44 +00:00
|
|
|
|
|
2002-06-11 04:02:23 +00:00
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrTransformInitMatrix(XrTransform *transform,
|
|
|
|
|
|
double a, double b,
|
|
|
|
|
|
double c, double d,
|
|
|
|
|
|
double tx, double ty);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrTransformInitTranslate(XrTransform *transform,
|
|
|
|
|
|
double tx, double ty);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrTransformInitScale(XrTransform *transform,
|
|
|
|
|
|
double sx, double sy);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrTransformInitRotate(XrTransform *transform,
|
|
|
|
|
|
double angle);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrTransformMultiplyIntoLeft(XrTransform *t1, const XrTransform *t2);
|
2002-06-14 15:13:44 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrTransformMultiplyIntoRight(const XrTransform *t1, XrTransform *t2);
|
2002-06-14 15:13:44 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrTransformMultiply(const XrTransform *t1, const XrTransform *t2, XrTransform *new);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-26 07:59:31 +00:00
|
|
|
|
_XrTransformDistance(XrTransform *transform, double *dx, double *dy);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-26 07:59:31 +00:00
|
|
|
|
_XrTransformPoint(XrTransform *transform, double *x, double *y);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-11-11 12:46:17 +00:00
|
|
|
|
_XrTransformBoundingBox(XrTransform *transform,
|
|
|
|
|
|
double *x, double *y,
|
|
|
|
|
|
double *width, double *height);
|
|
|
|
|
|
|
|
|
|
|
|
XrStatus
|
2002-10-23 11:58:38 +00:00
|
|
|
|
_XrTransformComputeInverse(XrTransform *transform);
|
2002-06-11 04:02:23 +00:00
|
|
|
|
|
2002-09-05 10:06:44 +00:00
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrTransformEigenValues(XrTransform *transform, double *lambda1, double *lambda2);
|
2002-09-05 10:06:44 +00:00
|
|
|
|
|
2002-07-23 07:22:23 +00:00
|
|
|
|
/* xrtraps.c */
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrTrapsInit(XrTraps *traps);
|
2002-07-23 07:22:23 +00:00
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_XrTrapsDeinit(XrTraps *traps);
|
2002-07-23 07:22:23 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
|
|
|
|
|
_XrTrapsTessellateRectangle (XrTraps *traps, XPointFixed q[4]);
|
2002-07-23 07:22:23 +00:00
|
|
|
|
|
2002-10-16 12:57:00 +00:00
|
|
|
|
XrStatus
|
2002-10-24 11:27:29 +00:00
|
|
|
|
_XrTrapsTessellatePolygon (XrTraps *traps, XrPolygon *poly, XrFillRule fill_rule);
|
2002-07-23 07:22:23 +00:00
|
|
|
|
|
2002-09-10 08:01:00 +00:00
|
|
|
|
/* xrmisc.c */
|
|
|
|
|
|
|
|
|
|
|
|
void
|
2002-10-16 12:57:00 +00:00
|
|
|
|
_ComputeSlope(XPointFixed *a, XPointFixed *b, XrSlopeFixed *slope);
|
2002-09-10 08:01:00 +00:00
|
|
|
|
|
2002-06-11 04:02:23 +00:00
|
|
|
|
#endif
|