]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/staff-symbol-engraver.cc
release: 1.3.88
[lilypond.git] / lily / staff-symbol-engraver.cc
index a84f393a52d125d8fa36eb197415a489cb24baaa..2917e16a45ca21607a9bcb9a074a4839cc90f6b4 100644 (file)
@@ -1,12 +1,12 @@
 /*
-  staff-sym-reg.cc -- implement Staff_symbol_engraver
+  staff-symbol-engraver.cc -- implement Staff_symbol_engraver
 
   source file of the GNU LilyPond music typesetter
 
   (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
-#include "staff-symbol.hh"
+
 #include "score.hh"
 #include "paper-column.hh"
 #include "paper-def.hh"
   Manage the staff symbol.
  */
 class Staff_symbol_engraver : public Engraver { 
-  Staff_symbol *span_p_;
+  Spanner *span_p_;
 public:
   VIRTUAL_COPY_CONS(Translator);
   Staff_symbol_engraver();
   
 protected:
   virtual ~Staff_symbol_engraver();
-
   virtual void acknowledge_element (Score_element_info);
   virtual void do_removal_processing();
   virtual void do_creation_processing();
-       
 };
 
 
@@ -46,9 +44,11 @@ Staff_symbol_engraver::Staff_symbol_engraver()
 void
 Staff_symbol_engraver::do_creation_processing()
 {
-  span_p_ = new Staff_symbol;
-  span_p_->set_bounds(LEFT,get_staff_info().command_pcol_l ());
-  announce_element (Score_element_info (span_p_, 0));
+  span_p_ = new Spanner (get_property ("basicStaffSymbolProperties"));
+  
+  span_p_->set_bound(LEFT, unsmob_element (get_property ("currentCommandColumn")));
+
+  announce_element (span_p_, 0);
 }
 
 void
@@ -62,7 +62,7 @@ Staff_symbol_engraver::do_removal_processing()
   if (gh_number_p (n))
     span_p_->set_elt_property ("line-count", n);
 
-  span_p_->set_bounds(RIGHT,get_staff_info().command_pcol_l ());
+  span_p_->set_bound(RIGHT,unsmob_element (get_property ("currentCommandColumn")));
   typeset_element (span_p_);
   span_p_ =0;
 }
@@ -70,7 +70,7 @@ Staff_symbol_engraver::do_removal_processing()
 void
 Staff_symbol_engraver::acknowledge_element (Score_element_info s)
 {
-  s.elem_l_->set_elt_property ("staff-symbol", span_p_->self_scm_);
+  s.elem_l_->set_elt_property ("staff-symbol", span_p_->self_scm ());
   s.elem_l_->add_dependency (span_p_); // UGH. UGH. UGH 
 }