X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fmodified-font-metric.hh;h=70016808633d6c0461f3a3006443f961fc55f779;hb=8cf69a467ad7650f5ca9da6fe2dfd4c7c088b239;hp=101949674cd4d0680a775b4d60578baffe045aee;hpb=8cab78caa0db1ba14f2e52e4c1ddbb541ea0e5cb;p=lilypond.git diff --git a/lily/include/modified-font-metric.hh b/lily/include/modified-font-metric.hh index 101949674c..7001680863 100644 --- a/lily/include/modified-font-metric.hh +++ b/lily/include/modified-font-metric.hh @@ -1,9 +1,20 @@ /* - modified-font-metric.hh -- declare Font_metric + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 1999--2015 Han-Wen Nienhuys - (c) 1999--2009 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 + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #ifndef MODIFIED_FONT_METRIC_HH @@ -11,24 +22,29 @@ #include "font-metric.hh" +struct Preinit_Modified_font_metric +{ + Font_metric *orig_; + Preinit_Modified_font_metric (); +}; + /* Perhaps junk this, and move this to layout_def as interface? */ -struct Modified_font_metric : public Font_metric +class Modified_font_metric : Preinit_Modified_font_metric, + public Font_metric { public: - Box text_dimension (string) const; - Box word_dimension (string) const; - Stencil text_stencil (string) const; + Stencil text_stencil (Output_def *output_state, const string&, bool, const string&) const; + Real get_magnification () const; static SCM make_scaled_font_metric (Font_metric *fm, Real magnification); size_t count () const; Offset get_indexed_wxwy (size_t) const; - Offset attachment_point (string) const; + Offset attachment_point (const string&) const; size_t name_to_index (string) const; size_t index_to_charcode (size_t) const; Font_metric *original_font () const; protected: - Font_metric *orig_; Real magnification_; Modified_font_metric (Font_metric *fm, Real magnification); @@ -36,9 +52,7 @@ protected: string font_name () const; Real design_size () const; void derived_mark () const; - Box get_indexed_char (size_t) const; - size_t index_to_ascii (size_t) const; - Box get_ascii_char (size_t) const; + Box get_indexed_char_dimensions (size_t) const; }; #endif /* MODIFIED_FONT_METRIC_HH */