| AcePerl documentation | Contained in the AcePerl distribution. |
Ace::Graphics::Glyph::ex - The "X" glyph
See L<Ace::Graphics::Panel> and L<Ace::Graphics::Glyph>.
This glyph draws an "X".
In addition to the common options, the following glyph-specific options are recognized: Option Description Default ------ ----------- -------
-point Whether to draw an "X" the feature width
scaled width of the feature
or with arm length 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::ex; # DAS-compatible package to use for drawing an "X" use strict; use vars '@ISA'; @ISA = 'Ace::Graphics::Glyph'; sub draw { my $self = shift; my $gd = shift; my $fg = $self->fgcolor; # now draw a cross my ($x1,$y1,$x2,$y2) = $self->calculate_boundaries(@_); my $fg = $self->fgcolor; if ($self->option('point')){ my $p = $self->option('point'); my $xmid = ($x1+$x2)/2; my $ymid = ($y1+$y2)/2; $gd->line($xmid-$p,$ymid-$p,$xmid+$p,$ymid+$p,$fg); $gd->line($xmid-$p,$ymid+$p,$xmid+$p,$ymid-$p,$fg); } else { $gd->line($x1,$y1,$x2,$y2,$fg); $gd->line($x1,$y2,$x2,$y1,$fg); } $self->draw_label($gd,@_) if $self->option('label'); } 1; __END__