X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fmodified-font-metric.cc;h=d68db92c4b897b6728ee0d37fec25410360a2f6e;hb=8e2eaf4959bec63a1128a444591a540f4f1e2937;hp=2ba488d396a763b08eb693f430384b530d122526;hpb=0950de32403b199efc8454ca527f1201ee458417;p=lilypond.git diff --git a/lily/modified-font-metric.cc b/lily/modified-font-metric.cc index 2ba488d396..d68db92c4b 100644 --- a/lily/modified-font-metric.cc +++ b/lily/modified-font-metric.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1999--2010 Han-Wen Nienhuys + Copyright (C) 1999--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -26,8 +26,13 @@ using namespace std; #include "main.hh" #include "program-option.hh" +Preinit_Modified_font_metric::Preinit_Modified_font_metric () +{ + orig_ = 0; +} + Modified_font_metric::Modified_font_metric (Font_metric *fm, - Real magnification) + Real magnification) { magnification_ = magnification; @@ -61,6 +66,12 @@ Modified_font_metric::get_indexed_char_dimensions (vsize i) const return b; } +Real +Modified_font_metric::get_magnification () const +{ + return magnification_; +} + vsize Modified_font_metric::count () const { @@ -68,7 +79,7 @@ Modified_font_metric::count () const } Offset -Modified_font_metric::attachment_point (string s) const +Modified_font_metric::attachment_point (const string &s) const { Offset o = orig_->attachment_point (s); return o * magnification_; @@ -81,7 +92,7 @@ Modified_font_metric::get_indexed_wxwy (vsize k) const return o * magnification_; } -vsize +size_t Modified_font_metric::name_to_index (string s) const { return orig_->name_to_index (s); @@ -96,11 +107,13 @@ Modified_font_metric::index_to_charcode (vsize i) const void Modified_font_metric::derived_mark () const { + if (orig_) + scm_gc_mark (orig_->self_scm ()); } Stencil -Modified_font_metric::text_stencil (Output_def* state, - string text, bool feta) const +Modified_font_metric::text_stencil (Output_def *state, + const string &text, bool feta) const { Box b; if (Pango_font *pf = dynamic_cast (orig_))