X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Foutput-def.hh;h=8c188f2707872e0d8ea62bf8d5d71e41fca0b6bc;hb=90b609162de63ded6e3a85ac2ccf6f776f3a9f0f;hp=b683cc61f1797a4b8b9bb321745a43136ad22bec;hpb=0e5d83a9ceb4a143f83d22406d7eb816314ff9f7;p=lilypond.git diff --git a/lily/include/output-def.hh b/lily/include/output-def.hh index b683cc61f1..8c188f2707 100644 --- a/lily/include/output-def.hh +++ b/lily/include/output-def.hh @@ -1,13 +1,24 @@ /* - music-output-def.hh -- declare Output_def + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 1997--2015 Han-Wen Nienhuys - (c) 1997--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 MUSIC_OUTPUT_DEF_HH -#define MUSIC_OUTPUT_DEF_HH +#ifndef OUTPUT_DEF_HH +#define OUTPUT_DEF_HH #include "lily-proto.hh" #include "virtual-methods.hh" @@ -35,19 +46,19 @@ one coming from score at markup level) */ -class Output_def +class Output_def : public Smob { - public: + int print_smob (SCM, scm_print_state *) const; + SCM mark_smob () const; + static const char * const type_p_name_; + virtual ~Output_def (); VIRTUAL_COPY_CONSTRUCTOR (Output_def, Output_def); - DECLARE_SMOBS (Output_def); -public: SCM scope_; Output_def *parent_; Input input_origin_; - string user_key_; Output_def (Output_def const&); Output_def (); @@ -55,28 +66,29 @@ public: /* variables. */ - SCM c_variable (string id) const; + SCM c_variable (const string &id) const; SCM lookup_variable (SCM sym) const; void set_variable (SCM sym, SCM val); + void normalize (); Real get_dimension (SCM symbol) const; }; SCM get_font_table (Output_def *def); void assign_context_def (Output_def *m, SCM transdef); SCM find_context_def (Output_def const *m, SCM name); -Interval line_dimensions_int (Output_def*def, int); +Interval line_dimensions_int (Output_def *def, int); Font_metric *select_encoded_font (Output_def *layout, SCM chain); Font_metric *select_font (Output_def *layout, SCM chain); -DECLARE_UNSMOB (Output_def, output_def); Font_metric* find_pango_font (Output_def *layout, SCM descr, Real factor); -Font_metric *find_scaled_font (Output_def *od, Font_metric *f, Real magnification); +Font_metric *find_scaled_font (Output_def *od, Font_metric *f, + Real magnification); Output_def *scale_output_def (Output_def *def, Real scale); Real output_scale (Output_def*); -#endif /* MUSIC_OUTPUT_DEF_HH */ +#endif /* OUTPUT_DEF_HH */