X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fglobal-context.hh;h=e0aca0a7d6cc35aeea203bb3c524e985eedd80ba;hb=90e4d7057f3857da049dfda3d130017d4719bd6b;hp=540d96654bb9296e3d9f2bdf934bd271d9afd998;hpb=8e459799a3048b989067c0f2114b27f77d6cada1;p=lilypond.git diff --git a/lily/include/global-context.hh b/lily/include/global-context.hh index 540d96654b..e0aca0a7d6 100644 --- a/lily/include/global-context.hh +++ b/lily/include/global-context.hh @@ -1,9 +1,20 @@ /* - global-context.hh -- declare Global_context + 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--2007 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 GLOBAL_CONTEXT_HH @@ -12,12 +23,18 @@ #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); + DECLARE_CLASSNAME (Global_context); friend class Output_def; public: @@ -31,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 (); + virtual Context *get_default_interpreter (const string &context_id = ""); Moment previous_moment () const; protected: