virtual Interval width()const;
- Spanner *broken_at(const PCol *, const PCol *) const;
+ Spanner *broken_at(PCol *, PCol *) const;
Beam();
void add(Stem*);
void process();
/// the columns of a score that form one line.
struct
Line_of_score {
- PointerList<const PCol *> cols;
+ PointerList<PCol *> cols;
// need to store height of each staff.
IPointerList<Line_of_staff*> staffs;
/****************/
void process() ;
- Line_of_score(svec<const PCol *> sv, PScore *);
+ Line_of_score(svec<PCol *> sv, PScore *);
String TeXstring() const;
void add(Notehead*);
void set_default_dir();
Interval height() const;
- Spanner* broken_at(const PCol*, const PCol*) const;
+ Spanner* broken_at( PCol*, PCol*) const;
void process();
private:
void brew_molecule();
/// clone a piece of this spanner.
- virtual Spanner *broken_at(const PCol *c1, const PCol *c2) const=0;
+ virtual Spanner *broken_at( PCol *c1, PCol *c2) const=0;
/**
PRE
+#include "dimen.hh"
#include "beam.hh"
#include "misc.hh"
#include "debug.hh"
// todo.
Spanner *
-Beam::broken_at(const PCol *, const PCol *) const
+Beam::broken_at( PCol *, PCol *) const
{
return new Beam(*this);
}
return Interval( (*me->stems.top()) ->hpos(),
(*me->stems.bottom()) ->hpos() );
}
+
/*
beams to go with one stem.
*/
Real dy=paper()->internote()*2;
Real stemdx = paper()->rule_thickness();
Real sl = slope*paper()->internote();
+ paper()->lookup_->beam(sl, convert_dimen(20,"pt"));
+ slope = sl /paper()->internote();
Molecule leftbeams;
Molecule rightbeams;
{
assert(left->line == right->line);
Real inter=paper()->internote();
- Real sl = slope*inter;
-
output = new Molecule;
- slope = sl / inter;
Real x0 = stems.top()->hpos();
for (PCursor<Stem*> i(stems); i.ok(); i++) {
}
-Line_of_score::Line_of_score(svec<const PCol *> sv,
+Line_of_score::Line_of_score(svec<PCol *> sv,
PScore *ps)
{
pscore_ = ps;
}
Spanner*
-Slur::broken_at(const PCol*l, const PCol*r) const
+Slur::broken_at(PCol*l, PCol*r) const
{
assert(l->line == r->line);
Slur*ret = new Slur(*this);
pstaff_=st;
- const PCol *linestart = sc->cols.top();
- const PCol *linestop = sc->cols.bottom();
+ PCol *linestart = sc->cols.top();
+ PCol *linestop = sc->cols.bottom();
for (PCursor<const Spanner*> sp(pstaff_->spans); sp.ok(); sp++) {
- const PCol *brokenstart = &MAX(*linestart, *sp->left);
- const PCol *brokenstop = &MIN(*linestop, *sp->right);
+ PCol *brokenstart = &MAX(*linestart, *sp->left);
+ PCol *brokenstop = &MIN(*linestop, *sp->right);
if ( *brokenstart < *brokenstop) {
line_of_score_->pscore_-> // higghl
add_broken(sp->broken_at(brokenstart,brokenstop));