return c;
}
-Symbol
+Atom
Lookup::half_slur_middlepart (Real &dx, Direction dir) const
{
// todo
WARN << "slur too narrow\n";
}
- Symbol s;
+ Atom s;
- s.dim.y() = Interval (min (0,0), max (0,0)); // todo
- s.dim.x() = Interval (0,dx);
+ s.dim_.y() = Interval (min (0,0), max (0,0)); // todo
+ s.dim_.x() = Interval (0,dx);
String f = String ("\\hslurchar");
f += direction_char (CENTER);
assert (idx < 256);
- f+=String ("{") + String (idx) + "}";
- s.tex = f;
- Atom a (s);
- a.translate (dx/2, X_AXIS);
- s.tex = a.TeX_string();
+ f +=String ("{") + String (idx) + "}";
+ s.tex_ = f;
+ s.translate (dx/2, X_AXIS);
return s;
}
-Symbol
+Atom
Lookup::half_slur (int dy, Real &dx, Direction dir, int xpart) const
{
Real orig_dx = dx;
WARN << "slur too narrow " << print_dimen (orig_dx)<<"\n";
}
- Symbol s;
- s.dim.x() = Interval (0,dx);
- s.dim.y() = Interval (min (0,dy), max (0,dy));
+ Atom s;
+ s.dim_.x() = Interval (0,dx);
+ s.dim_.y() = Interval (min (0,dy), max (0,dy));
String f = String ("\\hslurchar");
f+=String ("{") + String (idx) + "}";
- s.tex = f;
+ s.tex_ = f;
return s;
}
-Symbol
+Atom
Lookup::slur (int dy , Real &dx, Direction dir) const
{
WARN<<"slur to steep: " << dy << " shrinking (ugh)\n";
}
- Symbol s;
- s.dim.x() = Interval (0,dx);
- s.dim.y() = Interval (min (0,dy), max (0,dy));
+ Atom s;
+ s.dim_.x() = Interval (-dx/2,dx/2);
+ s.dim_.y() = Interval (min (0,dy), max (0,dy));
String f = String ("\\slurchar") + String (direction_char (y_sign));
assert (idx < 256);
f+=String ("{") + String (idx) + "}";
- s.tex = f;
+ s.tex_ = f;
+
- Atom a (s);
- a.translate (dx/2, X_AXIS);
- s.dim = a.extent();
- s.tex = a.TeX_string();
+ s.translate (dx/2, X_AXIS);
return s;
}
-Symbol
+Atom
Lookup::big_slur (int dy , Real &dx, Direction dir) const
{
if (dx < 24 PT)
Atom r = half_slur (r_dy, right_wid, dir, 1);
Real mid_wid = dx - left_wid - right_wid;
- Atom m = half_slur (0, mid_wid, dir, 0);
-
Molecule mol;
mol.add (l);
- Atom a (m);
+ Atom a (half_slur (0, mid_wid, dir, 0));
a.translate (slur_extra * internote_f, Y_AXIS);
- mol.add_at_edge (X_AXIS, RIGHT, m);
+ mol.add_at_edge (X_AXIS, RIGHT, a);
mol.add_at_edge (X_AXIS, RIGHT, r);
mol.translate (l_dy * internote_f, Y_AXIS);
- Symbol s;
- s.tex = mol.TeX_string();
- s.dim = mol.extent();
+
+ Atom s;
+ s.tex_ = mol.TeX_string();
+ s.dim_ = mol.extent();
return s;
}