X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fpaper-def.hh;h=0ad02d105b68d26ca8eaba53e269105d07473b18;hb=d9b43b93f2c885409bafdb157138158f65cc49aa;hp=0ae3a6981e6ca00c3403cb2936897163a46bd7f2;hpb=9efbad2d9487a05b04423e7e9f062968e8f8eaf4;p=lilypond.git diff --git a/lily/include/paper-def.hh b/lily/include/paper-def.hh index 0ae3a6981e..0ad02d105b 100644 --- a/lily/include/paper-def.hh +++ b/lily/include/paper-def.hh @@ -3,20 +3,23 @@ source file of the GNU LilyPond music typesetter - (c) 1996, 1997--1998 Han-Wen Nienhuys + (c) 1996--2002 Han-Wen Nienhuys */ #ifndef PAPER_DEF_HH #define PAPER_DEF_HH -#include "lily-proto.hh" + +#include "lily-proto.hh" +#include "lily-guile.hh" #include "real.hh" #include "moment.hh" #include "array.hh" #include "interval.hh" #include "music-output-def.hh" +#include "protected-scm.hh" /** @@ -30,76 +33,50 @@ add support for multiple fontsizes + remove all utility funcs + + add support for other len->wid conversions. - Input_engraver should be in here. - */ + + Interesting variables: + + /// The distance between lines + interline + +*/ class Paper_def : public Music_output_def { - Assoc *lookup_p_assoc_p_; - static int default_count_i_; - protected: - VIRTUAL_COPY_CONS(Paper_def,Music_output_def); + VIRTUAL_COPY_CONS (Music_output_def); + public: + SCM font_descriptions ()const; virtual ~Paper_def (); - DECLARE_MY_RUNTIME_TYPEINFO; - - Array shape_int_a_; - - Real get_var (String) const; + static int score_count_i_; + + /* + JUNKME + */ + Real get_realvar (SCM symbol) const; + Real get_var (String id) const; + SCM get_scmvar (String id)const; void reinit (); Paper_def (); - void set_lookup (int, Lookup*); - Paper_def (Paper_def const&); - /// The distance between beams of multiplicity_i - Real interbeam_f (int multiplicity_i) const; - - /// The thickness of a beam - Real beam_thickness_f () const; - - /// The distance between lines - Real interline_f () const; - /// half the distance between lines - Real internote_f () const; - - /// thickness of the standard line - Real rule_thickness () const; - - /// thickness of the staff line - Real staffline_f () const; Interval line_dimensions_int (int) const; - Real linewidth_f () const; - - /// height of the staff - Real staffheight_f () const; - - /// width of a crotchet ball - Real note_width () const; - void print () const; - - Lookup const * lookup_l (int sz) const; // TODO naming - - /** convert a duration to an idealspacing - influence using the geometric_ and paratime_signatures. - */ - Real duration_to_dist (Moment, Real) const; - Real geometric_spacing (Moment) const; - Real arithmetic_constant (Moment minimal_mom) const; - Real arithmetic_spacing (Moment mom,Real constant) const; - virtual int get_next_default_count () const; + virtual int get_next_score_count () const; + static void reset_score_count (); void output_settings (Paper_outputter*) const; - Paper_outputter* paper_outputter_p (Paper_stream*, Scope*, String) const; - Paper_stream* paper_stream_p () const; - String base_output_str () const; + Paper_outputter* paper_outputter_p () ; + Font_metric * find_font (SCM name, Real mag); + // urg friend int yyparse (void*); }; #endif // Paper_def_HH -