chiark / gitweb /
break one one_hs
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 2 Mar 2019 15:42:30 +0000 (15:42 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 2 Mar 2019 15:42:30 +0000 (15:42 +0000)
generate-board

index 8171138e83b68343dbed512a2809b75ecd7fee23..19302303cb678ce56431faf07fe974699850f24a 100755 (executable)
@@ -388,10 +388,23 @@ sub edge_faces() {
   } values %region);
 }
 
+our $hs_sz = 17 * MM2PT;
+our $hs_lw = 3;
+
+sub one_hs ($$) {
+  my ($colour, $hspos) = @_;
+  o(sprintf <<END
+   %% HS
+   newpath %s %s %f 0 360 arc closepath gsave fill grestore
+   0 setgray $hs_lw setlinewidth stroke
+END
+       , pscolour($colour,
+                  sub { $_ = 0.75 * $_ foreach @_ }),
+       psvec($hspos), $hs_sz/2);
+}
+
 sub label_faces() {
   my $sz = 18;
-  my $hs_sz = 17 * MM2PT;
-  my $hs_lw = 3;
   my $shadow = $sz * 0.1;
   o("  /Helvetica-Bold findfont  $sz scalefont setfont\n");
   my %hs = map { $_ => 1 } @{ $c{HS} };
@@ -405,14 +418,7 @@ sub label_faces() {
                    ( $rr->{Colour} eq 'green' ? 0.25 : 0.65 ));
       my $hspos = $pos - mkvec(0, $sz * @$words + $hs_sz/2 + $hs_lw
                               + $hs_sz*0.15);
-      o(sprintf <<END
-   %% HS
-   newpath %s %s %f 0 360 arc closepath gsave fill grestore
-   0 setgray $hs_lw setlinewidth stroke
-END
-       , pscolour($c{Colours}{$rr->{Colour}},
-                  sub { $_ = 0.75 * $_ foreach @_ }),
-       psvec($hspos), $hs_sz/2);
+      one_hs($c{Colours}{$rr->{Colour}}, $hspos);
     }
     # xxx water cubes
     o("  /words {\n");