2 paper-def.hh -- declare Paper_def
4 source file of the GNU LilyPond music typesetter
6 (c) 1996--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
14 #include "lily-proto.hh"
15 #include "lily-guile.hh"
20 #include "interval.hh"
21 #include "music-output-def.hh"
25 Symbols, dimensions and constants pertaining to visual output.
27 This struct takes care of all kinds of symbols, dimensions and
28 constants. Most of them are related to the point-size of the fonts,
29 so therefore, the lookup table for symbols is also in here.
33 add support for multiple fontsizes
35 remove all utility funcs
38 add support for other len->wid conversions.
41 Interesting variables:
43 /// The distance between lines
47 class Paper_def : public Music_output_def
49 map<int, Lookup *> *lookup_p_tab_p_;
50 static int default_count_i_;
53 VIRTUAL_COPY_CONS(Music_output_def);
56 virtual ~Paper_def ();
61 Real get_realvar (SCM symbol) const;
62 Real get_var (String id) const;
64 SCM get_scmvar (String id)const;
67 void set_lookup (int, Lookup*);
69 Paper_def (Paper_def const&);
71 /** The distance between beams of multiplicity_i
74 Real interbeam_f (int multiplicity_i) const;
76 Interval line_dimensions_int (int) const;
80 Lookup const * lookup_l (int sz) const; // TODO naming
83 virtual int get_next_default_count () const;
84 static void reset_default_count();
86 void output_settings (Paper_outputter*) const;
88 Paper_stream* paper_stream_p () const;
89 String base_output_str () const;
92 friend int yyparse (void*);
95 #endif // Paper_def_HH