package Chart::OFC::Dataset::HighLowClose; use strict; use warnings; use Moose; use MooseX::StrictConstructor; use Chart::OFC::Types; extends 'Chart::OFC::Dataset::Line'; has values => ( is => 'ro', isa => 'Chart::OFC::Type::NonEmptyArrayRefOfArrayRefsOfNumsOrUndefs', required => 1, auto_deref => 1, ); has opacity => ( is => 'ro', isa => 'Chart::OFC::Type::Opacity', default => '80', ); sub type { return 'hlc'; } sub _parameters_for_type { my $self = shift; my @p = ( $self->opacity(), $self->width(), $self->color() ); push @p, ( $self->label(), $self->text_size() ) if $self->_has_label(); return @p; } no Moose; __PACKAGE__->meta()->make_immutable(); 1; __END__ =pod =head1 NAME Chart::OFC::Dataset::HighLowClose - A dataset represented as an hlc line for each value =head1 SYNOPSIS my @numbers = ( [ 1, 2, 3 ], [ 3, 2, 1 ] ); my $hlc = Chart::OFC::Dataset::HighLowClose->new ( values => \@numbers, width => 5, color => 'purple', label => 'Daily Sales in $', text_size => 12, opacity => 80, ); =head1 DESCRIPTION This class contains values to be charted as High-Low-Close points on a grid chart. =head1 ATTRIBUTES This class has several attributes which may be passed to the C method. It is a subclass of C and accepts all of that class's attributes as well as its own. =head2 values This dataset accepts an arrayref which in turn contains one or more array references, each of which contains a set of values. =head2 opactiy Sets the opacity of the line. Defaults to 80. =head1 ROLES This class does the C role. =head1 COPYRIGHT & LICENSE Copyright 2007-2008 Dave Rolsky, All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut