lilypond-0.0.3
[lilypond.git] / symbol.hh
blob464a4237428c8fd87c73e9fe789e9c4cc70e9c14
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;
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() ;
16 /// a symbol with a variable width
17 struct Stretchable_symbol {
18 public:
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);
26 #endif