2 scaled-font-metric.cc -- declare Scaled_font_metric
4 source file of the GNU LilyPond music typesetter
6 (c) 1999--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
10 #include "scaled-font-metric.hh"
12 #include "molecule.hh"
15 Scaled_font_metric::Scaled_font_metric (Font_metric* m, Real magn)
17 magnification_f_ = magn;
18 SCM desc = m->description_;
20 Real total_mag = magn * gh_scm2double (gh_cdr (desc));
21 description_ = gh_cons (gh_car (desc), gh_double2scm (total_mag));
26 Scaled_font_metric::make_scaled_font_metric (Font_metric*m, Real s)
28 Scaled_font_metric *sfm = new Scaled_font_metric (m,s);
29 return sfm->self_scm ();
33 Scaled_font_metric::find_by_name (String s) const
35 Molecule m = orig_l_->find_by_name (s);
36 Box b = m.extent_box ();
37 b.scale (magnification_f_);
38 Molecule q(b,fontify_atom ((Font_metric*) this, m.get_expr ()));
44 Scaled_font_metric::get_char (int i) const
46 Box b = orig_l_->get_char (i);
47 b.scale (magnification_f_);
52 Scaled_font_metric::text_dimension (String t) const
54 Box b (orig_l_->text_dimension (t));
56 b.scale (magnification_f_);