X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FLaTeX%2FTikZ%2FSet.pm;h=ab66433ae8322bb72b64888d03dae9f7e739311a;hb=37b2cca5547d02b2a751a26f9949d492b5002c2e;hp=e0886cb1bdd04560ea125857d5e774c20acde08b;hpb=3f51a1df8516c385856e6a8ae1000ed29906022f;p=perl%2Fmodules%2FLaTeX-TikZ.git diff --git a/lib/LaTeX/TikZ/Set.pm b/lib/LaTeX/TikZ/Set.pm index e0886cb..ab66433 100644 --- a/lib/LaTeX/TikZ/Set.pm +++ b/lib/LaTeX/TikZ/Set.pm @@ -23,9 +23,13 @@ use LaTeX::TikZ::Tools; use Any::Moose 'Role'; -requires qw( - draw -); +=head1 ATTRIBUTES + +=head2 C + +Returns the list of the L objects associated with the current set. + +=cut has '_mods' => ( is => 'ro', @@ -37,6 +41,32 @@ has '_mods' => ( sub mods { @{$_[0]->_mods} } +=head1 METHODS + +This method is required by the interface : + +=over 4 + +=item * + +C + +Returns an array reference of TikZ code lines required to effectively draw the current set object, formatted by the L object C<$formatter>. + +=back + +=cut + +requires qw( + draw +); + +=head2 C + +Apply the given list of L objects to the current set. + +=cut + my $ltm_tc = LaTeX::TikZ::Tools::type_constraint('LaTeX::TikZ::Mod'); my $ltml_tc = LaTeX::TikZ::Tools::type_constraint('LaTeX::TikZ::Mod::Layer'); my $ltmc_tc = LaTeX::TikZ::Tools::type_constraint('LaTeX::TikZ::Mod::Clip'); @@ -81,7 +111,7 @@ MOD: my $tag = $mod->tag; my $old = $mods{$tag} || []; for (@$old) { - next MOD if $_->[0]->cover($mod); + next MOD if $_->[0]->covers($mod); } push @{$mods{$tag}}, [ $mod, $last_mod++, $is_layer ]; push @mods, $mod; @@ -110,6 +140,13 @@ MOD: }; } +=head2 C + +Puts the current set in the corresponding layer. +This is a shortcut for C<< $set->mod(Tikz->layer($layer)) >>. + +=cut + sub layer { return $_[0] unless @_ > 1; @@ -121,6 +158,13 @@ sub layer { ) } +=head2 C + +Clips the current set by the path given by C<$path>. +This is a shortcut for C<< $set->mod(Tikz->clip($path)) >>. + +=cut + sub clip { return $_[0] unless @_ > 1; @@ -131,6 +175,10 @@ sub clip { ) } +=head1 SEE ALSO + +L. + =head1 AUTHOR Vincent Pit, C<< >>, L.