Bio::Graphics::Glyph primers
SummaryIncluded librariesPackage variablesSynopsisDescriptionGeneral documentationMethods
Toolbar
WebCvsRaw content
Summary
Bio::Graphics::Glyph::primers - The "STS primers" glyph
Package variables
No package variables defined.
Included modules
Bio::Graphics::Glyph::generic
Inherit
Bio::Graphics::Glyph::generic
Synopsis
  See Bio::Graphics::Panel and Bio::Graphics::Glyph.
Description
This glyph draws two arrows oriented towards each other and connected
by a line of a contrasting color. The length of the arrows is
immaterial, but the length of the glyph itself corresponds to the
length of the scaled feature. In addition to the common options, the following glyph-specific
options are recognized:
  Option      Description               Default
------ ----------- -------
-connect Whether to connect the true two arrowheads by a line. -connect_color The color to use for the bgcolor connecting line.
Methods
connect
No description
Code
draw
No description
Code
Methods description
None available.
Methods code
connectdescriptionprevnextTop
sub connect {
  my $self = shift;
  return $self->option('connect') if defined $self->option('connect');
  1;  # default
} 1; __END__
}
drawdescriptionprevnextTop
sub draw {
  my $self = shift;
  my $gd = shift;
  my ($x1,$y1,$x2,$y2) = $self->calculate_boundaries(@_);

  my $fg = $self->fgcolor;
  my $a2 = HEIGHT/2;
my $center = $y1 + $a2; # just draw us as a solid line -- very simple
if ($x2-$x1 < HEIGHT*2) { $gd->line($x1,$center,$x2,$center,$fg); return; } # otherwise draw two pairs of arrows
# --> <--
my $trunc_left = $x1 < $self->panel->left; my $trunc_right = $x2 > $self->panel->right; unless ($trunc_left) { $gd->line($x1,$center,$x1 + HEIGHT,$center,$fg); $gd->line($x1 + HEIGHT,$center,$x1 + HEIGHT - $a2,$center-$a2,$fg); $gd->line($x1 + HEIGHT,$center,$x1 + HEIGHT - $a2,$center+$a2,$fg); } unless ($trunc_right) { $gd->line($x2,$center,$x2 - HEIGHT,$center,$fg); $gd->line($x2 - HEIGHT,$center,$x2 - HEIGHT + $a2,$center+$a2,$fg); $gd->line($x2 - HEIGHT,$center,$x2 - HEIGHT + $a2,$center-$a2,$fg); } # connect the dots if requested
if ($self->connect) { my $c = $self->color('connect_color') || $self->bgcolor; $gd->line($x1 + ($trunc_left ? 0 : HEIGHT + 2),$center, $x2 - ($trunc_right ? 0 : HEIGHT + 2),$center, $c); } # add a label if requested
$self->draw_label($gd,@_) if $self->option('label'); $self->draw_description($gd,@_) if $self->option('description');
}
General documentation
BUGSTop
Please report them.
SEE ALSOTop
Bio::Graphics::Panel,
Bio::Graphics::Glyph,
Bio::Graphics::Glyph::arrow,
Bio::Graphics::Glyph::cds,
Bio::Graphics::Glyph::crossbox,
Bio::Graphics::Glyph::diamond,
Bio::Graphics::Glyph::dna,
Bio::Graphics::Glyph::dot,
Bio::Graphics::Glyph::ellipse,
Bio::Graphics::Glyph::extending_arrow,
Bio::Graphics::Glyph::generic,
Bio::Graphics::Glyph::graded_segments,
Bio::Graphics::Glyph::heterogeneous_segments,
Bio::Graphics::Glyph::line,
Bio::Graphics::Glyph::pinsertion,
Bio::Graphics::Glyph::primers,
Bio::Graphics::Glyph::rndrect,
Bio::Graphics::Glyph::segments,
Bio::Graphics::Glyph::ruler_arrow,
Bio::Graphics::Glyph::toomany,
Bio::Graphics::Glyph::transcript,
Bio::Graphics::Glyph::transcript2,
Bio::Graphics::Glyph::translation,
Bio::Graphics::Glyph::triangle,
Bio::DB::GFF,
Bio::SeqI,
Bio::SeqFeatureI,
Bio::Das,
GD
AUTHORTop
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.