I am sponsoring this case for the X group, and have marked it closed
approved automatic, as it is a simple upgrade to a new community release
that only adds new functions and does not change compatibility of any
existing functions.

        -Alan Coopersmith-           alan.coopersmith at sun.com
         Sun Microsystems, Inc. - X Window System Engineering


Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
This information is Copyright 2009 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
         pixman 0.14
    1.2. Name of Document Author/Supplier:
         Author:  Alan Coopersmith
    1.3  Date of This Document:
        06 April, 2009
4. Technical Description

This case updates the pixman library from community release 0.12
(reviewed in LSARC 2008/637) to community release 0.14.

The interface changes in the new version are the addition of a new
set of matrix operation functions for both fixed point and floating point
values, which are required by Xorg server 1.6 (see full list below).

These new functions are exported with a stability level of Volatile,
matching the existing pixman API stability.


Exported Interfaces:
--------------------
SUNWpixman                                      Uncommitted
/usr/include/pixman-1/pixman.h                  Volatile
/usr/include/pixman-1/pixman-version.h          Volatile
/usr/lib/libpixman-1.so.0                       Volatile
/usr/lib/64/libpixman-1.so.0                    Volatile
/usr/lib/pkgconfig/pixman-1.pc                  Volatile
/usr/lib/64/pkgconfig/pixman-1.pc               Volatile 


New functions & related structures, from <pixman-1/pixman.h>:


void
pixman_transform_init_identity(struct pixman_transform *matrix);

pixman_bool_t
pixman_transform_point_3d (const struct pixman_transform *transform,
                           struct pixman_vector *vector);

pixman_bool_t
pixman_transform_point(const struct pixman_transform *transform,
                       struct pixman_vector *vector);

pixman_bool_t
pixman_transform_multiply (struct pixman_transform *dst,
                           const struct pixman_transform *l,
                           const struct pixman_transform *r);

void
pixman_transform_init_scale (struct pixman_transform *t,
                             pixman_fixed_t sx,
                             pixman_fixed_t sy);

pixman_bool_t
pixman_transform_scale(struct pixman_transform *forward,
                       struct pixman_transform *reverse,
                       pixman_fixed_t sx, pixman_fixed_t sy);

void
pixman_transform_init_rotate(struct pixman_transform *t,
                             pixman_fixed_t cos,
                             pixman_fixed_t sin);

pixman_bool_t
pixman_transform_rotate(struct pixman_transform *forward,
                        struct pixman_transform *reverse,
                        pixman_fixed_t c, pixman_fixed_t s);

void
pixman_transform_init_translate(struct pixman_transform *t,
                                pixman_fixed_t tx, pixman_fixed_t ty);


pixman_bool_t
pixman_transform_translate(struct pixman_transform *forward,
                           struct pixman_transform *reverse,
                           pixman_fixed_t tx, pixman_fixed_t ty);

pixman_bool_t
pixman_transform_bounds(const struct pixman_transform *matrix,
                        struct pixman_box16 *b);


pixman_bool_t
pixman_transform_invert (struct pixman_transform *dst,
                         const struct pixman_transform *src);

pixman_bool_t
pixman_transform_is_identity(const struct pixman_transform *t);

pixman_bool_t
pixman_transform_is_scale(const struct pixman_transform *t);

pixman_bool_t
pixman_transform_is_int_translate(const struct pixman_transform *t);

pixman_bool_t
pixman_transform_is_inverse (const struct pixman_transform *a,
                             const struct pixman_transform *b);


/*
 * Floating point matrices
 */
struct pixman_f_vector {
    double  v[3];
};

struct pixman_f_transform {
    double  m[3][3];
};

pixman_bool_t
pixman_transform_from_pixman_f_transform (struct pixman_transform *t,
                                          const struct pixman_f_transform *ft);

void
pixman_f_transform_from_pixman_transform (struct pixman_f_transform *ft,
                                          const struct pixman_transform *t);

pixman_bool_t
pixman_transform_from_pixman_f_transform (struct pixman_transform *t,
                                          const struct pixman_f_transform *ft);

pixman_bool_t
pixman_f_transform_invert (struct pixman_f_transform *dst,
                           const struct pixman_f_transform *src);

pixman_bool_t
pixman_f_transform_point (const struct pixman_f_transform *t,
                          struct pixman_f_vector *v);

void
pixman_f_transform_point_3d (const struct pixman_f_transform *t,
                             struct pixman_f_vector     *v);


void
pixman_f_transform_multiply (struct pixman_f_transform *dst,
                             const struct pixman_f_transform *l,
                             const struct pixman_f_transform *r);

void
pixman_f_transform_init_scale (struct pixman_f_transform *t, double sx, double 
sy);

pixman_bool_t
pixman_f_transform_scale (struct pixman_f_transform *forward,
                          struct pixman_f_transform *reverse,
                          double sx, double sy);

void
pixman_f_transform_init_rotate (struct pixman_f_transform *t, double cos, 
double sin);

pixman_bool_t
pixman_f_transform_rotate (struct pixman_f_transform *forward,
                           struct pixman_f_transform *reverse,
                           double c, double s);

void
pixman_f_transform_init_translate (struct pixman_f_transform *t, double tx, 
double ty);

pixman_bool_t
pixman_f_transform_translate (struct pixman_f_transform *forward,
                              struct pixman_f_transform *reverse,
                              double tx, double ty);

pixman_bool_t
pixman_f_transform_bounds (const struct pixman_f_transform *t, struct 
pixman_box16 *b);

void
pixman_f_transform_init_identity (struct pixman_f_transform *t);


6. Resources and Schedule
    6.4. Steering Committee requested information
        6.4.1. Consolidation C-team Name:
                X Consolidation / Desktop C-Team
    6.5. ARC review type: Automatic
    6.6. ARC Exposure: open


Reply via email to