/// this does the typesetting
struct Rhythmic_column : public Simple_column {
virtual void typeset_req(Request *rq);
+ virtual void typeset_stem(Stem_req *rq);
virtual void typeset_command(Command *, int brs);
--- /dev/null
+
+#include "spanner.hh"
+#include "line.hh"
+
+#include "symbol.hh"
+#include "molecule.hh"
+#include "pcol.hh"
+
+String
+Spanner::TeXstring() const
+{
+ assert(right->line);
+ Real w = left->hpos - right->hpos;
+ return strets->eval(w).tex;
+}
+
+Spanner *
+Spanner::broken_at(const PCol *c1, const PCol *c2) const
+{
+ Spanner *sp = new Spanner(*this);
+ sp->left = c1;
+ sp->right = c2;
+ return sp;
+}
+
+Spanner::Spanner()
+{
+ pstaff_=0;
+ strets=0;
+ left = right = 0;
+}
+
--- /dev/null
+/*
+ stem.hh -- part of LilyPond
+
+ (c) 1996 Han-Wen Nienhuys
+*/
+
+#ifndef STEM_HH
+#define STEM_HH
+#include "item.hh"
+
+struct Stem : public Item {
+ // heads the stem encompasses (positions)
+ int minnote, maxnote;
+
+ int staff_center;
+
+ // extent of the stem (positions)
+ int bot, top;
+
+ // flagtype? 4 none, 8 8th flag, 0 = beam.
+ int flag;
+
+
+ /****************/
+ void brew_molecole();
+ void calculate();
+ Stem(int center);
+ void print() const;
+ Interval width() const;
+};
+#endif
#include "staff.hh"
#include "sccol.hh"
#include "stcol.hh"
+#include "spanner.hh"
#include "list.cc"
#include "plist.cc"