From 4b7f6d699ffe70ab6867da84eaaebf3d1be8765a Mon Sep 17 00:00:00 2001 From: fred Date: Wed, 29 Jul 1998 13:54:54 +0000 Subject: [PATCH] lilypond-1.0.1 --- lily/include/staff-bracket.hh | 28 +++++++++++++++ lily/span-score-bar-engraver.cc | 62 +++++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 lily/include/staff-bracket.hh create mode 100644 lily/span-score-bar-engraver.cc diff --git a/lily/include/staff-bracket.hh b/lily/include/staff-bracket.hh new file mode 100644 index 0000000000..526df1365b --- /dev/null +++ b/lily/include/staff-bracket.hh @@ -0,0 +1,28 @@ + +/* + staff-bracket.hh -- declare Staff_bracket + + source file of the GNU LilyPond music typesetter + + (c) 1998 Han-Wen Nienhuys + + */ + +#ifndef STAFF_BRACKET_HH +#define STAFF_BRACKET_HH +#include "span-score-bar.hh" +class Staff_bracket : public Span_score_bar +{ +public: + DECLARE_MY_RUNTIME_TYPEINFO; + SCORE_ELEMENT_CLONE(Staff_bracket); + +protected: + virtual Interval do_width() const; + virtual void do_post_processing(); + virtual Atom get_bar_sym (Real) const; +}; + + +#endif /* STAFF_BRACKET_HH */ + diff --git a/lily/span-score-bar-engraver.cc b/lily/span-score-bar-engraver.cc new file mode 100644 index 0000000000..524d5b20ad --- /dev/null +++ b/lily/span-score-bar-engraver.cc @@ -0,0 +1,62 @@ +/* + span-score-bar-grav.cc -- implement Span_score_bar_engraver, + Piano_bar_engraver and Staff_group_bar_engraver + + source file of the GNU LilyPond music typesetter + + (c) 1997--1998 Han-Wen Nienhuys +*/ + +#include "span-score-bar.hh" +#include "piano-brace.hh" +#include "staff-bracket.hh" +#include "span-score-bar-engraver.hh" +#include "paper-def.hh" + + +Span_bar* +Span_score_bar_engraver::get_span_bar_p () const +{ + Span_bar*s = new Span_score_bar; + s->break_priority_i_ = -4; + + return s; +} + + +IMPLEMENT_IS_TYPE_B1 (Span_score_bar_engraver, Span_bar_engraver); +IMPLEMENT_IS_TYPE_B1 (Piano_bar_engraver, Span_score_bar_engraver); +IMPLEMENT_IS_TYPE_B1 (Staff_group_bar_engraver, Span_score_bar_engraver); + +Span_bar* +Piano_bar_engraver::get_span_bar_p () const +{ + Span_bar *s= new Piano_brace; + s->break_priority_i_ = -4; + return s; +} + +Span_bar* +Staff_group_bar_engraver::get_span_bar_p () const +{ + Span_bar *s= new Staff_bracket; + s->break_priority_i_ = -4; + return s; +} + +void +Staff_group_bar_engraver::acknowledge_element (Score_element_info i) +{ + Span_bar_engraver::acknowledge_element (i); + if (i.elem_l_->is_type_b (Piano_brace::static_name ())) + { + Span_bar* b = i.elem_l_->access_Span_bar (); + Piano_brace * piano_l = (Piano_brace*) b; + piano_l->extra_move_left_f_ = paper ()->interline_f (); // ugh + } +} + +ADD_THIS_TRANSLATOR (Piano_bar_engraver); +ADD_THIS_TRANSLATOR (Staff_group_bar_engraver); +ADD_THIS_TRANSLATOR (Span_score_bar_engraver); + -- 2.39.5