]> git.vpit.fr Git - perl/modules/LaTeX-TikZ.git/blobdiff - lib/LaTeX/TikZ/Mod/Layer.pm
Rename L::T::API to ::Interface
[perl/modules/LaTeX-TikZ.git] / lib / LaTeX / TikZ / Mod / Layer.pm
index f8d57a2c04e0185ef7c6408573ab6ec541a7dd60..6b3f73de0967e2e2e5149632370ac5832fb40b06 100644 (file)
@@ -78,9 +78,11 @@ around 'new' => sub {
  if (defined $name) {
   $self->meta->find_attribute_by_name('name')
              ->type_constraint->assert_valid($name);
-  confess("Can't redefine layer '$name'") if keys(%args) > 1;
   my $layer = $layers{$name};
-  return $layer if defined $layer;
+  if (defined $layer) {
+   confess("Can't redefine layer '$name'") if keys(%args) > 1;
+   return $layer;
+  }
  }
 
  return $self->$orig(%args);
@@ -168,12 +170,14 @@ sub cover { $_[0]->name eq $_[1]->name }
                 map { ref() ? $_->name : $_ }
                  keys %score;
 
-  my $intro = join '',
-               map "\\pgfdeclarelayer{$_}\n",
-                grep $_ ne 'main',
-                 @layers;
+  my @intro = map "\\pgfdeclarelayer{$_}",
+               grep $_ ne 'main',
+                @layers;
 
-  $intro . "\\pgfsetlayers{" . join(',', @layers) . "}\n";
+  return (
+   @intro,
+   "\\pgfsetlayers{" . join(',', @layers) . "}",
+  );
  }
 }
 
@@ -186,10 +190,11 @@ sub apply {
  )
 }
 
-use LaTeX::TikZ::API layer => sub {
+use LaTeX::TikZ::Interface layer => sub {
  shift;
 
- __PACKAGE__->new(name => $_[0]);
+ my $name = shift;
+ __PACKAGE__->new(name => $name, @_);
 };
 
 __PACKAGE__->meta->make_immutable(