diff options
author | Kaleb Keithley <kaleb@freedesktop.org> | 2003-11-14 16:49:22 +0000 |
---|---|---|
committer | Kaleb Keithley <kaleb@freedesktop.org> | 2003-11-14 16:49:22 +0000 |
commit | dfc0320568e5237fff45b3f7fb6f332d1bf5e9bf (patch) | |
tree | 5cf2915b722b8c0d9d570a5bf0874ea406f9ac95 /transform.h |
Initial revisionXORG-STABLE
Diffstat (limited to 'transform.h')
-rw-r--r-- | transform.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/transform.h b/transform.h new file mode 100644 index 0000000..b22620d --- /dev/null +++ b/transform.h @@ -0,0 +1,35 @@ +/* + * header file for transformed coordinate system. No rotations + * supported, as elipses cannot be rotated in X. + */ +/* $XFree86: xc/programs/xeyes/transform.h,v 1.3 2000/02/17 14:00:35 dawes Exp $ */ + +typedef struct _transform { + double mx, bx; + double my, by; +} Transform; + +typedef struct _TPoint { + double x, y; +} TPoint; + +typedef struct _TRectangle { + double x, y, width, height; +} TRectangle; + +# define Xx(x,y,t) ((int)((t)->mx * (x) + (t)->bx + 0.5)) +# define Xy(x,y,t) ((int)((t)->my * (y) + (t)->by + 0.5)) +# define Xwidth(w,h,t) ((int)((t)->mx * (w) + 0.5)) +# define Xheight(w,h,t) ((int)((t)->my * (h) + 0.5)) +# define Tx(x,y,t) ((((double) (x)) - (t)->bx) / (t)->mx) +# define Ty(x,y,t) ((((double) (y)) - (t)->by) / (t)->my) +# define Twidth(w,h,t) (((double) (w)) / (t)->mx) +# define Theight(w,h,t) (((double) (h)) / (t)->my) + +extern void TFillArc (Display *dpy, Drawable d, GC gc, + Transform *t, + double x, double y, double width, double height, + int angle1, int angle2); +extern void SetTransform (Transform *t, + int xx1, int xx2, int xy1, int xy2, + double tx1, double tx2, double ty1, double ty2); |