/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 1997--2015 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
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 *) 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 ();
/*
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 ();
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 */