randr: Add sprite position transforms

This implements sprite position transformations. Sprite image
transforms are passed all the way to the DDX layer, but the images are
not yet manipulated before being passed to the drivers.

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
This commit is contained in:
Keith Packard 2010-12-03 22:08:06 -08:00
commit 66294afcab
11 changed files with 333 additions and 46 deletions

View file

@ -59,6 +59,13 @@ RRTransformSetFilter (RRTransformPtr dst,
extern _X_EXPORT Bool
RRTransformCopy (RRTransformPtr dst, RRTransformPtr src);
/*
* 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.
*/
extern _X_EXPORT Bool
RRTransformCompute (int x,
int y,
@ -66,10 +73,14 @@ RRTransformCompute (int x,
int height,
Rotation rotation,
RRTransformPtr rr_transform,
struct pict_f_transform *sprite_position_transform,
struct pict_f_transform *sprite_image_transform,
PictTransformPtr transform,
struct pict_f_transform *f_transform,
struct pict_f_transform *f_inverse);
struct pict_f_transform *f_inverse,
struct pict_f_transform *f_fb_to_sprite,
struct pict_f_transform *f_sprite_to_image,
Bool *sprite_transform_in_use);
#endif /* _RRTRANSFORM_H_ */