rrtransform.h revision 4642e01f
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 42void 43RRTransformInit (RRTransformPtr transform); 44 45void 46RRTransformFini (RRTransformPtr transform); 47 48Bool 49RRTransformEqual (RRTransformPtr a, RRTransformPtr b); 50 51Bool 52RRTransformSetFilter (RRTransformPtr dst, 53 PictFilterPtr filter, 54 xFixed *params, 55 int nparams, 56 int width, 57 int height); 58 59Bool 60RRTransformCopy (RRTransformPtr dst, RRTransformPtr src); 61 62Bool 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