]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.65
authorfred <fred>
Sun, 24 Mar 2002 19:44:28 +0000 (19:44 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:44:28 +0000 (19:44 +0000)
lily/include/scoreline.hh
lily/include/super-elem.hh [new file with mode: 0644]

index 15c10f31cf9278880b15c7b3015ae584137634e0..688d95b5642ee556b873f207f4db4c31e66dfdcf 100644 (file)
@@ -1,33 +1,44 @@
+
 /*
-  scoreline.hh -- part of LilyPond
+  scoreline.hh -- part of GNU LilyPond
 
   (c) 1996,97 Han-Wen Nienhuys
 */
 
 #ifndef SCORELINE_HH
 #define SCORELINE_HH
-#include "proto.hh"
-#include "plist.hh"
-#include "varray.hh"
 
-/// the columns of a score that form one line.
-struct
-Line_of_score {
-    Link_list<PCol *> cols;
+#include "colhpos.hh"
+#include "spanner-elem-group.hh"
 
+/// the columns of a score that form one line.
+class Line_of_score : public Spanner_elem_group {
+public:
+    Link_array<Spanner_elem_group> line_arr_;
+    Link_array<PCol > cols;
     bool error_mark_b_;
-    // need to store height of each staff.
-    Pointer_list<Line_of_staff*> staffs;
-    PScore * pscore_l_;        // needed to generate staffs
-
+    virtual String TeX_string() const;    
+    
     /* *************** */
-    void process() ;
-    Line_of_score(Array<PCol *> sv,  PScore *);
-
-    String TeXstring() const;
-
-    // is #c# contained in #*this#?
-    bool element(PCol const *c);
+    NAME_MEMBERS(Line_of_score);
+    Line_of_score();
+    
+    void add_line(Spanner_elem_group *);
+
+    /// is #c# contained in #*this#?
+    bool contains_b(PCol const *c)const;
+    
+    Link_array<Line_of_score> get_lines()const;
+    void set_breaking(Array<Col_hpositions> const&);
+    
+protected:
+    virtual void break_into_pieces();
+    virtual void do_substitute_dependency(Score_elem*,Score_elem*);
+    virtual void do_pre_processing();
+    virtual void do_post_processing();
+
+
+    SPANNER_CLONE(Line_of_score)
 };
 
 #endif
diff --git a/lily/include/super-elem.hh b/lily/include/super-elem.hh
new file mode 100644 (file)
index 0000000..db81347
--- /dev/null
@@ -0,0 +1,32 @@
+/*
+  super-elem.hh -- declare Super_elem
+
+  source file of the LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+
+#ifndef SUPER_ELEM_HH
+#define SUPER_ELEM_HH
+
+#include "score-elem.hh"
+/** The toplevel element. The PScore contains this element, and any
+  element shoud be a dependency for the super element.
+  */
+class Super_elem : public virtual Score_elem {
+public:
+    Link_array<Line_of_score> lines_arr_;
+    Line_of_score * line_of_score_l_;
+    void add_broken_line(Line_of_score*);
+    Super_elem();
+    virtual String TeX_string()const;
+protected:
+    virtual void do_substitute_dependency(Score_elem*,Score_elem*);
+    virtual void handle_broken_dependencies();
+
+    virtual void do_add_processing();
+    NAME_MEMBERS(Super_elem);
+};
+
+#endif // SUPER_ELEM_HH