X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FLaTeX%2FTikZ%2FFormatter.pm;h=18abe13ef5ec872547aed19fd8f39de70f255db5;hb=597f5e5c66c1b4052fd8f817205cd28b752c4afa;hp=88bda48942b098a085c825d8370758a0ae3c800d;hpb=e8f0879ade07eed4f58cd52c0771f4e1ecc90b09;p=perl%2Fmodules%2FLaTeX-TikZ.git diff --git a/lib/LaTeX/TikZ/Formatter.pm b/lib/LaTeX/TikZ/Formatter.pm index 88bda48..18abe13 100644 --- a/lib/LaTeX/TikZ/Formatter.pm +++ b/lib/LaTeX/TikZ/Formatter.pm @@ -55,8 +55,6 @@ has 'origin' => ( does => 'Maybe[LaTeX::TikZ::Point]', ); -my $lts_tc = LaTeX::TikZ::Tools::type_constraint('LaTeX::TikZ::Set'); - my $find_mods; $find_mods = do { no warnings 'recursion'; @@ -64,13 +62,11 @@ $find_mods = do { Sub::Name::subname('find_mods' => sub { my ($set, $layers, $others) = @_; - if ($set->isa('LaTeX::TikZ::Set::Mod')) { - for ($set->mods) { - if ($_->isa('LaTeX::TikZ::Mod::Layer')) { - push @$layers, $_; - } else { - push @$others, $_; - } + for ($set->mods) { + if ($_->isa('LaTeX::TikZ::Mod::Layer')) { + push @$layers, $_; + } else { + push @$others, $_; } } @@ -87,8 +83,6 @@ $find_mods = do { sub render { my $tikz = shift; - $lts_tc->assert_valid($_) for @_; - my $seq = LaTeX::TikZ::Set::Sequence->new( kids => \@_, ); @@ -103,7 +97,12 @@ sub render { my $h = $tikz->height; my $canvas = ''; if (defined $w and defined $h) { - $seq->clip(Tikz->rectangle(Tikz->point(0) => [ $w, $h ])); + require LaTeX::TikZ::Set::Rectangle; + $seq->clip(LaTeX::TikZ::Set::Rectangle->new( + from => 0, + width => $w, + height => $h, + )); $_ = $tikz->len($_) for $w, $h; $canvas = ",papersize={$w,$h},body={$w,$h}"; } @@ -115,24 +114,12 @@ sub render { ); my @decls; - if (@layers) { - my $layers_decl = LaTeX::TikZ::Mod::Layer->declare(@layers); - if (defined $layers_decl) { - chomp $layers_decl; - push @decls, $layers_decl; - } - } - for (@other_mods) { - my $decl = $_->declare($tikz); - if (defined $decl) { - chomp $decl; - push @decls, $decl; - } - } + push @decls, LaTeX::TikZ::Mod::Layer->declare(@layers) if @layers; + push @decls, $_->declare($tikz) for @other_mods; my @content = ( "\\begin{tikzpicture}", - do { my $s = $seq->draw($tikz); chomp $s; $s }, + @{ $seq->draw($tikz) }, "\\end{tikzpicture}", );