X-Git-Url: https://git.donarmstrong.com/lilypond.git?a=blobdiff_plain;f=lily%2Frest-collision-engraver.cc;h=bea1a8cc1c7d879dafcd26e9359cd2828799a3e5;hb=fdfd147f1233eef6ea8b176290221b5a4ec38868;hp=606dfe30d6e81bf136e0c716e66783b1cb3221c8;hpb=ef4f75d54e903d9fe95cfc3603e651dca4fc3b6a;p=lilypond.git diff --git a/lily/rest-collision-engraver.cc b/lily/rest-collision-engraver.cc index 606dfe30d6..bea1a8cc1c 100644 --- a/lily/rest-collision-engraver.cc +++ b/lily/rest-collision-engraver.cc @@ -8,11 +8,25 @@ #include "debug.hh" #include "rest-collision.hh" -#include "rest-collision-engraver.hh" +#include "engraver.hh" #include "collision.hh" #include "note-column.hh" +class Rest_collision_engraver : public Engraver +{ + Item* rest_collision_p_; + + Link_array note_column_l_arr_; +protected: + virtual void acknowledge_element (Score_element_info); + virtual void process_acknowledged (); + virtual void do_pre_move_processing(); +public: + VIRTUAL_COPY_CONS(Translator); + Rest_collision_engraver(); + +}; ADD_THIS_TRANSLATOR(Rest_collision_engraver); @@ -27,11 +41,11 @@ Rest_collision_engraver::process_acknowledged () if (rest_collision_p_ || note_column_l_arr_.size () < 2) return; - rest_collision_p_ = new Rest_collision (get_property ("basicRestCollisionProperties")); - + rest_collision_p_ = new Item (get_property ("basicRestCollisionProperties")); + Rest_collision (rest_collision_p_).set_interface(); announce_element (Score_element_info (rest_collision_p_, 0)); for (int i=0; i< note_column_l_arr_.size (); i++) - rest_collision_p_->add_column (note_column_l_arr_[i]); + Rest_collision (rest_collision_p_).add_column (note_column_l_arr_[i]); } void