>Pixel buffer affine transformations

Pixel buffer affine transformations

Name

Pixel buffer affine transformations -- 

Synopsis



enum        ArtFilterLevel;
void        art_rgb_pixbuf_affine           (art_u8 *dst,
                                             int x0,
                                             int y0,
                                             int x1,
                                             int y1,
                                             int dst_rowstride,
                                             const ArtPixBuf *pixbuf,
                                             const double affine[6],
                                             ArtFilterLevel level,
                                             ArtAlphaGamma *alphagamma);
void        art_rgb_affine                  (art_u8 *dst,
                                             int x0,
                                             int y0,
                                             int x1,
                                             int y1,
                                             int dst_rowstride,
                                             const art_u8 *src,
                                             int src_width,
                                             int src_height,
                                             int src_rowstride,
                                             const double affine[6],
                                             ArtFilterLevel level,
                                             ArtAlphaGamma *alphagamma);
void        art_rgb_rgba_affine             (art_u8 *dst,
                                             int x0,
                                             int y0,
                                             int x1,
                                             int y1,
                                             int dst_rowstride,
                                             const art_u8 *src,
                                             int src_width,
                                             int src_height,
                                             int src_rowstride,
                                             const double affine[6],
                                             ArtFilterLevel level,
                                             ArtAlphaGamma *alphagamma);
void        art_rgb_bitmap_affine           (art_u8 *dst,
                                             int x0,
                                             int y0,
                                             int x1,
                                             int y1,
                                             int dst_rowstride,
                                             const art_u8 *src,
                                             int src_width,
                                             int src_height,
                                             int src_rowstride,
                                             art_u32 rgba,
                                             const double affine[6],
                                             ArtFilterLevel level,
                                             ArtAlphaGamma *alphagamma);

Description

Details

enum ArtFilterLevel

typedef enum {
  ART_FILTER_NEAREST,
  ART_FILTER_TILES,
  ART_FILTER_BILINEAR,
  ART_FILTER_HYPER
} ArtFilterLevel;


art_rgb_pixbuf_affine ()

void        art_rgb_pixbuf_affine           (art_u8 *dst,
                                             int x0,
                                             int y0,
                                             int x1,
                                             int y1,
                                             int dst_rowstride,
                                             const ArtPixBuf *pixbuf,
                                             const double affine[6],
                                             ArtFilterLevel level,
                                             ArtAlphaGamma *alphagamma);

Affine transform the source image stored in src, compositing over the area of destination image dst specified by the rectangle (x0, y0) - (x1, y1). As usual in libart, the left and top edges of this rectangle are included, and the right and bottom edges are excluded.

The alphagamma parameter specifies that the alpha compositing be done in a gamma-corrected color space. In the current implementation, it is ignored.

The level parameter specifies the speed/quality tradeoff of the image interpolation. Currently, only ART_FILTER_NEAREST is implemented.

dst : Destination image RGB buffer.
x0 : Left coordinate of destination rectangle.
y0 : Top coordinate of destination rectangle.
x1 : Right coordinate of destination rectangle.
y1 : Bottom coordinate of destination rectangle.
dst_rowstride : Rowstride of dst buffer.
pixbuf : source image pixbuf.
affine : Affine transform.
level : Filter level.
alphagamma : ArtAlphaGamma for gamma-correcting the compositing.


art_rgb_affine ()

void        art_rgb_affine                  (art_u8 *dst,
                                             int x0,
                                             int y0,
                                             int x1,
                                             int y1,
                                             int dst_rowstride,
                                             const art_u8 *src,
                                             int src_width,
                                             int src_height,
                                             int src_rowstride,
                                             const double affine[6],
                                             ArtFilterLevel level,
                                             ArtAlphaGamma *alphagamma);

Affine transform the source image stored in src, compositing over the area of destination image dst specified by the rectangle (x0, y0) - (x1, y1). As usual in libart, the left and top edges of this rectangle are included, and the right and bottom edges are excluded.

The alphagamma parameter specifies that the alpha compositing be done in a gamma-corrected color space. Since the source image is opaque RGB, this argument only affects the edges. In the current implementation, it is ignored.

The level parameter specifies the speed/quality tradeoff of the image interpolation. Currently, only ART_FILTER_NEAREST is implemented.

dst : Destination image RGB buffer.
x0 : Left coordinate of destination rectangle.
y0 : Top coordinate of destination rectangle.
x1 : Right coordinate of destination rectangle.
y1 : Bottom coordinate of destination rectangle.
dst_rowstride : Rowstride of dst buffer.
src : Source image RGB buffer.
src_width : Width of source image.
src_height : Height of source image.
src_rowstride : Rowstride of src buffer.
affine : Affine transform.
level : Filter level.
alphagamma : ArtAlphaGamma for gamma-correcting the compositing.


art_rgb_rgba_affine ()

void        art_rgb_rgba_affine             (art_u8 *dst,
                                             int x0,
                                             int y0,
                                             int x1,
                                             int y1,
                                             int dst_rowstride,
                                             const art_u8 *src,
                                             int src_width,
                                             int src_height,
                                             int src_rowstride,
                                             const double affine[6],
                                             ArtFilterLevel level,
                                             ArtAlphaGamma *alphagamma);

Affine transform the source image stored in src, compositing over the area of destination image dst specified by the rectangle (x0, y0) - (x1, y1). As usual in libart, the left and top edges of this rectangle are included, and the right and bottom edges are excluded.

The alphagamma parameter specifies that the alpha compositing be done in a gamma-corrected color space. In the current implementation, it is ignored.

The level parameter specifies the speed/quality tradeoff of the image interpolation. Currently, only ART_FILTER_NEAREST is implemented.

dst : Destination image RGB buffer.
x0 : Left coordinate of destination rectangle.
y0 : Top coordinate of destination rectangle.
x1 : Right coordinate of destination rectangle.
y1 : Bottom coordinate of destination rectangle.
dst_rowstride : Rowstride of dst buffer.
src : Source image RGBA buffer.
src_width : Width of source image.
src_height : Height of source image.
src_rowstride : Rowstride of src buffer.
affine : Affine transform.
level : Filter level.
alphagamma : ArtAlphaGamma for gamma-correcting the compositing.


art_rgb_bitmap_affine ()

void        art_rgb_bitmap_affine           (art_u8 *dst,
                                             int x0,
                                             int y0,
                                             int x1,
                                             int y1,
                                             int dst_rowstride,
                                             const art_u8 *src,
                                             int src_width,
                                             int src_height,
                                             int src_rowstride,
                                             art_u32 rgba,
                                             const double affine[6],
                                             ArtFilterLevel level,
                                             ArtAlphaGamma *alphagamma);

Affine transform the source image stored in src, compositing over the area of destination image dst specified by the rectangle (x0, y0) - (x1, y1).

The source bitmap stored with MSB as the leftmost pixel. Source 1 bits correspond to the semitransparent color rgba, while source 0 bits are transparent.

See art_rgb_affine() for a description of additional parameters.

dst : Destination image RGB buffer.
x0 : Left coordinate of destination rectangle.
y0 : Top coordinate of destination rectangle.
x1 : Right coordinate of destination rectangle.
y1 : Bottom coordinate of destination rectangle.
dst_rowstride : Rowstride of dst buffer.
src : Source image bitmap buffer.
src_width : Width of source image.
src_height : Height of source image.
src_rowstride : Rowstride of src buffer.
rgba : RGBA foreground color, in 0xRRGGBBAA.
affine : Affine transform.
level : Filter level.
alphagamma : ArtAlphaGamma for gamma-correcting the compositing.