/usr/local/CPAN/SVG-DOM2/SVG/DOM2/Element/Text.pm
package SVG::DOM2::Element::Text;
use base "SVG::DOM2::Element::Shape";
use base "SVG::DOM2::Element::Shape::Font";
use base "SVG::DOM2::Element::Shape::Fill";
use base "SVG::DOM2::Element::Shape::Stroke";
use strict;
use warnings;
use SVG::DOM2::Attribute::Metric;
sub new
{
my ($proto, %args) = @_;
my $self = $proto->SUPER::new('text', %args);
return $self;
}
sub _attribute_handle
{
my ($self, $name, %opts) = @_;
return SVG::DOM2::Attribute::Metric->new(%opts) if $name eq 'x' or $name eq 'y';
return $self->SUPER::_attribute_handle($name, %opts);
}
sub _has_attribute
{
my ($self, $name) = @_;
return $self->SUPER::_has_attribute($name);
}
sub attr
{
my ($self, $name, $set) = @_;
$self->setAttribute($name, $set) if defined($set);
return $self->getAttribute($name);
}
sub x { shift->attr('x', @_); }
sub y { shift->attr('y', @_); }
sub has_font { 1 }
return 1;