Generic Image Library : bit_aligned_pixel_reference

Modules | Alphabetical List | Class List | Directories | File List | File Members | GIL Home Page

# bit_aligned_pixel_reference
[Models]

## Detailed Description

A heterogeneous pixel reference used to represent non-byte-aligned pixels. Models PixelConcept.

Example:

    unsigned char data=0;

    // A mutable reference to a 6-bit BGR pixel in "123" format (1 bit for red, 2 bits for green, 3 bits for blue)
    typedef const bit_aligned_pixel_reference<mpl::vector3_c<int,1,2,3>, rgb_layout_t, true>  rgb123_ref_t;

    // create the pixel reference at bit offset 2
    // (i.e. red = [2], green = [3,4], blue = [5,6,7] bits)
    rgb123_ref_t ref(&data, 2);
    get_color(ref, red_t()) = 1;
    assert(data == 0x04);
    get_color(ref, green_t()) = 3;
    assert(data == 0x1C);
    get_color(ref, blue_t()) = 7;
    assert(data == 0xFC);

## Classes

struct | bit_aligned_pixel_reference
| Heterogeneous pixel reference corresponding to non-byte-aligned bit range. Models ColorBaseConcept, PixelConcept, PixelBasedConcept. More...