2 staffsym.cc -- implement Staff_symbol
4 source file of the GNU LilyPond music typesetter
6 (c) 1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
8 #include "staff-sym.hh"
10 #include "dimensions.hh"
11 #include "paper-def.hh"
12 #include "molecule.hh"
17 Staff_symbol::Staff_symbol ()
27 Staff_symbol::do_print() const
31 DOUT << "lines: " << no_lines_i_;
36 Staff_symbol::do_height() const
38 int n = no_lines_i_ -1;
39 // return 2* inter_note_f () * Interval (-n, n);
40 return inter_note_f () * Interval (-n, n);
44 Staff_symbol::do_brew_molecule_p() const
46 Real w = extent (X_AXIS).length ();
47 Paper_def * p = paper();
48 Molecule rule = lookup_l ()->rule_symbol (p->get_var ("rulethickness"),
50 Real height = (no_lines_i_-1) * inter_note_f();
51 Molecule * m = new Molecule;
52 for (int i=0; i < no_lines_i_; i++)
55 a.translate_axis (height - i * inter_note_f()*2, Y_AXIS);
63 Staff_symbol::inter_note_f() const
66 return interline_f_/2;
68 return paper()->internote_f ();
72 Staff_symbol::steps_i() const