X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fgrid-line-span-engraver.cc;h=d5f0335a480f7cff62b0a2d9a6e3e3bb90d66331;hb=a6a51abfd0195a3cf7d6ea095cf69808852f21ce;hp=55dacf3de0d478351833decd1d114052b5d2fe55;hpb=b7a0cffbf9d1069860368f289a5b50e9d1d90ba8;p=lilypond.git diff --git a/lily/grid-line-span-engraver.cc b/lily/grid-line-span-engraver.cc index 55dacf3de0..d5f0335a48 100644 --- a/lily/grid-line-span-engraver.cc +++ b/lily/grid-line-span-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2005--2009 Han-Wen Nienhuys + Copyright (C) 2005--2015 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 @@ -21,19 +21,22 @@ #include "item.hh" #include "grid-line-interface.hh" +#include "translator.icc" + class Grid_line_span_engraver : public Engraver { Item *spanline_; - vector lines_; + vector lines_; public: TRANSLATOR_DECLARATIONS (Grid_line_span_engraver); protected: - DECLARE_ACKNOWLEDGER (grid_point); + void acknowledge_grid_point (Grob_info); void stop_translation_timestep (); }; -Grid_line_span_engraver::Grid_line_span_engraver () +Grid_line_span_engraver::Grid_line_span_engraver (Context *c) + : Engraver (c) { spanline_ = 0; } @@ -48,10 +51,10 @@ Grid_line_span_engraver::acknowledge_grid_point (Grob_info i) lines_.push_back (it); if (lines_.size () >= 2 && !spanline_) - { - spanline_ = make_item ("GridLine", SCM_EOL); - spanline_->set_parent (lines_[0], X_AXIS); - } + { + spanline_ = make_item ("GridLine", SCM_EOL); + spanline_->set_parent (lines_[0], X_AXIS); + } } } @@ -61,26 +64,30 @@ Grid_line_span_engraver::stop_translation_timestep () if (spanline_) { for (vsize i = 0; i < lines_.size (); i++) - Grid_line_interface::add_grid_point (spanline_, lines_[i]); + Grid_line_interface::add_grid_point (spanline_, lines_[i]); spanline_ = 0; } lines_.resize (0); } -#include "translator.icc" -ADD_ACKNOWLEDGER (Grid_line_span_engraver, grid_point); +void +Grid_line_span_engraver::boot () +{ + ADD_ACKNOWLEDGER (Grid_line_span_engraver, grid_point); +} + ADD_TRANSLATOR (Grid_line_span_engraver, - /* doc */ - "This engraver makes cross-staff lines: It catches all normal" - " lines and draws a single span line across them.", + /* doc */ + "This engraver makes cross-staff lines: It catches all normal" + " lines and draws a single span line across them.", - /* create */ - "GridLine ", + /* create */ + "GridLine ", - /* read */ - "", + /* read */ + "", - /* write */ - "" - ); + /* write */ + "" + );