source file of the GNU LilyPond music typesetter
- (c) 1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "span-bar.hh"
#include "span-score-bar-engraver.hh"
#include "paper-def.hh"
+#include "dimension-cache.hh"
Span_bar*
Span_score_bar_engraver::get_span_bar_p () const
{
Span_bar*s = new Span_bar;
- s->visibility_lambda_
- = gh_eval_str ("Span_score_bar_visibility");
- s->type_str_ = "scorebar";
-
+ s->set_elt_property ("glyph", gh_str02scm ("scorebar"));
+ s->set_elt_property ("break-aligned",SCM_BOOL_T);
+
return s;
}
Span_score_bar_engraver::Span_score_bar_engraver ()
{
use_priority_b_ = true;
- break_priority_i_ = -4;
}
Span_bar*
Piano_bar_engraver::get_span_bar_p () const
{
Span_bar *s= new Span_bar;
- s->visibility_lambda_
- = gh_eval_str ("Piano_bar_visibility");
- s->no_width_b_ =true;
- s->type_str_ = "{";
+ s->set_empty (X_AXIS);
+ s->set_elt_property ("glyph", gh_str02scm ("brace"));
return s;
}
Staff_group_bar_engraver::get_span_bar_p () const
{
Span_bar *s= new Span_bar;
- s->visibility_lambda_
- = gh_eval_str ("Staff_group_bar_visibility");
- s->no_width_b_ =true;
- s->type_str_ = "[";
+ s->set_empty (X_AXIS);
+ s->set_elt_property ("glyph", gh_str02scm ("bracket"));
+
+ SCM collapse = get_property ("bracketCollapseHeight");
+ if (gh_number_p (collapse))
+ s->set_elt_property ("collapse-height", collapse);
+ else
+ s->set_elt_property ("collapse-height", gh_double2scm (1));
+
return s;
}
Base_span_bar_engraver::acknowledge_element (i);
if (Span_bar * b = dynamic_cast<Span_bar *> (i.elem_l_))
{
- if (b->type_str_ == "{")
- b->extra_x_off_ -= paper ()->interline_f (); // ugh
+ SCM gl = b->get_elt_property ("glyph");
+ if (gh_string_p (gl) && ly_scm2string (gl) == "brace")
+ b->translate_axis ( -paper_l ()->get_var ("interline"),
+ X_AXIS); // ugh
}
}
ADD_THIS_TRANSLATOR (Staff_group_bar_engraver);
ADD_THIS_TRANSLATOR (Span_score_bar_engraver);
+