X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=lily%2Finclude%2Fpaper-column-engraver.hh;h=afd28263803daeeab8904075a1adcb01de9a0e89;hb=ace881437adc0146a62cffa3255ac1ca169bd054;hp=d3b9430e35df99617aab31e50c472aa4bf41072f;hpb=cc676c5aadd45985251b5d60fa23eed1ed98f6e6;p=lilypond.git diff --git a/lily/include/paper-column-engraver.hh b/lily/include/paper-column-engraver.hh index d3b9430e35..afd2826380 100644 --- a/lily/include/paper-column-engraver.hh +++ b/lily/include/paper-column-engraver.hh @@ -1,9 +1,20 @@ /* - paper-column-engraver.hh -- declare Paper_column_engraver + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 2005--2010 Han-Wen Nienhuys - (c) 2005--2006 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 + 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 PAPER_COLUMN_ENGRAVER_HH @@ -11,6 +22,7 @@ #include "engraver.hh" #include "listener.hh" +#include "moment.hh" #include "stream-event.hh" class Paper_column_engraver : public Engraver @@ -19,6 +31,9 @@ class Paper_column_engraver : public Engraver void set_columns (Paper_column *, Paper_column *); TRANSLATOR_DECLARATIONS (Paper_column_engraver); + Paper_column *find_turnable_column (Moment after_this); + void revoke_page_turns (Moment after_this, Real new_penalty); + protected: void stop_translation_timestep (); void start_translation_timestep (); @@ -27,6 +42,7 @@ protected: virtual void finalize (); DECLARE_TRANSLATOR_LISTENER (break); + DECLARE_TRANSLATOR_LISTENER (label); DECLARE_ACKNOWLEDGER (item); DECLARE_ACKNOWLEDGER (note_spacing); @@ -34,15 +50,15 @@ protected: System *system_; vector break_events_; + vector label_events_; int breaks_; // used for stat printing Paper_column *command_column_; Paper_column *musical_column_; vector items_; bool first_; + bool made_columns_; Moment last_moment_; - Moment last_breakable_moment_; - Paper_column *last_breakable_column_; public: };