X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FLaTeX%2FTikZ%2FMod%2FClip.pm;h=69c401edf70b84a4ca7a10bff2d343f24e2d78e5;hb=af7d6a5aef3bf5fec0c187b3a13a14adc88251fd;hp=ee08e4117b55242a1591ce0051883b552b5630de;hpb=787935f70e88c8225e15a46607c809e805af68da;p=perl%2Fmodules%2FLaTeX-TikZ.git diff --git a/lib/LaTeX/TikZ/Mod/Clip.pm b/lib/LaTeX/TikZ/Mod/Clip.pm index ee08e41..69c401e 100644 --- a/lib/LaTeX/TikZ/Mod/Clip.pm +++ b/lib/LaTeX/TikZ/Mod/Clip.pm @@ -20,6 +20,9 @@ use Sub::Name (); use LaTeX::TikZ::Formatter; use LaTeX::TikZ::Mod::Formatted; +use LaTeX::TikZ::Interface; +use LaTeX::TikZ::Functor; + use LaTeX::TikZ::Tools; use Any::Moose; @@ -136,11 +139,20 @@ sub apply { ) } -use LaTeX::TikZ::Interface clip => sub { - shift; +LaTeX::TikZ::Interface->register( + clip => sub { + shift; - __PACKAGE__->new(clip => $_[0]); -}; + __PACKAGE__->new(clip => $_[0]); + }, +); + +LaTeX::TikZ::Functor->default_rule( + (__PACKAGE__) => sub { + my ($functor, $mod, @args) = @_; + $mod->new(clip => $mod->clip->$functor(@args)) + } +); __PACKAGE__->meta->make_immutable;