]> git.vpit.fr Git - perl/modules/LaTeX-TikZ.git/blobdiff - lib/LaTeX/TikZ/Mod/Layer.pm
This is 0.02
[perl/modules/LaTeX-TikZ.git] / lib / LaTeX / TikZ / Mod / Layer.pm
index bfab947ddfbaa4e291eeab1a198a47ed4a688e2a..f76e15366e66e0605300ae8ef7afbd669bd0c0f3 100644 (file)
@@ -9,28 +9,46 @@ LaTeX::TikZ::Mod::Layer - A modifier that specifies a drawing layer.
 
 =head1 VERSION
 
-Version 0.01
+Version 0.02
 
 =cut
 
-our $VERSION = '0.01';
+our $VERSION = '0.02';
 
 use Scalar::Util ();
 use List::Util   ();
 
 use LaTeX::TikZ::Mod::Formatted;
 
+use LaTeX::TikZ::Interface;
+
 use Any::Moose;
 use Any::Moose 'Util::TypeConstraints';
 
+=head1 RELATIONSHIPS
+
+This class consumes the L<LaTeX::TikZ::Mod> role, and as such implements the L</tag>, L</covers>, L</declare> and L</apply> methods.
+
+=cut
+
 with 'LaTeX::TikZ::Mod';
 
+=head1 ATTRIBUTES
+
+=head2 C<name>
+
+=cut
+
 has 'name' => (
  is       => 'ro',
  isa      => 'Str',
  required => 1,
 );
 
+=head2 C<above>
+
+=cut
+
 subtype 'LaTeX::TikZ::Mod::LevelList'
      => as 'ArrayRef[LaTeX::TikZ::Mod::Layer]';
 
@@ -52,6 +70,10 @@ has '_above' => (
 
 sub above { @{$_[0]->_above} }
 
+=head2 C<below>
+
+=cut
+
 has '_below' => (
  is       => 'ro',
  isa      => 'LaTeX::TikZ::Mod::LevelList',
@@ -70,6 +92,10 @@ has '_score' => (
  builder  => '_build_score',
 );
 
+=head1 METHODS
+
+=cut
+
 my %layers;
 
 around 'new' => sub {
@@ -103,13 +129,25 @@ sub DEMOLISH {
  delete $layers{$self->name};
 }
 
+=head2 C<tag>
+
+=cut
+
 sub tag {
  my ($self) = @_;
 
  ref($self) . '/' . $self->name;
 }
 
-sub cover { $_[0]->name eq $_[1]->name }
+=head2 C<covers>
+
+=cut
+
+sub covers { $_[0]->name eq $_[1]->name }
+
+=head2 C<score>
+
+=cut
 
 {
  our %score;
@@ -160,6 +198,10 @@ sub cover { $_[0]->name eq $_[1]->name }
   $score{$name}
  }
 
+=head2 C<declare>
+
+=cut
+
  sub declare {
   shift;
 
@@ -184,6 +226,10 @@ sub cover { $_[0]->name eq $_[1]->name }
  }
 }
 
+=head2 C<apply>
+
+=cut
+
 sub apply {
  my ($self) = @_;
 
@@ -193,17 +239,23 @@ sub apply {
  )
 }
 
-use LaTeX::TikZ::Interface layer => sub {
- shift;
+LaTeX::TikZ::Interface->register(
+ layer => sub {
+  shift;
 
- my $name = shift;
- __PACKAGE__->new(name => $name, @_);
-};
+  my $name = shift;
+  __PACKAGE__->new(name => $name, @_);
+ },
+);
 
 __PACKAGE__->meta->make_immutable(
  inline_constructor => 0,
 );
 
+=head1 SEE ALSO
+
+L<LaTeX::TikZ>, L<LaTeX::TikZ::Mod>.
+
 =head1 AUTHOR
 
 Vincent Pit, C<< <perl at profvince.com> >>, L<http://www.profvince.com>.