X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fvertically-spaced-context-engraver.cc;h=5c32c0fd8811b314d55f61a7e48b2c7aa4632d5f;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=f62fbe0ffee85cc6cb7a4b84e2ee78abba78994e;hpb=a7f82e4dc22fc6219a9fe0f6874f8c91e3f31f24;p=lilypond.git diff --git a/lily/vertically-spaced-context-engraver.cc b/lily/vertically-spaced-context-engraver.cc index f62fbe0ffe..5c32c0fd88 100644 --- a/lily/vertically-spaced-context-engraver.cc +++ b/lily/vertically-spaced-context-engraver.cc @@ -3,8 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 2005 Han-Wen Nienhuys - + (c) 2005--2008 Han-Wen Nienhuys */ #include "engraver.hh" @@ -15,17 +14,15 @@ class Vertically_spaced_contexts_engraver : public Engraver { - TRANSLATOR_DECLARATIONS(Vertically_spaced_contexts_engraver); + TRANSLATOR_DECLARATIONS (Vertically_spaced_contexts_engraver); protected: - virtual void acknowledge_grob (Grob_info); virtual void initialize (); + DECLARE_ACKNOWLEDGER (vertically_spaceable); private: - Grob * system_; + Grob *system_; }; - - Vertically_spaced_contexts_engraver::Vertically_spaced_contexts_engraver () { system_ = 0; @@ -38,30 +35,36 @@ Vertically_spaced_contexts_engraver::initialize () } void -Vertically_spaced_contexts_engraver::acknowledge_grob (Grob_info gi) +Vertically_spaced_contexts_engraver::acknowledge_vertically_spaceable (Grob_info gi) { - if (Axis_group_interface::has_interface (gi.grob ()) - && gi.grob ()->internal_has_interface (ly_symbol2scm ("vertically-spaceable-interface"))) + if (Axis_group_interface::has_interface (gi.grob ())) { SCM spaceable = get_property ("verticallySpacedContexts"); Context *orig = gi.origin_contexts (this)[0]; - if (scm_memq (ly_symbol2scm (orig->context_name ().to_str0 ()), + if (scm_memq (ly_symbol2scm (orig->context_name ().c_str ()), spaceable) != SCM_BOOL_F) { - Pointer_group_interface::add_grob (system_, - ly_symbol2scm ("spaceable-staves"), - gi.grob ()); + Pointer_group_interface::add_unordered_grob (system_, + ly_symbol2scm ("spaceable-staves"), + gi.grob ()); } } } #include "translator.icc" +ADD_ACKNOWLEDGER (Vertically_spaced_contexts_engraver, vertically_spaceable); ADD_TRANSLATOR (Vertically_spaced_contexts_engraver, - /* descr */ "", - /* creats*/ "", - /* accepts */ "", - /* acks */ "axis-group-interface", - /* reads */ "verticallySpacedContexts", - /* write */ "verticallySpacedContexts"); + /* doc */ + "", + + /* create */ + "", + + /* read */ + "verticallySpacedContexts ", + + /* write */ + "verticallySpacedContexts " + );