X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fmodified-font-metric.hh;h=70016808633d6c0461f3a3006443f961fc55f779;hb=8cf69a467ad7650f5ca9da6fe2dfd4c7c088b239;hp=823211ddf426e6b43a71dd8534f7a2b8fa2926fe;hpb=49cae4a7b28489a51e8c97dc33fc64cf83ea25e7;p=lilypond.git diff --git a/lily/include/modified-font-metric.hh b/lily/include/modified-font-metric.hh index 823211ddf4..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--2006 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,34 +22,37 @@ #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 (std::string) const; - Stencil text_stencil (std::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); - vsize count () const; - Offset get_indexed_wxwy (vsize) const; - Offset attachment_point (std::string) const; - vsize name_to_index (std::string) const; - vsize index_to_charcode (vsize) const; + size_t count () const; + Offset get_indexed_wxwy (size_t) 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); SCM sub_fonts () const; - std::string font_name () const; + string font_name () const; Real design_size () const; void derived_mark () const; - Box get_indexed_char (vsize) const; - vsize index_to_ascii (vsize) const; - Box get_ascii_char (vsize) const; - Box tex_kludge (std::string) const; + Box get_indexed_char_dimensions (size_t) const; }; #endif /* MODIFIED_FONT_METRIC_HH */