| AcePerl documentation | Contained in the AcePerl distribution. |
Ace::Graphics::Glyph::dot - The "ellipse" glyph
See L<Ace::Graphics::Panel> and L<Ace::Graphics::Glyph>.
This glyph draws an ellipse the width of the scaled feature passed, and height a possibly configured height (See Ace::Graphics::Glyph).
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.
Please report them.
Ace::Sequence, Ace::Sequence::Feature, Ace::Graphics::Panel, Ace::Graphics::Track, Ace::Graphics::Glyph::anchored_arrow, Ace::Graphics::Glyph::arrow, Ace::Graphics::Glyph::box, Ace::Graphics::Glyph::primers, Ace::Graphics::Glyph::segments, Ace::Graphics::Glyph::toomany, Ace::Graphics::Glyph::transcript,
Allen Day <day@cshl.org>.
Copyright (c) 2001 Cold Spring Harbor Laboratory
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See DISCLAIMER.txt for disclaimers of warranty.
| AcePerl documentation | Contained in the AcePerl distribution. |
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__