X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FLaTeX%2FTikZ%2FSet%2FSequence.pm;h=a92ad89d7dd93e267870cefa4a046047575688c9;hb=92147217516a40b35ca00c8e08939e8aa5478426;hp=a430fe5415fdc1894a619f49fac87942bba2aac6;hpb=cb3b916e0590c6a0b70b60f30304921385462faa;p=perl%2Fmodules%2FLaTeX-TikZ.git diff --git a/lib/LaTeX/TikZ/Set/Sequence.pm b/lib/LaTeX/TikZ/Set/Sequence.pm index a430fe5..a92ad89 100644 --- a/lib/LaTeX/TikZ/Set/Sequence.pm +++ b/lib/LaTeX/TikZ/Set/Sequence.pm @@ -19,6 +19,8 @@ use List::Util (); use LaTeX::TikZ::Scope; +use LaTeX::TikZ::Functor; + use Any::Moose; use Any::Moose 'Util::TypeConstraints' => [ qw/subtype as where find_type_constraint/ ]; @@ -64,12 +66,19 @@ sub draw { $set->kids; } -use LaTeX::TikZ::API seq => sub { +use LaTeX::TikZ::Interface seq => sub { shift; __PACKAGE__->new(kids => \@_); }; +LaTeX::TikZ::Functor->default_rule( + (__PACKAGE__) => sub { + my ($functor, $set, @args) = @_; + $set->new(kids => [ map $_->$functor(@args), $set->kids ]) + } +); + __PACKAGE__->meta->make_immutable; =head1 AUTHOR