X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=lily%2Finclude%2Fscheme-engraver.hh;h=11caf9f9c283861eff90d4a93c2eddaf6257f9ba;hb=6786ba7b5cd73f94eec0a49fd68d0e6d9d283437;hp=2eb2f30379d9b339833a65608b1b351f4311c250;hpb=ca2a46da10e1f627b68e7243958749b8ec007f43;p=lilypond.git diff --git a/lily/include/scheme-engraver.hh b/lily/include/scheme-engraver.hh index 2eb2f30379..11caf9f9c2 100644 --- a/lily/include/scheme-engraver.hh +++ b/lily/include/scheme-engraver.hh @@ -24,11 +24,23 @@ #include "engraver.hh" -class Scheme_engraver : public Preinit, public Engraver +struct Preinit_Scheme_engraver { + SCM initialize_function_; + SCM finalize_function_; + SCM precomputable_methods_ [TRANSLATOR_METHOD_PRECOMPUTE_COUNT]; + + // hashq table of interface-symbol -> scheme-function + Drul_array interface_acknowledger_hash_; + + // Alist of listened-symbol . scheme-function + SCM per_instance_listeners_; + Preinit_Scheme_engraver (); +}; + +class Scheme_engraver : Preinit_Scheme_engraver, public Engraver { public: TRANSLATOR_FAMILY_DECLARATIONS (Scheme_engraver); - void pre_init (); Scheme_engraver (SCM definition); protected: @@ -53,16 +65,6 @@ private: SCM translator_description () const { return SCM_EOL; } bool must_be_last_; - - SCM initialize_function_; - SCM finalize_function_; - SCM precomputable_methods_ [TRANSLATOR_METHOD_PRECOMPUTE_COUNT]; - - // hashq table of interface-symbol -> scheme-function - Drul_array interface_acknowledger_hash_; - - // Alist of listened-symbol . scheme-function - SCM per_instance_listeners_; }; #endif /* SCHEME_ENGRAVER_HH */