X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fligature-engraver.hh;h=a46c3fe22a0c393ab83577561d4c6558acf79b23;hb=220f62ed61861265a5b734052806de2d1c656335;hp=d1a12e6be9b7897134778c1c01734fb354d99894;hpb=2c22efe5a46a37065b10c3f51c5d7db00d07d318;p=lilypond.git diff --git a/lily/include/ligature-engraver.hh b/lily/include/ligature-engraver.hh index d1a12e6be9..a46c3fe22a 100644 --- a/lily/include/ligature-engraver.hh +++ b/lily/include/ligature-engraver.hh @@ -1,10 +1,22 @@ /* - ligature-engraver.hh -- declare Ligature_engraver + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 2002--2015 Juergen Reuter - (c) 2002--2005 Juergen Reuter + 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 LIGATURE_ENGRAVER_HH #define LIGATURE_ENGRAVER_HH @@ -18,38 +30,36 @@ protected: void stop_translation_timestep (); virtual void finalize (); - DECLARE_ACKNOWLEDGER (rest); - DECLARE_ACKNOWLEDGER (note_head); - virtual bool try_music (Music *); + void acknowledge_rest (Grob_info); + void acknowledge_ligature_head (Grob_info); + void listen_ligature (Stream_event *ev); void process_music (); virtual Spanner *create_ligature_spanner () = 0; virtual void typeset_ligature (Spanner *ligature, - Array primitives) = 0; + vector const &primitives) = 0; virtual Spanner *current_ligature (); SCM brew_ligature_primitive_proc; public: // no TRANSLATOR_DECLARATIONS (Ligature_engraver) needed since this // class is abstract + DECLARE_TRANSLATOR_CALLBACKS (Ligature_engraver); private: - Drul_array events_drul_; + Drul_array events_drul_; Spanner *ligature_; - Array primitives_; + vector primitives_; Spanner *finished_ligature_; - Array finished_primitives_; + vector finished_primitives_; - Music *prev_start_event_; + Stream_event *prev_start_event_; // moment where ligature started. Moment ligature_start_mom_; Grob *last_bound_; - - void override_stencil_callback (); - void revert_stencil_callback (); }; #endif // LIGATURE_ENGRAVER_HH