]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.65
authorfred <fred>
Sun, 25 May 1997 23:35:22 +0000 (23:35 +0000)
committerfred <fred>
Sun, 25 May 1997 23:35:22 +0000 (23:35 +0000)
lily/super-elem.cc [new file with mode: 0644]

diff --git a/lily/super-elem.cc b/lily/super-elem.cc
new file mode 100644 (file)
index 0000000..4db5cff
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+  super-elem.cc -- implement Super_elem
+
+  source file of the LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+#include "super-elem.hh"
+#include "scoreline.hh"
+#include "p-score.hh"
+
+String
+Super_elem::TeX_string()const
+{
+    String s;
+    for (int i=0; i < lines_arr_.size(); i++){
+       s += lines_arr_[i]->TeX_string();
+       if (i + 1<lines_arr_.size() )
+           s += "\\interscoreline"; // TODO
+    }
+    return s;
+}
+
+void
+Super_elem::handle_broken_dependencies()
+{
+    lines_arr_ = line_of_score_l_->get_lines();
+    for (int i =0; i < lines_arr_.size(); i++) 
+       add_dependency(lines_arr_[i]);
+}
+    
+
+void
+Super_elem::do_substitute_dependency(Score_elem*o,Score_elem* n)
+{
+    if (line_of_score_l_ == o->spanner())
+       line_of_score_l_ = n?(Line_of_score*)n->spanner():0;
+}
+
+Super_elem::Super_elem()
+{
+    line_of_score_l_ = new Line_of_score ;
+}
+
+void
+Super_elem::do_add_processing()
+{
+    pscore_l_->typeset_unbroken_spanner( line_of_score_l_ );
+    add_dependency(line_of_score_l_);
+}
+
+
+
+IMPLEMENT_STATIC_NAME(Super_elem);