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");
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");
($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");
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");
}
}
$linecolour);
}
my $last = 0;
+ my $cubeedgecolour = seatrackedgepscolour();
for my $i (0..$#pos) {
my $differs = $track->[$i] != $last;
$last = $track->[$i];
(-$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");
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");