X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FLaTeX-TikZ.git;a=blobdiff_plain;f=lib%2FLaTeX%2FTikZ%2FMod%2FPattern.pm;h=ddae7e2b00f8b0b0ecc2f72526be2985927d7655;hp=426098224b321a1670d5adb08a7f18e2e3fbc725;hb=af7d6a5aef3bf5fec0c187b3a13a14adc88251fd;hpb=92147217516a40b35ca00c8e08939e8aa5478426 diff --git a/lib/LaTeX/TikZ/Mod/Pattern.pm b/lib/LaTeX/TikZ/Mod/Pattern.pm index 4260982..ddae7e2 100644 --- a/lib/LaTeX/TikZ/Mod/Pattern.pm +++ b/lib/LaTeX/TikZ/Mod/Pattern.pm @@ -15,6 +15,8 @@ Version 0.01 our $VERSION = '0.01'; +use LaTeX::TikZ::Interface; + use Any::Moose; with 'LaTeX::TikZ::Mod'; @@ -75,20 +77,22 @@ sub declare { sub apply { 'fill', 'pattern=' . $_[0]->name($_[1]) } -use LaTeX::TikZ::Interface pattern => sub { - my $class = shift; - - my %args = @_; - if (exists $args{class}) { - $class = delete $args{class}; - $class = __PACKAGE__ . '::' . $class unless $class =~ /::/; - (my $pm = $class) =~ s{::}{/}g; - $pm .= '.pm'; - require $pm; - } - - $class->new(%args); -}; +LaTeX::TikZ::Interface->register( + pattern => sub { + my $class = shift; + + my %args = @_; + if (exists $args{class}) { + $class = delete $args{class}; + $class = __PACKAGE__ . '::' . $class unless $class =~ /::/; + (my $pm = $class) =~ s{::}{/}g; + $pm .= '.pm'; + require $pm; + } + + $class->new(%args); + }, +); __PACKAGE__->meta->make_immutable;