]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/base-span-bar-engraver.cc
patch::: 1.3.33.jcn3
[lilypond.git] / lily / base-span-bar-engraver.cc
index 16161061561a1d4e5848443cd95c84b2977d1fec..d233d514ca08008f7f69d7b5d44986abb9c8be8e 100644 (file)
@@ -3,9 +3,10 @@
 
   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 "dimension-cache.hh"
 #include "lily-guile.hh"
 #include "span-bar.hh"
 #include "base-span-bar-engraver.hh"
@@ -15,7 +16,6 @@ Base_span_bar_engraver::Base_span_bar_engraver()
 {
   spanbar_p_ =0;
   use_priority_b_ = true;
-  break_priority_i_ = 0;
 }
 
 Span_bar*
@@ -28,7 +28,7 @@ Base_span_bar_engraver::get_span_bar_p() const
 void
 Base_span_bar_engraver::acknowledge_element (Score_element_info i)
 {
-  int depth = i.origin_grav_l_arr_.size();
+  int depth = i.origin_trans_l_arr (this).size();
   if (depth > 1
       && dynamic_cast<Bar *> (i.elem_l_)) 
     {
@@ -44,31 +44,36 @@ Base_span_bar_engraver::acknowledge_element (Score_element_info i)
 
        /*
 
-         use a property?  get_property ("singleStaffBracket", 0) ?
+         use a property?  get_property ("singleStaffBracket"); ?
 
          --hwn
         */
        {
          spanbar_p_ = get_span_bar_p();
-         spanbar_p_->dim_cache_[Y_AXIS]->parent_l_ = bar_l_arr_[0]->dim_cache_[Y_AXIS];
-         String visnam =  String(name()) + "_visibility";
+         spanbar_p_->set_parent (bar_l_arr_[0], Y_AXIS);
+
+         /*
+           UGH. UGH UUHGK GUHG G
+           (ly_eval_str ??)
+          */
+         String visnam =  String(name()) + "-visibility";
          
-         spanbar_p_->set_elt_property (visibility_lambda_scm_sym,
-                                       gh_eval_str (visnam.ch_C()));
+         spanbar_p_->set_elt_property ("visibility-lambda",
+                                       ly_eval_str (visnam.ch_C()));
 
          if (use_priority_b_)
            {
-             spanbar_p_->set_elt_property (break_priority_scm_sym,
-                                           gh_int2scm (break_priority_i_));
+             spanbar_p_->set_elt_property ("break-aligned", SCM_BOOL_T);
            }
          else
            {
-             spanbar_p_->dim_cache_[X_AXIS]->parent_l_ = bar_l_arr_[0]->dim_cache_[X_AXIS];      
+             spanbar_p_->set_parent (bar_l_arr_[0], X_AXIS);
            }
          
          announce_element (Score_element_info (spanbar_p_,0));
-         if (spanbar_p_->type_str_.empty_b ())
-           spanbar_p_-> type_str_ = bar_l_arr_[0]->type_str_;
+         if (!gh_string_p (spanbar_p_->get_elt_property ("glyph")))
+           spanbar_p_-> set_elt_property ("glyph",
+                                          bar_l_arr_[0]->get_elt_property ("glyph"));
        }
     }
 }
@@ -89,3 +94,4 @@ Base_span_bar_engraver::do_pre_move_processing()
 
 
 ADD_THIS_TRANSLATOR(Base_span_bar_engraver);
+