Chart::Clicker::Drawing::ColorAllocator.3pm

Langue: en

Version: 2010-05-04 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Chart::Clicker::Drawing::ColorAllocator - Color picker

DESCRIPTION

Allocates colors for use in the chart. The position in the color allocator corresponds to the series that will be colored.

SYNOPSIS

     use Graphics::Color::RGB;
     use Chart::Clicker::Drawing::ColorAllocator;
 
     my $ca = Chart::Clicker::Drawing::ColorAllocator->new({
         colors => (
             Graphics::Color::RGB->new(
                 red => 1.0, green => 0, blue => 0, alpha => 1.0
             ),
             ...
         )
     });
 
     my $red = $ca->get(0);
 
     #or let Chart::Clicker autmatically pick complementing colors for you
     my $ca = Chart::Clicker::Drawing::ColorAllocator->new({
         seed_hue => 0, #red
     });
 
 

AUTOMATIC COLOR ALLOCATION

This module has the capacity to automatically allocate 96 individual colors using Color::Scheme. It does so by picking 4 hues equally spaced in the color wheel from the "seed_hue" (0 (red) would be complimented by 270 (blue), 180 (green) and 90 (yellow)). After those colors are allocated it moves on to picking from the colors between those ( 45, 135, 215, 305 ) etc. Once all values of "hues" have been utilized, it repeats them using a different shade. This has the effect of generating evenly spaced complementing colors to ensure colors are well ditinguishable from one another and have appropriate contrast.

ATTRIBUTES

color_scheme

A lazy-building Color::Scheme object used to generate the color scheme of the chart;

hues

An array reference of evenly spaced seed hues for color allocation. By default it will use the seed hue plus 0, 45, 75, 15, 60 and 30 which is enough to cover all web-safe colors when using a tetrade color scheme.

seed_hue

The interger value of the first hue used when computing the tetrade color scheme. Setting this will affect the hue of the first color allocated. Subsequent colors will be allocated based on their distance from this color to maintain sifficient contrast between colors. If not specified the seed_hue will default to 270, blue.

shade_order

An array reference of the order in which the different shades of each color will be used for every color scheme generated. It defaults to 1, 3, 0, 2 for optimum color spacing.

METHODS

new

Create a new ColorAllocator. You can optionally pass an arrayref of colors to 'seed' the allocator.

add_to_colors

Add a color to this allocator.

clear_colors

Clear this allocator's colors

color_count

Get the number of colors in this allocator.

get_color

Gets the color at the specified index. Returns undef if that position has no color.

position

Gets the current position.

next

Returns the next color. Each call to next increments the position, so subsequent calls will return different colors.

allocate_color

Determines what the next color should be.

reset

Resets this allocator back to the beginning.

AUTHOR

Cory G Watson <gphat@cpan.org>

SEE ALSO

perl(1)

LICENSE

You can redistribute and/or modify this code under the same terms as Perl itself.