]> git.vpit.fr Git - perl/modules/LaTeX-TikZ.git/blobdiff - lib/LaTeX/TikZ/Set/Point.pm
Coerce Points into Set::Points
[perl/modules/LaTeX-TikZ.git] / lib / LaTeX / TikZ / Set / Point.pm
index 2c613d80931c98a306f91cfed289082498db424e..0a4911f88a80787829c5212db41d5eeb2174ae2e 100644 (file)
@@ -15,28 +15,36 @@ Version 0.01
 
 our $VERSION = '0.01';
 
+use LaTeX::TikZ::Point;
+
 use Any::Moose;
+use Any::Moose 'Util::TypeConstraints';
 
 with 'LaTeX::TikZ::Set::Op';
 
 has 'point' => (
  is       => 'ro',
does     => 'LaTeX::TikZ::Point',
isa      => 'LaTeX::TikZ::Point::Autocoerce',
  required => 1,
+ coerce   => 1,
 );
 
+coerce 'LaTeX::TikZ::Set::Point'
+    => from 'Any'
+    => via { __PACKAGE__->new(point => $_) };
+
 sub path {
  my ($set, $tikz) = @_;
 
  my $p = $set->point;
 
- '(' . $tikz->len($p->Re) . ',' . $tikz->len($p->Im) . ')';
+ '(' . $tikz->len($p->x) . ',' . $tikz->len($p->y) . ')';
 }
 
 use LaTeX::TikZ::Interface point => sub {
  shift;
 
- __PACKAGE__->new(point => $_[0]);
+ __PACKAGE__->new(point => @_ > 1 ? \@_ : $_[0] );
 };
 
 __PACKAGE__->meta->make_immutable;