use LaTeX::TikZ::Set::Point;
+use LaTeX::TikZ::Interface;
use LaTeX::TikZ::Functor;
use LaTeX::TikZ::Tools;
coerce => 1,
);
-subtype 'LaTeX::TikZ::Set::Circle::Radius'
- => as 'Num'
- => where { LaTeX::TikZ::Tools::numcmp($_, 0) >= 1 }
- => message { "$_ isn't a non-negative real number" };
-
has 'radius' => (
is => 'ro',
- isa => 'LaTeX::TikZ::Set::Circle::Radius',
+ isa => subtype('Num' => where { LaTeX::TikZ::Tools::numcmp($_, 0) > 0 }),
required => 1,
);
$set->center->path(@_) . ' circle (' . $tikz->len($set->radius) . ')';
}
-use LaTeX::TikZ::Interface circle => sub {
- shift;
+LaTeX::TikZ::Interface->register(
+ circle => sub {
+ shift;
- __PACKAGE__->new(center => $_[0], radius => $_[1]);
-};
+ __PACKAGE__->new(center => $_[0], radius => $_[1]);
+ },
+);
LaTeX::TikZ::Functor->default_rule(
(__PACKAGE__) => sub {