Provided by: libchart-clicker-perl_2.90-3_all bug

NAME

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

VERSION

       version 2.90

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 $ca2 = Chart::Clicker::Drawing::ColorAllocator->new({
               seed_hue => 0, #red
           });

DESCRIPTION

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

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.

   position
       Gets the current position.

ATTRIBUTES

   colors
       An arrayref of colors that will be used for series that Clicker draws.

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

   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.

   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.

   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

   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 ($index)
       Gets the color at the specified index.  Returns undef if that position has no color.

   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>

COPYRIGHT AND LICENSE

       This software is copyright (c) 2016 by Cory G Watson.

       This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5
       programming language system itself.