X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fgrob-info.hh;h=6d418379c917402a346f03b03642da436459a205;hb=b3100a922eccf4ecc0570d3859959113267e017f;hp=f758b369448ebd30dea8769ec5184df7895b14c4;hpb=94375d04f45b415ad705fd444fdb344416f116d9;p=lilypond.git diff --git a/lily/include/grob-info.hh b/lily/include/grob-info.hh index f758b36944..6d418379c9 100644 --- a/lily/include/grob-info.hh +++ b/lily/include/grob-info.hh @@ -1,34 +1,51 @@ /* - grob-info.hh -- declare Grob_info + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 1997--2015 Han-Wen Nienhuys - (c) 1997--2001 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 STAFFELEMINFO_HH -#define STAFFELEMINFO_HH +#ifndef GROB_INFO_HH +#define GROB_INFO_HH +#include "lily-guile.hh" #include "lily-proto.hh" -#include "parray.hh" +#include "std-vector.hh" -/** +/* Data container for broadcasts. +*/ +class Grob_info +{ + Translator *origin_trans_; + Grob *grob_; - TODO: Store this in element info! - */ -struct Grob_info { - Translator * origin_trans_l_; - friend class Engraver; public: - Link_array origin_trans_l_arr (Translator*) const; - Grob * grob_l_; - Music *req_l_; - - Grob_info (Grob*, Music*); + Grob *grob () const { return grob_; } + Translator *origin_translator () const { return origin_trans_; } + + Context *context () const; + Stream_event *event_cause () const; + Stream_event *ultimate_event_cause () const; + vector origin_contexts (Translator *) const; + Grob_info (Translator *, Grob *); Grob_info (); -}; + Item *item () const; + Spanner *spanner () const; + static bool less (Grob_info i, Grob_info j); +}; -#endif // STAFFELEMINFO_HH +#endif // GROB_INFO_HH