From b0f68c6138ea2ceee6f84bdc1e95c5e2b31a3327 Mon Sep 17 00:00:00 2001 From: fred Date: Mon, 11 Nov 1996 00:23:28 +0000 Subject: [PATCH] lilypond-0.0.9 --- hdr/spanner.hh | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 hdr/spanner.hh diff --git a/hdr/spanner.hh b/hdr/spanner.hh new file mode 100644 index 0000000000..3940cebf60 --- /dev/null +++ b/hdr/spanner.hh @@ -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 -- 2.39.5