chiark / gitweb /
overflow-tube: cut adj, break out x_cut_rhs
[quacks.git] / overflow-tube.ps.pl
index 3aafd9e767f81fd7e803b89029ee92240d0f3b84..0ca63cd2eef265a66ae9d4ae82448a38f400e763 100755 (executable)
@@ -19,8 +19,18 @@ ps_start(<<END);
 END
 
 my $x_cut = 27;
+my $x_cutd = 1;
+my $x_cut2 = 38;
+my $y_cut2 = 24;
 my $y_cutd = 10;
 
+my $coverup_x = 5;
+my $coverup_y = 89;
+
+my $cutd_slope = ($x_cut2-$x_cut)/$x_cut;
+my $y_cut2d = $y_cutd * $cutd_slope;
+my $y_cutdd = $x_cutd * $cutd_slope;
+
 my $nrepis = 4;
 
 my $paper_x = 210;
@@ -38,6 +48,8 @@ my $y_top = $y_pl_zero + $y_cutd + $spacing*1.25;
 
 our $veep_bg = " 0.95 0.90 0.67 setrgbcolor ";
 
+our $x_cut_rhs = $paper_x - $x_cut;
+
 sub some_cut_line($) {
   <<END;
 gsave
@@ -51,12 +63,14 @@ END
 o <<GS, some_cut_line(<<GR), <<END;
 /cut_line {
 GS
-                              newpath
-  $x_cut 0                    moveto
-  $x_cut $y_cut               lineto
-  0      $y_cut $y_cutd add   lineto
-  0      $y_top               lineto
-                              stroke
+                                          newpath
+  $x_cut2     0                           moveto
+  $x_cut2     $y_cut2                     lineto
+  $x_cut $x_cutd add     $y_cut2   $y_cut2d add      lineto
+  $x_cut $x_cutd add      $y_cut   $y_cutdd add      lineto
+  0           $y_cut    $y_cutd add       lineto
+  0           $y_top                      lineto
+                                          stroke
 GR
 } def
 END
@@ -208,20 +222,31 @@ sub set () {
   o(<<END);
     cut_line
     gsave
-      $paper_x $x_cut sub  0 translate
+      $x_cut_rhs 0 translate
       cut_line
     grestore
 END
   o some_cut_line <<END;
                                  newpath
     0                    $y_top  moveto
-    $paper_x $x_cut sub  $y_top  lineto
+    $x_cut_rhs           $y_top  lineto
                                  stroke
 END
 
   repis();
 
   o <<END;
+    gsave
+      $coverup_x $coverup_y translate
+      /Times-Roman findfont 4.0 scalefont setfont
+      0 8 moveto  (cover) show
+      2 4.5 moveto  (up) show
+      0 0 moveto
+      /Helvetica-Bold-Italic findfont 3.5 scalefont setfont (35) show
+      1 0 rmoveto
+      /Helvetica-Bold findfont 3.5 scalefont setfont (15) show
+    grestore
+
     gsave
       $paper_x $x_cut sub  $y_top 7 sub translate