]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/output-def.hh
Run grand replace for 2015.
[lilypond.git] / lily / include / output-def.hh
index 5d024c7b662984fc9fffb580c8109603e929958d..1364b646669c88a6227c1b2e1239fb7f64d64440 100644 (file)
@@ -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 <hanwen@xs4all.nl>
 
-  (c) 1997--2006 Han-Wen Nienhuys <hanwen@xs4all.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 "lily-proto.hh"
 #include "virtual-methods.hh"
   one coming from score at markup level)
   
  */
-class Output_def   
+class Output_def : public Smob<Output_def>
 {
-
 public:
+  int print_smob (SCM, scm_print_state *);
+  SCM mark_smob ();
+  static const char 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 */