AcePerl

 view release on metacpan or  search on metacpan

Ace/Graphics/Glyph/dot.pm  view on Meta::CPAN

package Ace::Graphics::Glyph::dot;
# DAS-compatible package to use for drawing a ring or filled circle

use strict;
use vars '@ISA';
@ISA = 'Ace::Graphics::Glyph';

sub draw {
  my $self = shift;
#  $self->SUPER::draw(@_);
  my $gd = shift;
  my $fg = $self->fgcolor;

  # now draw a circle
  my ($x1,$y1,$x2,$y2) = $self->calculate_boundaries(@_);
  my $fg = $self->fgcolor;
  my $xmid   = (($x1+$x2)/2);  my $width  = abs($x2-$x1);
  my $ymid   = (($y1+$y2)/2);  my $height = abs($y2-$y1);

  if ($self->option('point')){
    my $p = $self->option('point');
    $gd->arc($xmid,$ymid,$p*2,$p*2,0,360,$fg);
  } else {
    $gd->arc($xmid,$ymid,$width,$height,0,360,$fg);
  }



  if ($self->option('fillcolor')){
    my $c = $self->color('fillcolor');
    $gd->fill($xmid,$ymid,$c);
  }

  $self->draw_label($gd,@_) if $self->option('label');
}

1;

__END__

=head1 NAME

Ace::Graphics::Glyph::dot - The "ellipse" glyph

=head1 SYNOPSIS

  See L<Ace::Graphics::Panel> and L<Ace::Graphics::Glyph>.

=head1 DESCRIPTION

This glyph draws an ellipse the width of the scaled feature passed,
and height a possibly configured height (See Ace::Graphics::Glyph).

=head2 OPTIONS

In addition to the common options, the following glyph-specific
options are recognized:
  Option      Description                  Default
  ------      -----------                  -------

  -point      Whether to draw an ellipse   feature width
              the scaled width of the
              feature or with radius
              point.

=head1 BUGS

Please report them.



( run in 0.759 second using v1.01-cache-2.11-cpan-5837b0d9d2c )