X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fgrob-info.cc;h=aab0d3cb8d61b352cf381969d479982d7300f08e;hb=97a0169312a260933246ab224e4f8b0969871dd5;hp=be6fd79e17a290f57ca4a206b018a1710f89d259;hpb=7f3f0083f89d87c5ed0422858e9648fc759e98a4;p=lilypond.git diff --git a/lily/grob-info.cc b/lily/grob-info.cc index be6fd79e17..aab0d3cb8d 100644 --- a/lily/grob-info.cc +++ b/lily/grob-info.cc @@ -1,9 +1,20 @@ /* - grob-info.cc -- implement 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--2008 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 . */ #include "context.hh" @@ -18,7 +29,6 @@ Grob_info::Grob_info (Translator *t, Grob *g) { origin_trans_ = t; grob_ = g; - start_end_ = START; /* assert here, because this is easier to debug. @@ -29,7 +39,6 @@ Grob_info::Grob_info (Translator *t, Grob *g) Grob_info::Grob_info () { grob_ = 0; - start_end_ = START; origin_trans_ = 0; } @@ -37,14 +46,14 @@ Stream_event * Grob_info::event_cause () const { SCM cause = grob_->get_property ("cause"); - return unsmob_stream_event (cause); + return unsmob (cause); } -vector +vector Grob_info::origin_contexts (Translator *end) const { Context *t = origin_trans_->context (); - vector r; + vector r; do { r.push_back (t); @@ -77,9 +86,15 @@ Stream_event * Grob_info::ultimate_event_cause () const { SCM cause = grob_->self_scm (); - while (unsmob_grob (cause)) + while (unsmob (cause)) { - cause = unsmob_grob (cause)->get_property ("cause"); + cause = unsmob (cause)->get_property ("cause"); } - return unsmob_stream_event (cause); + return unsmob (cause); +} + +bool +Grob_info::less (Grob_info i, Grob_info j) +{ + return Grob::less (i.grob (), j.grob ()); }