X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fglobal-context.hh;h=e0aca0a7d6cc35aeea203bb3c524e985eedd80ba;hb=0ccac4adf83c431b5d1c89bebfd6a916369328dd;hp=c5013129a9983864e221a17933230c853b89af87;hpb=4a401ca1c60f428daa242dbdd102fdb3f327ebfb;p=lilypond.git diff --git a/lily/include/global-context.hh b/lily/include/global-context.hh index c5013129a9..e0aca0a7d6 100644 --- a/lily/include/global-context.hh +++ b/lily/include/global-context.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2011 Han-Wen Nienhuys + Copyright (C) 1997--2015 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 @@ -23,10 +23,16 @@ #include "context.hh" #include "pqueue.hh" -class Global_context : public virtual Context +struct Preinit_Global_context { - PQueue extra_mom_pq_; Output_def *output_def_; + Preinit_Global_context (); +}; + +class Global_context : Preinit_Global_context, public Context +{ + PQueue extra_mom_pq_; + virtual void derived_mark () const; DECLARE_CLASSNAME (Global_context); @@ -42,11 +48,11 @@ public: void apply_finalizations (); void add_finalization (SCM); - DECLARE_LISTENER (prepare); + void prepare (SCM); virtual SCM get_output (); virtual Output_def *get_output_def () const; virtual Moment now_mom () const; - virtual Context *get_default_interpreter (string context_id = ""); + virtual Context *get_default_interpreter (const string &context_id = ""); Moment previous_moment () const; protected: @@ -55,6 +61,5 @@ protected: }; SCM ly_format_output (SCM); -Global_context *unsmob_global_context (SCM x); #endif // GLOBAL_CONTEXT_HH