2 bar.cc -- implement Bar
4 source file of the GNU LilyPond music typesetter
6 (c) 1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
9 #include "dimension-cache.hh"
12 #include "molecule.hh"
13 #include "paper-def.hh"
20 set_elt_property ("breakable", SCM_BOOL_T);
25 Bar::get_bar_size () const
33 Bar::do_brew_molecule_p () const
35 String s = ly_scm2string (get_elt_property ("glyph"));
37 = new Molecule (lookup_l ()->bar (s, get_bar_size (), paper_l ()));
45 Bar::do_pre_processing ()
47 SCM def = remove_elt_property ("default-glyph");
48 SCM g = get_elt_property ("glyph");
49 if (!gh_string_p (g) && gh_string_p (def))
51 set_elt_property ("glyph", def);
52 g = get_elt_property ("glyph");
55 SCM breakdir = gh_int2scm (break_status_dir ());
59 g = scm_eval (gh_list (ly_symbol2scm ("break-barline"),
70 if (remove_elt_property ("at-line-start") == SCM_BOOL_T // UGR.
71 && (break_status_dir () == RIGHT) && (type_str_ == ""))
79 set_elt_property ("transparent", SCM_BOOL_T);
83 set_elt_property ("glyph", g);