Ace::Graphics::Glyph::line - The "line" glyph


AcePerl documentation Contained in the AcePerl distribution.

Index


Code Index:

NAME

Top

Ace::Graphics::Glyph::line - The "line" glyph

SYNOPSIS

Top

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

DESCRIPTION

Top

This glyph draws a line parallel to the sequence segment.

OPTIONS

This glyph takes only the standard options.

BUGS

Top

Please report them.

SEE ALSO

Top

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,

AUTHOR

Top

Lincoln Stein <lstein@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::line;
# an arrow without the arrowheads

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

sub bottom {
  my $self = shift;
  my $val = $self->SUPER::bottom(@_);
  $val += $self->font->height if $self->option('tick');
  $val += $self->labelheight if $self->option('label');
  $val;
}

sub draw {
  my $self = shift;
  my $gd = shift;
  my ($x1,$y1,$x2,$y2) = $self->calculate_boundaries(@_);

  my $fg = $self->fgcolor;
  my $a2 = $self->SUPER::height/2;
  my $center = $y1+$a2;

  $gd->line($x1,$center,$x2,$center,$fg);
  # add a label if requested
  $self->draw_label($gd,@_) if $self->option('label');

}

1;

__END__