#ifndef PAPER_DEF_HH
#define PAPER_DEF_HH
#include "lily-proto.hh"
+
#include "real.hh"
#include "string.hh"
#include "moment.hh"
/**
- symbols, dimensions and constants
+ Symbols, dimensions and constants pertaining to visual output.
This struct takes care of all kinds of symbols, dimensions and
constants. Most of them are related to the point-size of the fonts,
add support for multiple fontsizes
split into "Input_paper_def" and Paper_def
+
add support for other len->wid conversions.
-
+
+ Input_engraver should be in here.
*/
class Paper_def {
Lookup *lookup_p_;
-public:
- String outfile;
-
- Real linewidth;
+ Assoc<String, Real> *real_vars_p_;
- /// how much space does a whole note take (ideally?)
- Real whole_width;
-
- /// ideal = geometric_ ^ log2(duration)
- Real geometric_;
+ Input_translator * itrans_p_;
+public:
+ String outfile_str_;
+
/* *************** */
+ void set_var(String, Real);
+ Real get_var (String)const;
void reinit();
- Paper_def(Lookup*);
+ Paper_def();
void set(Lookup*);
+ void set (Input_translator * );
+ Global_translator * get_global_translator_p()const;
~Paper_def();
Paper_def(Paper_def const&);
+ /// The distance between beams
+ Real interbeam_f()const;
/**
The distance between lines
*/
/// thickness of the standard line
Real rule_thickness()const;
-
+ Real whole_width()const;
+ Real linewidth_f()const;
/// height of the staff
Real standard_height()const;
- /// width of a quaver ball
+ /// width of a crotchet ball
Real note_width() const;
void print() const;
+
Lookup const * lookup_l(); // TODO naming
/** convert a duration to an idealspacing
- influence using the geometric_ and whole_width parameters.
+ influence using the geometric_ and parameters.
*/
Real duration_to_dist(Moment);
};