]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/tex-beam.cc
release: 0.1.59
[lilypond.git] / lily / tex-beam.cc
index 6283f753ce93da2deb6156b0b08218ea9c7d7776..0a1de1398db3f52a51b4791ad92fafbbbd411262 100644 (file)
 #include "string-convert.hh"
 #include "main.hh"
 
-Atom
-Lookup::beam_element (int sidx, int widx, Real slope) const
-{
-  String name = String("slope");
-  Atom bs=(*symtables_p_)("beamslopes")->lookup (name);
-
-  Array<String> args;
-  args.push (sidx);
-  args.push (widx);
-  bs.tex_ = substitute_args (bs.tex_,args);
-  int w = 2 << widx;
-  Real width = w PT;
-  bs.dim_.x() = Interval (0,width);
-  bs.dim_.y() = Interval (0,width*slope);
-  return bs;
-}
-
 
 Atom
 Lookup::rule_symbol (Real height, Real width) const
@@ -57,10 +40,8 @@ Lookup::rule_symbol (Real height, Real width) const
 Atom 
 Lookup::beam(Real &slope, Real width, Real y_thick) const
 {
-  Atom a( postscript_global_b
-         ? ps_beam (slope, width, y_thick)
-         : tex_beam (slope, width));
   
+  Atom a( ps_beam (slope, width, y_thick));
   Real slope_y =slope * width; 
   Real min_y = (0 <? slope_y )- y_thick/2;
   Real max_y = (0 >? slope_y) + y_thick/2;
@@ -92,74 +73,8 @@ Lookup::ps_beam (Real slope, Real width, Real y_thickness)const
     name[i]=  'x';
 
 
-  String mf = "\\embeddedmf{" + name + "}{\n";
-  mf += "input feta-beum;\n";
-  mf += "drawbeam(" + width_str + "," + slope_str + "," + thick_str + ");\n";
-  mf += "end.\n";
-  mf += "}\n";
 
   Atom s;
   s.tex_ = ps;
-  if (embedded_mf_global_b)
-    s.tex_ += mf;
-  
   return s;
 }
-
-Atom
-Lookup::tex_beam (Real &slope, Real width) const
-{
-  const Real MAX_SLOPE = 0.6;
-  const Real SLOPES = 20.0;
-  int sidx = 0;
-  if (abs (slope) > MAX_SLOPE)
-    {
-      WARN << _("beam too steep (") << slope << ")\n";
-      slope = sign (slope) * MAX_SLOPE;
-    }
-
-  sidx = int (rint (slope / MAX_SLOPE *  SLOPES));
-  slope = MAX_SLOPE * sidx / SLOPES;
-
-  Interval xdims = (*symtables_p_)("beamslopes")->lookup ("slope").dim_[X_AXIS];
-  Real min_wid = xdims[LEFT];
-  Real max_wid = xdims[RIGHT];
-  assert(max_wid > 0);
-  int widths = intlog2 (int (max_wid/min_wid)) + 1;
-
-  if (width < min_wid)
-    {
-      WARN<<_("Beam too narrow. (") << print_dimen (width) <<")\n";
-      width = min_wid;
-    }
-
-  Real elemwidth = max_wid;
-
-  int widx  =widths - 1;
-  Molecule m;
-  while (elemwidth > width)
-    {
-      widx --;
-      elemwidth /= 2.0;
-    }
-  Real overlap = elemwidth/4;
-  Real last_x = width - elemwidth;
-  Real x = overlap;
-  Atom elem (beam_element (sidx * widths, widx, slope));
-  m.add (elem);
-  while (x < last_x)
-    {
-      Atom a(elem);
-      a.translate (Offset (x-overlap, (x-overlap)*slope));
-      m.add (a);
-      x += elemwidth - overlap;
-    }
-  Atom a(elem);
-  a.translate (Offset (last_x, (last_x) * slope));
-  m.add (a);
-
-  Atom ret;
-  ret.tex_ = m.TeX_string();
-
-  return ret;
-}