]> git.vpit.fr Git - perl/modules/LaTeX-TikZ.git/commitdiff
Inline LaTeX::TikZ::Set->mods_unique
authorVincent Pit <vince@profvince.com>
Thu, 22 Jul 2010 21:30:47 +0000 (23:30 +0200)
committerVincent Pit <vince@profvince.com>
Thu, 22 Jul 2010 21:30:47 +0000 (23:30 +0200)
lib/LaTeX/TikZ/Set.pm

index d4f67b61764ff925b8085c66a456050761fd810c..e0886cb1bdd04560ea125857d5e774c20acde08b 100644 (file)
@@ -56,8 +56,22 @@ sub mod {
  our %mods;
  our $last_mod = 0;
 
- sub mods_unique {
-  my ($set) = @_;
+ around 'draw' => sub {
+  my ($orig, $set, $tikz) = @_;
+
+  local $last_mod = $last_mod;
+
+  # Save a deep copy
+  my %saved_idx = map { $_ => $#{$mods{$_}} } keys %mods;
+  my $guard     = Scope::Guard->new(sub {
+   for (keys %mods) {
+    if (exists $saved_idx{$_}) {
+     $#{$mods{$_}} = $saved_idx{$_};
+    } else {
+     delete $mods{$_};
+    }
+   }
+  });
 
   my (@mods, $last_layer);
 MOD:
@@ -84,28 +98,6 @@ MOD:
                    values %mods;
   }
 
-  return @mods;
- }
-
- around 'draw' => sub {
-  my ($orig, $set, $tikz) = @_;
-
-  local $last_mod = $last_mod;
-
-  # Save a deep copy
-  my %saved_idx = map { $_ => $#{$mods{$_}} } keys %mods;
-  my $guard     = Scope::Guard->new(sub {
-   for (keys %mods) {
-    if (exists $saved_idx{$_}) {
-     $#{$mods{$_}} = $saved_idx{$_};
-    } else {
-     delete $mods{$_};
-    }
-   }
-  });
-
-  my @mods = $set->mods_unique;
-
   my $body = $set->$orig($tikz);
 
   if (@mods) {