2009-09-06 13:44:18 -06:00
|
|
|
/*
|
|
|
|
* Copyright © 2007 Keith Packard
|
|
|
|
*
|
|
|
|
* 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 the copyright holders not be used in advertising or
|
|
|
|
* publicity pertaining to distribution of the software without specific,
|
|
|
|
* written prior permission. The copyright holders make no representations
|
|
|
|
* about the suitability of this software for any purpose. It is provided "as
|
|
|
|
* is" without express or implied warranty.
|
|
|
|
*
|
|
|
|
* THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
|
|
|
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
|
|
|
* EVENT SHALL THE COPYRIGHT HOLDERS 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.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _RRTRANSFORM_H_
|
|
|
|
#define _RRTRANSFORM_H_
|
|
|
|
|
|
|
|
#include <X11/extensions/randr.h>
|
|
|
|
#include "picturestr.h"
|
|
|
|
|
2012-06-10 07:21:05 -06:00
|
|
|
typedef struct _rrTransform RRTransformRec, *RRTransformPtr;
|
2009-09-06 13:44:18 -06:00
|
|
|
|
|
|
|
struct _rrTransform {
|
2012-06-10 07:21:05 -06:00
|
|
|
PictTransform transform;
|
2009-09-06 13:44:18 -06:00
|
|
|
struct pict_f_transform f_transform;
|
|
|
|
struct pict_f_transform f_inverse;
|
2012-06-10 07:21:05 -06:00
|
|
|
PictFilterPtr filter;
|
|
|
|
xFixed *params;
|
|
|
|
int nparams;
|
|
|
|
int width;
|
|
|
|
int height;
|
2009-09-06 13:44:18 -06:00
|
|
|
};
|
|
|
|
|
2010-07-27 13:02:24 -06:00
|
|
|
extern _X_EXPORT void
|
2012-06-10 07:21:05 -06:00
|
|
|
RRTransformInit(RRTransformPtr transform);
|
2009-09-06 13:44:18 -06:00
|
|
|
|
2010-07-27 13:02:24 -06:00
|
|
|
extern _X_EXPORT void
|
2012-06-10 07:21:05 -06:00
|
|
|
RRTransformFini(RRTransformPtr transform);
|
2009-09-06 13:44:18 -06:00
|
|
|
|
2010-07-27 13:02:24 -06:00
|
|
|
extern _X_EXPORT Bool
|
2012-06-10 07:21:05 -06:00
|
|
|
RRTransformEqual(RRTransformPtr a, RRTransformPtr b);
|
2009-09-06 13:44:18 -06:00
|
|
|
|
2010-07-27 13:02:24 -06:00
|
|
|
extern _X_EXPORT Bool
|
2009-09-06 13:44:18 -06:00
|
|
|
|
2012-06-10 07:21:05 -06:00
|
|
|
RRTransformSetFilter(RRTransformPtr dst,
|
|
|
|
PictFilterPtr filter,
|
|
|
|
xFixed * params, int nparams, int width, int height);
|
2009-09-06 13:44:18 -06:00
|
|
|
|
2010-07-27 13:02:24 -06:00
|
|
|
extern _X_EXPORT Bool
|
2012-06-10 07:21:05 -06:00
|
|
|
RRTransformCopy(RRTransformPtr dst, RRTransformPtr src);
|
2009-09-06 13:44:18 -06:00
|
|
|
|
2013-06-07 11:28:45 -06:00
|
|
|
/*
|
|
|
|
* Compute the complete transformation matrix including
|
|
|
|
* client-specified transform, rotation/reflection values and the crtc
|
|
|
|
* offset.
|
|
|
|
*
|
|
|
|
* Return TRUE if the resulting transform is not a simple translation.
|
|
|
|
*/
|
2012-06-10 07:21:05 -06:00
|
|
|
extern _X_EXPORT Bool
|
2009-09-06 13:44:18 -06:00
|
|
|
|
2012-06-10 07:21:05 -06:00
|
|
|
RRTransformCompute(int x,
|
|
|
|
int y,
|
|
|
|
int width,
|
|
|
|
int height,
|
|
|
|
Rotation rotation,
|
|
|
|
RRTransformPtr rr_transform,
|
|
|
|
PictTransformPtr transform,
|
|
|
|
struct pict_f_transform *f_transform,
|
|
|
|
struct pict_f_transform *f_inverse);
|
2009-09-06 13:44:18 -06:00
|
|
|
|
2012-06-10 07:21:05 -06:00
|
|
|
#endif /* _RRTRANSFORM_H_ */
|