2
scaled-font-metric.cc -- declare Scaled_font_metric
4
source file of the GNU LilyPond music typesetter
6
(c) 1999--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
10
#include "scaled-font-metric.hh"
15
Scaled_font_metric::Scaled_font_metric (Font_metric* m, Real magn)
17
magnification_ = magn;
18
SCM desc = m->description_;
20
Real total_mag = magn * gh_scm2double (ly_cdr (desc));
23
description_ = gh_cons (ly_car (desc), gh_double2scm (total_mag));
28
Scaled_font_metric::make_scaled_font_metric (Font_metric*m, Real s)
30
Scaled_font_metric *sfm = new Scaled_font_metric (m,s);
31
return sfm->self_scm ();
35
Scaled_font_metric::find_by_name (String s) const
37
Stencil m = orig_->find_by_name (s);
38
Box b = m.extent_box ();
39
b.scale (magnification_);
40
Stencil q (b,fontify_atom ((Font_metric*) this, m.get_expr ()));
46
Scaled_font_metric::get_indexed_char (int i) const
48
Box b = orig_->get_indexed_char (i);
49
b.scale (magnification_);
54
Scaled_font_metric::get_ascii_char (int i) const
56
Box b = orig_->get_ascii_char (i);
57
b.scale (magnification_);
62
Scaled_font_metric::text_dimension (String t) const
64
Box b (orig_->text_dimension (t));
66
b.scale (magnification_);
71
Scaled_font_metric::count () const
73
return orig_->count ();
77
Scaled_font_metric::get_indexed_wxwy (int k) const
79
Offset o = orig_->get_indexed_wxwy (k);
80
return o * magnification_;
84
Scaled_font_metric::name_to_index (String s)const
86
return orig_->name_to_index (s);