]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.3.57
authorfred <fred>
Tue, 26 Mar 2002 23:22:32 +0000 (23:22 +0000)
committerfred <fred>
Tue, 26 Mar 2002 23:22:32 +0000 (23:22 +0000)
lily/axis-group-engraver.cc
lily/line-group-group-engraver.cc
lily/paper-column.cc

index 52fc80484a3bf0fd22c2c4b01b982149ea328833..6ffe752dda66415ca5c614e4d244c53309fa13ca 100644 (file)
@@ -24,7 +24,11 @@ Axis_group_engraver::do_creation_processing ()
   staffline_p_ = get_spanner_p ();
   Axis_group_interface (staffline_p_).set_interface ();
   Axis_group_interface (staffline_p_).set_axes (Y_AXIS, Y_AXIS);
-  staffline_p_->set_bound(LEFT,get_staff_info().command_pcol_l ());
+
+  Item *  it = get_staff_info().command_pcol_l ();
+  Pointer_group_interface (it, "bounded-by-me").add_element (staffline_p_);  
+  staffline_p_->set_bound(LEFT,it);
+
   announce_element (Score_element_info (staffline_p_, 0));
 }
 
@@ -57,8 +61,11 @@ Axis_group_engraver::do_removal_processing ()
       && gh_number_p (gh_cdr (dims)))
     staffline_p_->set_elt_property ("extra-extent-Y", dims);
 
-  
-  staffline_p_->set_bound(RIGHT,get_staff_info().command_pcol_l ());
+  Item *  it = get_staff_info().command_pcol_l ();
+
+  Pointer_group_interface (it, "bounded-by-me").add_element (staffline_p_);  
+  staffline_p_->set_bound(RIGHT,it);
+
   typeset_element (staffline_p_);
   staffline_p_ = 0;
 }
index aa4b6e8c20c21a98bebe3efd754791d674af498d..202d8ff3287f7c81ad97d9d87ce9d2772e6cdc53 100644 (file)
@@ -34,8 +34,10 @@ void
 Line_group_engraver_group::do_removal_processing()
 {
   Engraver_group_engraver::do_removal_processing ();
+  Item *  it = get_staff_info().command_pcol_l ();
 
-  staffline_p_->set_bound(RIGHT,get_staff_info().command_pcol_l ());
+  Pointer_group_interface (it, "bounded-by-me").add_element (staffline_p_);  
+  staffline_p_->set_bound(RIGHT,it);
   Engraver_group_engraver::typeset_element (staffline_p_);
   staffline_p_ = 0;
 }
@@ -44,7 +46,9 @@ void
 Line_group_engraver_group::do_creation_processing()
 {
   create_line_spanner ();
-  staffline_p_->set_bound(LEFT,get_staff_info().command_pcol_l ());
+  Item *  it = get_staff_info().command_pcol_l ();  
+  staffline_p_->set_bound(LEFT,it);
+  Pointer_group_interface (it, "bounded-by-me").add_element (staffline_p_);
   
   Engraver::announce_element (Score_element_info (staffline_p_,0));
 }
index f7db1474a2f5ac1bf1795b6c3def51dba66f4836..d38687e4f1e24b3a93208ed67cc7781ea6df97cb 100644 (file)
@@ -95,7 +95,7 @@ Paper_column::column_l () const
 }
 
 Paper_column::Paper_column (Moment w)
-  : Item (SCM_EOL)
+  : Item (SCM_EOL)             // guh.?
 {
   SCM when = (new Moment (w))->smobify_self ();
   scm_unprotect_object (when);
@@ -103,7 +103,7 @@ Paper_column::Paper_column (Moment w)
 
   Axis_group_interface (this).set_interface ();
   Axis_group_interface (this).set_axes (X_AXIS, X_AXIS);
-
+  set_elt_pointer ("bounded-by-me", SCM_EOL);
   line_l_=0;
   rank_i_ = -1;
 }
@@ -135,5 +135,7 @@ Paper_column::musical_b () const
 bool
 Paper_column::used_b ()const
 {
-  return gh_pair_p (get_elt_pointer ("elements")) ||  breakable_b ();
+  return gh_pair_p (get_elt_pointer ("elements")) ||  breakable_b ()
+    || gh_pair_p (get_elt_pointer ("bounded-by-me"))
+    ;
 }