]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.9
authorfred <fred>
Mon, 11 Nov 1996 00:23:28 +0000 (00:23 +0000)
committerfred <fred>
Mon, 11 Nov 1996 00:23:28 +0000 (00:23 +0000)
hdr/spanner.hh [new file with mode: 0644]

diff --git a/hdr/spanner.hh b/hdr/spanner.hh
new file mode 100644 (file)
index 0000000..3940ceb
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+  spanner.hh -- part of LilyPond
+
+  (c) 1996 Han-Wen Nienhuys
+*/
+
+#ifndef SPANNER_HH
+#define SPANNER_HH
+#include "proto.hh"
+
+/// a symbol which is attached between two columns.
+struct Spanner {
+    PCol *left, *right;
+    PStaff * pstaff_;
+    Molecule *output ;
+
+    /****************/
+
+    String TeXstring () const ;
+    Spanner();
+    Paperdef*paper() const;
+
+    virtual Interval height()const=0;
+    /**
+      PRE:
+      processed
+      */
+    virtual Interval width()const;
+    virtual void process();
+    virtual void preprocess();
+
+
+    /// clone a piece of  this spanner.
+    virtual Spanner *broken_at(const PCol *c1, const PCol *c2) const=0; 
+    /**
+    PRE
+    c1 >= start, c2  <= stop
+    */
+    virtual void print() const;
+};
+/** Spanner should know about the items which it should consider:
+    e.g. slurs should be steep enough to "enclose" all those items. This
+    is absolutely necessary for beams, since they have to adjust the
+    length of stems of notes they encompass.
+
+    */
+#endif