chiark / gitweb /
adjust cube edge colours
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 6 Mar 2019 23:04:31 +0000 (23:04 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 6 Mar 2019 23:04:31 +0000 (23:04 +0000)
generate-board

index 6e21535451d99e7c8255dca582971e79989577ee..db7bd59b6e8bca2bd82aa52c7f9aa26b7c700032 100755 (executable)
@@ -458,9 +458,7 @@ sub miscpscolour ($) {
   pscolour($colourname, 1, 1,0);
 }
 
-sub cubeedgepscolour () {  '0 setgray ' }
 sub seatrackedgepscolour () { darkerpscolour('cube', 0.25) }
-# xxx ^ combine these - which one ?
 
 sub fill_faces() {
   o("clippath ", facepscolour('land'), " fill\n");
@@ -594,7 +592,7 @@ END
       o("    ", psvec($pos), " translate\n");
       o("    0 ", $cube_y, " translate\n");
       o("    ", -0.5 * water_cubes_sz($w)," ", -$down, " translate\n");
-      water_cubes($w);
+      water_cubes($w, miscpscolour('edge'));
       o("  grestore\n");
     }
     o("  /words {\n");
@@ -621,8 +619,8 @@ sub water_cubes_sz($){
   ($cube_sz + $cube_lw) * $n + ($cube_gap * ($n-1));
 }
   
-sub water_cubes($){
-  my ($n) = @_;
+sub water_cubes($$){
+  my ($n, $edgecolour) = @_;
   my $s = $cube_sz;
   for my $i (0..$n-1) {
     o("  newpath  ", $i * ($cube_sz + $cube_lw + $cube_gap),"  0  moveto\n");
@@ -630,7 +628,7 @@ sub water_cubes($){
     o("           0 $s  rlineto\n");
     o("         -$s  0  rlineto  closepath\n");
     o("  gsave ", miscpscolour('cube'), " fill grestore\n");
-    o("  gsave ", cubeedgepscolour(), $cube_lw,
+    o("  gsave ", $edgecolour, " ", $cube_lw,
       " setlinewidth stroke grestore \n");
   }
 }
@@ -684,6 +682,7 @@ sub sea_track(){
                 $linecolour);
   }
   my $last = 0;
+  my $cubeedgecolour = seatrackedgepscolour();
   for my $i (0..$#pos) {
     my $differs = $track->[$i] != $last;
     $last = $track->[$i];
@@ -716,11 +715,11 @@ sub sea_track(){
       (-$dy * 0.5 - 0.5 * (water_cubes_sz(2))),
       " translate\n");
     my $bottom = int(($track->[$i+1] + 1) / 2);
-    water_cubes($bottom);
+    water_cubes($bottom, $cubeedgecolour);
     my $new_n = $track->[$i+1] - $bottom;
     o("  ", 0.5 * (water_cubes_sz($bottom) - water_cubes_sz($new_n)),
       "  ",       (water_cubes_sz(2)-water_cubes_sz(1)), " translate\n");
-    water_cubes($new_n);
+    water_cubes($new_n, $cubeedgecolour);
     o("  grestore\n");
   }
   o("  grestore\n");
@@ -837,7 +836,7 @@ sub hs_initial () {
   hs_initial_1('green',   1,0, 'up to 6', 'fewer', sub {
     o("    ",(water_cubes_sz(1))," 0 translate\n");
     o("    0 ",(-water_cubes_sz(1) * 0.3)," translate\n");
-    water_cubes(1);
+    water_cubes(1, miscpscolour('edge'));
   });
   hs_initial_1('yellow',  1,1, 'up to 4', '', sub {
     o("    newpath dykepath\n");