From 1f39accc8ec7b1236bc8f9813b77b39827c44dc7 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Fri, 1 Mar 2019 12:58:33 +0000 Subject: [PATCH] break out facepath --- generate-board | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/generate-board b/generate-board index 5b7fa99..dd1455e 100755 --- a/generate-board +++ b/generate-board @@ -264,20 +264,25 @@ sub psvec ($) { sprintf "%20.6f %20.6f", $pos->get(0),$pos->get(1) } +sub face_path ($) { + my ($rr) = @_; + o("% $rr->{Name}\n"); + o(" newpath\n"); + my $xto = 'moveto'; + foreach my $vertex (@{ $rr->{Polygon} }) { + my $pos = $vertex->{Pos}; + o(sprintf " %s %s\n", psvec($pos), $xto); + $xto = 'lineto'; + } + o(" closepath\n"); +} + sub write_face_edges() { o("5 setlinewidth 1 setlinejoin\n"); foreach my $rr (values %region) { next if $rr->{Name} eq 'L'; - o("% $rr->{Name}\n"); - o(" newpath\n"); - my $xto = 'moveto'; + face_path($rr); # xxx ordering: must do all fills then all strokes - foreach my $vertex (@{ $rr->{Polygon} }) { - my $pos = $vertex->{Pos}; - o(sprintf " %s %s\n", psvec($pos), $xto); - $xto = 'lineto'; - } - o(" closepath\n"); my $chex = $c{Colours}{$rr->{Colour}}; if ($chex) { o(" gsave "); -- 2.30.2