]> git.donarmstrong.com Git - lilypond.git/blob - symbol.hh
release: 0.0.3
[lilypond.git] / symbol.hh
1 #ifndef SYMBOL_HH
2 #define SYMBOL_HH
3 #include "string.hh"
4 #include "boxes.hh"
5 struct Symbol {
6     String tex;
7     Box dim;
8
9     Symbol (String, Box );
10     static const Symbol*find_ball(int);
11     static const Symbol*find_rest(int);
12     static const Symbol*find_bar(String);
13     Symbol() ;
14 };
15
16 /// a symbol with a variable width
17 struct Stretchable_symbol {
18 public:
19
20     /// return a string for a symbol in this width.
21     virtual String operator ()(Real width)=0;
22     virtual Interval height(Real width) const =0;
23     static const Stretchable_symbol* get_linestaff(int n);
24 };
25
26 #endif