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"
22 #include "protected-scm.hh"
26 Symbols, dimensions and constants pertaining to visual output.
28 This struct takes care of all kinds of symbols, dimensions and
29 constants. Most of them are related to the point-size of the fonts,
30 so therefore, the lookup table for symbols is also in here.
34 add support for multiple fontsizes
36 remove all utility funcs
39 add support for other len->wid conversions.
42 Interesting variables:
44 /// The distance between lines
48 class Paper_def : public Music_output_def
50 Protected_scm lookup_alist_;
52 VIRTUAL_COPY_CONS(Music_output_def);
55 virtual ~Paper_def ();
56 static int default_count_i_;
60 Real get_realvar (SCM symbol) const;
61 Real get_var (String id) const;
62 SCM get_scmvar (String id)const;
65 void set_lookup (int, SCM lookup_smob);
66 Paper_def (Paper_def const&);
68 Interval line_dimensions_int (int) const;
70 Lookup const * lookup_l (int sz) const; // TODO naming
71 virtual int get_next_default_count () const;
72 static void reset_default_count();
73 void output_settings (Paper_outputter*) const;
74 Paper_stream* paper_stream_p () const;
75 String base_output_str () const;
78 friend int yyparse (void*);
81 #endif // Paper_def_HH