rrtransform.h revision 6747b715
1/*
2 * Copyright © 2007 Keith Packard
3 *
4 * Permission to use, copy, modify, distribute, and sell this software and its
5 * documentation for any purpose is hereby granted without fee, provided that
6 * the above copyright notice appear in all copies and that both that copyright
7 * notice and this permission notice appear in supporting documentation, and
8 * that the name of the copyright holders not be used in advertising or
9 * publicity pertaining to distribution of the software without specific,
10 * written prior permission.  The copyright holders make no representations
11 * about the suitability of this software for any purpose.  It is provided "as
12 * is" without express or implied warranty.
13 *
14 * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
16 * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
17 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
18 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
19 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
20 * OF THIS SOFTWARE.
21 */
22
23#ifndef _RRTRANSFORM_H_
24#define _RRTRANSFORM_H_
25
26#include <X11/extensions/randr.h>
27#include "picturestr.h"
28
29typedef struct _rrTransform	RRTransformRec, *RRTransformPtr;
30
31struct _rrTransform {
32    PictTransform   transform;
33    struct pict_f_transform f_transform;
34    struct pict_f_transform f_inverse;
35    PictFilterPtr   filter;
36    xFixed	    *params;
37    int		    nparams;
38    int		    width;
39    int		    height;
40};
41
42extern _X_EXPORT void
43RRTransformInit (RRTransformPtr transform);
44
45extern _X_EXPORT void
46RRTransformFini (RRTransformPtr transform);
47
48extern _X_EXPORT Bool
49RRTransformEqual (RRTransformPtr a, RRTransformPtr b);
50
51extern _X_EXPORT Bool
52RRTransformSetFilter (RRTransformPtr	dst,
53		      PictFilterPtr	filter,
54		      xFixed		*params,
55		      int		nparams,
56		      int		width,
57		      int		height);
58
59extern _X_EXPORT Bool
60RRTransformCopy (RRTransformPtr dst, RRTransformPtr src);
61
62extern _X_EXPORT Bool
63RRTransformCompute (int			    x,
64		    int			    y,
65		    int			    width,
66		    int			    height,
67		    Rotation		    rotation,
68		    RRTransformPtr	    rr_transform,
69
70		    PictTransformPtr	    transform,
71		    struct pict_f_transform *f_transform,
72		    struct pict_f_transform *f_inverse);
73
74
75#endif /* _RRTRANSFORM_H_ */
76