X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fmodified-font-metric.hh;h=70016808633d6c0461f3a3006443f961fc55f779;hb=8cf69a467ad7650f5ca9da6fe2dfd4c7c088b239;hp=d0f73f10665140773590b58e15497af821e63e94;hpb=b37e3f652677ae0298423db9fa0e552e5fce0c92;p=lilypond.git diff --git a/lily/include/modified-font-metric.hh b/lily/include/modified-font-metric.hh index d0f73f1066..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: - virtual Box text_dimension (std::string) const; - virtual 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); - virtual int count () const; - virtual Offset get_indexed_wxwy (int) const; - virtual Offset attachment_point (std::string) const; - virtual int name_to_index (std::string) const; - virtual unsigned index_to_charcode (int) 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); - virtual SCM sub_fonts () const; - virtual std::string font_name () const; - virtual Real design_size () const; - virtual void derived_mark () const; - virtual Box get_indexed_char (int) const; - virtual int index_to_ascii (int) const; - virtual Box get_ascii_char (int) const; - Box tex_kludge (std::string) const; + SCM sub_fonts () const; + string font_name () const; + Real design_size () const; + void derived_mark () const; + Box get_indexed_char_dimensions (size_t) const; }; #endif /* MODIFIED_FONT_METRIC_HH */