blob: 484822533bceddf0f1e4f3fd4b177276e11a71f5 (
about) (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#ifndef ITEM_HH
#define ITEM_HH
#include "glob.hh"
#include "boxes.hh"
#include "string.hh"
#include "tex.hh"
/// a symbol which is attached between two columns.
struct Spanner {
const PCol *left, *right;
Parametric_symbol *strets;
PStaff * pstaff_;
/// clone a piece of this spanner.
Spanner *broken_at(const PCol *c1, const PCol *c2) const;
/**
PRE
c1 >= start, c2 <= stop
*/
String TeXstring () const ;
Spanner();
};
/** 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.
*/
/// a fixed size element of the score
struct Item {
virtual Interval width() const;
virtual Interval height() const;
const PCol * col;
Molecule *output;
PStaff *pstaff_;
/** needed for knowing at which staff to output this item
*/
String TeXstring () const ;
Item();
void print()const;
};
/** An item must be part of a Column
*/
#endif
|