]> git.vpit.fr Git - perl/modules/LaTeX-TikZ.git/blobdiff - lib/LaTeX/TikZ/Mod/Layer.pm
Remove magic LaTeX::TikZ::Interface->import
[perl/modules/LaTeX-TikZ.git] / lib / LaTeX / TikZ / Mod / Layer.pm
index 6b3f73de0967e2e2e5149632370ac5832fb40b06..0dd0a84a76dec2a4b0f06a9c470d9ca253a31de3 100644 (file)
@@ -15,10 +15,13 @@ Version 0.01
 
 our $VERSION = '0.01';
 
-use List::Util ();
+use Scalar::Util ();
+use List::Util   ();
 
 use LaTeX::TikZ::Mod::Formatted;
 
+use LaTeX::TikZ::Interface;
+
 use Any::Moose;
 use Any::Moose 'Util::TypeConstraints';
 
@@ -91,7 +94,9 @@ around 'new' => sub {
 sub BUILD {
  my ($self) = @_;
 
- $layers{$self->name} = $self;
+ my $name = $self->name;
+ $layers{$name} = $self;
+ Scalar::Util::weaken($layers{$name});
 }
 
 sub DEMOLISH {
@@ -190,12 +195,14 @@ 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,