]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/output-def.hh
Run grand-replace (issue 3765)
[lilypond.git] / lily / include / output-def.hh
index 4b2bf9c3e48151274f101075380c497e0cadfc9e..0cd9786d2b94f069b379de5d35e9a89653b2b699 100644 (file)
@@ -1,17 +1,26 @@
 /*
-  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--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
-  (c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  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 <http://www.gnu.org/licenses/>.
 */
 
-#ifndef MUSIC_OUTPUT_DEF_HH
-#define MUSIC_OUTPUT_DEF_HH
+#ifndef OUTPUT_DEF_HH
+#define OUTPUT_DEF_HH
 
-#include "string.hh"
 #include "lily-proto.hh"
-#include "lily-guile.hh"
 #include "virtual-methods.hh"
 #include "smobs.hh"
 #include "input.hh"
 
   This devolved into a rather empty class. The distinction between
   various instances is made in the parser, which creates
-  midi/paper/bookpaper blocks depending on the keyword read.
+  midi/layout/paper blocks depending on the keyword read.
 
   The data structure is set up as recursive: the definitions not
-  supplied in paper are looked up in bookpaper. This is done through
+  supplied in layout are looked up in paper. This is done through
   the parent_ field of Output_def. However, such nesting is limited to
   two levels,
 
   of output block.
 
   * Second, because the prime benefit of multiple levels
-  (eg. bookpaper containing paper for a score, containing paper of a
+  (eg. paper containing layout for a score, containing layout of a
   \score embedded in \markup) requires scaling the Stencils (eg. the
   one coming from score at markup level)
   
  */
 class Output_def   
 {
+
 public:
   VIRTUAL_COPY_CONSTRUCTOR (Output_def, Output_def);
-  DECLARE_SMOBS (Output_def,);
+  DECLARE_SMOBS (Output_def);
+
 public:
   SCM scope_;
-  Output_def * parent_;
+  Output_def *parent_;
+  
   Input input_origin_;
 
   Output_def (Output_def const&);
   Output_def ();
-  virtual void derived_mark ();
-  
+
   /*
     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);
 
-int get_tempo (Output_def*def, Moment moment);
-void set_tempo (Output_def*def, Moment moment, int count_per_minute_i);
-
-Interval line_dimensions_int (Output_def*def, int);
+Interval line_dimensions_int (Output_def *def, int);
  
 
-Font_metric *select_encoded_font (Output_def *paper, SCM input_encoding, SCM chain);
-Font_metric *select_font (Output_def *paper, SCM chain);
+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_scaled_font (Output_def * od,
-                              Font_metric *f, Real m, SCM input_enc_name);
+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);
 Output_def *scale_output_def (Output_def *def, Real scale);
+
 Real output_scale (Output_def*);
 
-#endif /* MUSIC_OUTPUT_DEF_HH */
+#endif /* OUTPUT_DEF_HH */