]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/super-element.cc
release: 1.1.58
[lilypond.git] / lily / super-element.cc
index e3b3ffbfc12b2e678efadf095c1bf6bf516261b3..03788e8f403a90bce79702ec0de5abe46567ecb2 100644 (file)
@@ -3,21 +3,14 @@
 
   source file of the LilyPond music typesetter
 
-  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c)  1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 #include "super-element.hh"
 #include "line-of-score.hh"
-#include "p-score.hh"
+#include "paper-score.hh"
 #include "string.hh"
-#include "tex-outputter.hh"
-
-
-Super_element::Super_element()
-{
-}
-
-IMPLEMENT_IS_TYPE_B1(Super_element,Score_element);
+#include "paper-outputter.hh"
 
 
 /**
@@ -27,29 +20,29 @@ enum Score_element_status {
   ORPHAN=0,                    // not yet added to pstaff
   VIRGIN,                      // added to pstaff
   PREBROKEN,
+  PREBROKEN_SECOND,
   PRECALCING,
   PRECALCED,           // calcs before spacing done
   SPACING,
   SPACED,
   BROKEN,
+  BROKEN_SECOND,
   POSTCALCING,         // busy calculating. This is used to trap cyclic deps.
   POSTCALCED,          // after spacing calcs done
   BREWING,
   BREWED,
-  UNLINKING,
-  UNLINKED,
 };
 
 void
 Super_element::pre_processing ()
 {
-  calcalute_dependencies (PRECALCING, PRECALCED, &Score_element::do_pre_processing);
+  calculate_dependencies (PRECALCED, PRECALCING, &Score_element::do_pre_processing);
 }
 
 void
 Super_element::space_processing ()
 {
-  calcalute_dependencies (SPACING, SPACED, &Score_element::do_space_processing);
+  calculate_dependencies (SPACED, SPACING, &Score_element::do_space_processing);
 }
 
 /* for break processing, use only one status, because copies have to
@@ -59,33 +52,29 @@ Super_element::space_processing ()
 void
 Super_element::breakable_col_processing ()
 {
-  calcalute_dependencies (PREBROKEN, PREBROKEN, &Score_element::do_breakable_col_processing);
+  calculate_dependencies (PREBROKEN, PREBROKEN, &Score_element::do_breakable_col_processing);
+  calculate_dependencies (PREBROKEN_SECOND, PREBROKEN_SECOND, &Score_element::handle_prebroken_dependents);
 }
 
 void
 Super_element::break_processing ()
 {
-  calcalute_dependencies (BROKEN, BROKEN, &Score_element::do_break_processing);
+  calculate_dependencies (BROKEN, BROKEN, &Score_element::do_break_processing);
+  calculate_dependencies (BROKEN_SECOND, BROKEN_SECOND,
+                         &Score_element::handle_broken_dependents);
 }
 void
 Super_element::post_processing ()
 {
-  calcalute_dependencies (POSTCALCING, POSTCALCED, &Score_element::do_post_processing);
+  calculate_dependencies (POSTCALCED, POSTCALCING, &Score_element::do_post_processing);
 }
 
 void
 Super_element::output_all () 
 {
-  pscore_l_->outputter_l_->start_line ();
-  calcalute_dependencies (BREWING, BREWED, &Score_element::do_brew_molecule);
-  pscore_l_->outputter_l_->stop_line ();
+  calculate_dependencies (BREWED, BREWING, &Score_element::output_processing);
 }
 
 
 
-void
-Super_element::unlink_all ()
-{
-  calcalute_dependencies (UNLINKING, UNLINKED, &Score_element::junk_links);
-}