2 span-score-bar-grav.cc -- implement Span_score_bar_engraver,
3 Piano_bar_engraver and Staff_group_bar_engraver
5 source file of the GNU LilyPond music typesetter
7 (c) 1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
10 #include "span-score-bar.hh"
11 #include "piano-brace.hh"
12 #include "staff-bracket.hh"
13 #include "span-score-bar-engraver.hh"
14 #include "paper-def.hh"
18 Span_score_bar_engraver::get_span_bar_p () const
20 Span_bar*s = new Span_score_bar;
21 s->break_priority_i_ = -4;
27 IMPLEMENT_IS_TYPE_B1 (Span_score_bar_engraver, Span_bar_engraver);
28 IMPLEMENT_IS_TYPE_B1 (Piano_bar_engraver, Span_score_bar_engraver);
29 IMPLEMENT_IS_TYPE_B1 (Staff_group_bar_engraver, Span_score_bar_engraver);
32 Piano_bar_engraver::get_span_bar_p () const
34 Span_bar *s= new Piano_brace;
35 s->break_priority_i_ = -4;
40 Staff_group_bar_engraver::get_span_bar_p () const
42 Span_bar *s= new Staff_bracket;
43 s->break_priority_i_ = -4;
48 Staff_group_bar_engraver::acknowledge_element (Score_element_info i)
50 Span_bar_engraver::acknowledge_element (i);
51 if (dynamic_cast<Piano_brace *> (i.elem_l_))
53 Span_bar* b = dynamic_cast <Span_bar *> (i.elem_l_);
54 Piano_brace * piano_l = (Piano_brace*) b;
55 piano_l->extra_move_left_f_ = paper ()->interline_f (); // ugh
59 ADD_THIS_TRANSLATOR (Piano_bar_engraver);
60 ADD_THIS_TRANSLATOR (Staff_group_bar_engraver);
61 ADD_THIS_TRANSLATOR (Span_score_bar_engraver);