X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fglobal-context.hh;h=49436bcf87b04277b1bf8afa52d86d24c0bf4f44;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=b49918591190d5d91ffd1715ac2d4d99a1742fa6;hpb=08560a1b8076630c4fc6cb9b902614d8b74fd6fc;p=lilypond.git diff --git a/lily/include/global-context.hh b/lily/include/global-context.hh index b499185911..49436bcf87 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--2012 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,7 +23,7 @@ #include "context.hh" #include "pqueue.hh" -class Global_context : public virtual Context +class Global_context : public Context { PQueue extra_mom_pq_; Output_def *output_def_; @@ -46,7 +46,14 @@ public: 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 = ""); + + static Global_context *unsmob (SCM x) { + return dynamic_cast (Context::unsmob (x)); + } + static bool is_smob (SCM x) { + return Context::is_smob (x) && unsmob (x); + } Moment previous_moment () const; protected: @@ -55,6 +62,5 @@ protected: }; SCM ly_format_output (SCM); -Global_context *unsmob_global_context (SCM x); #endif // GLOBAL_CONTEXT_HH