blob: 9eb4d6d2ac5d9306875f25d96fda9cd49e41790a (
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
49
50
51
52
53
54
55
56
57
58
59
60
|
/*
staffsym.cc -- implement Staff_symbol
source file of the LilyPond music typesetter
(c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
*/
#include "staff-sym.hh"
#include "lookup.hh"
#include "paper-def.hh"
#include "debug.hh"
Staff_symbol::Staff_symbol(int l)
{
no_lines_i_ = l;
}
IMPLEMENT_STATIC_NAME(Staff_symbol);
void
Staff_symbol::do_print()const
{
mtor << "lines: " << no_lines_i_;
}
Molecule*
Staff_symbol::brew_molecule_p() const
{
Atom a = paper()->lookup_l()->linestaff(no_lines_i_, width().length());
return new Molecule(a);
}
Spanner*
Staff_symbol::do_break_at(PCol*p1, PCol*p2)const
{
Staff_symbol *span_p=new Staff_symbol(*this);
return span_p;
}
void
Staff_symbol::set_extent(PCol*p1, PCol*p2)
{
assert(p1&&p2);
left_col_l_ = p1;
right_col_l_ = p2;
}
Real
Staff_symbol::inter_note_f()const
{
return paper()->internote();
}
int
Staff_symbol::steps_i() const
{
return no_lines_i_*2;
}
|