]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/span-score-bar-engraver.cc
release: 1.1.33
[lilypond.git] / lily / span-score-bar-engraver.cc
index da1dfd2e7847b96a039be41432f6b81943539b38..1efa242c6a753991ef6f1e8b0e34ed92e2ff5157 100644 (file)
@@ -1,58 +1,64 @@
 /*
-  span-score-bar-grav.cc -- implement Span_score_bar_engraver,
+  span-score-bar-engraver.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 <hanwen@cs.uu.nl>
+  (c)  1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
-#include "span-score-bar.hh"
-#include "piano-brace.hh"
-#include "staff-bracket.hh"
+#include "span-bar.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;
+  Span_bar*s =  new Span_bar;
+  s->visibility_lambda_
+    = gh_eval_str ("Span_score_bar_visibility");
+  s->type_str_ = "scorebar";
     
   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 Piano_brace;
-  s->break_priority_i_ = -4;
+  Span_bar *s= new Span_bar;
+  s->visibility_lambda_
+    = gh_eval_str ("Piano_bar_visibility");
+  s->no_width_b_ =true;
+  s->type_str_ = "{";
   return s;
 }
 
 Span_bar*
 Staff_group_bar_engraver::get_span_bar_p () const
 {
-  Span_bar *s= new Staff_bracket;
-  s->break_priority_i_ = -4;
+  Span_bar *s= new Span_bar;
+  s->visibility_lambda_
+    = gh_eval_str ("Staff_group_bar_visibility");
+  s->no_width_b_ =true;
+  s->type_str_ = "[";
   return s;
 }
 
 void
 Staff_group_bar_engraver::acknowledge_element (Score_element_info i)
 {
-  Span_bar_engraver::acknowledge_element (i);
-  if (dynamic_cast<Piano_brace *> (i.elem_l_))
+  Base_span_bar_engraver::acknowledge_element (i);
+  if (Span_bar * b = dynamic_cast<Span_bar *> (i.elem_l_))
     {
-      Span_bar* b =  dynamic_cast <Span_bar *> (i.elem_l_);
-      Piano_brace * piano_l = (Piano_brace*) b;
-      piano_l->extra_move_left_f_  = paper ()->interline_f (); // ugh
+      if (b->type_str_ == "{")
+       b->extra_x_off_ -=  paper ()->interline_f (); // ugh
     }
 }