X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fgrob-info.cc;h=6b69bfeab63949037d0428a36601748927d02a28;hb=210397d5e1d8a0b560bac8e683c8be957035b5b4;hp=f4042ec2968f6705661258deb0ed63826b0ce54d;hpb=e37010af17faa8b185de836664b6544bd29dc1d0;p=lilypond.git diff --git a/lily/grob-info.cc b/lily/grob-info.cc index f4042ec296..6b69bfeab6 100644 --- a/lily/grob-info.cc +++ b/lily/grob-info.cc @@ -3,38 +3,54 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2004 Han-Wen Nienhuys + (c) 1997--2005 Han-Wen Nienhuys */ -#include "grob.hh" #include "grob-info.hh" +#include "grob.hh" #include "music.hh" #include "translator-group.hh" #include "context.hh" + +Grob_info::Grob_info (Translator *t, Grob *g) +{ + origin_trans_ = t; + grob_ = g; +} + Grob_info::Grob_info () { grob_ = 0; origin_trans_ = 0; } -Music* +Music * Grob_info::music_cause () { - SCM cause = grob_->get_grob_property ("cause"); + SCM cause = grob_->get_property ("cause"); return unsmob_music (cause); } Link_array -Grob_info::origin_contexts (Translator* end) const +Grob_info::origin_contexts (Translator *end) const { - Context * t = origin_trans_->daddy_context_; + Context *t = origin_trans_->context (); Link_array r; - do { - r.push (t); - t = t->daddy_context_; - } while (t && t != end->daddy_context_); - + do + { + r.push (t); + t = t->get_parent_context (); + } + while (t && t != end->context ()); + return r; } - + + +Context* +Grob_info::context () const +{ + return origin_trans_->context (); +} +