LeftEdge item.
-
+2002-09-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * lily/break-align-engraver.cc (acknowledge_grob): also typeset
+ LeftEdge item.
+
2002-09-15 Werner Lemberg <wl@gnu.org>
Improving LilyPond's output to make them ordinary TeX boxes with
{
Item *align_;
Protected_scm column_alist_;
+ Item *edge_;
+
void add_to_group (SCM,Item*);
protected:
virtual void finalize ();
typeset_grob (align_);
align_ = 0;
}
+ if (edge_)
+ {
+ typeset_grob (edge_);
+ edge_ = 0;
+ }
}
Break_align_engraver::Break_align_engraver ()
{
column_alist_ = SCM_EOL;
- align_ =0;
+ edge_ = 0;
+ align_ = 0;
}
void
announce_grob (align_, SCM_EOL);
- Item * edge = new Item (get_property ("LeftEdge"));
- add_to_group (edge->get_grob_property ("break-align-symbol"), edge);
- announce_grob(edge, SCM_EOL);
+ edge_ = new Item (get_property ("LeftEdge"));
+ add_to_group (edge_->get_grob_property ("break-align-symbol"), edge_);
+ announce_grob(edge_, SCM_EOL);
}
add_to_group (align_name, item);
void
Grob::suicide ()
{
+ if (!live ())
+ return;
+
+#if 0 // see below.
+ String nm = name();
+#endif
+
mutable_property_alist_ = SCM_EOL;
immutable_property_alist_ = SCM_EOL;
dim_cache_[a].offset_callbacks_ = SCM_EOL;
dim_cache_[a].offsets_left_ = 0;
}
+
+#if 0
+ /*
+ This can make debugging a little easier: we can still know what
+ the object used to be. However, since all its links have been
+ broken, it's usually more convenient to set a conditional
+ breakpoint in GDB before the property lists are wiped.
+ */
+ mutable_property_alist_ = scm_acons (ly_symbol2scm ("name"),
+ scm_makfrom0str (nm.to_str0()),
+ mutable_property_alist_
+ );
+#endif
}
void
{
System *system = dynamic_cast <System*> (clone ());
system->rank_ = i;
- // system->set_immutable_grob_property ("rank", gh_int2scm (i));
+
Link_array<Grob> c (breaking[i].cols_);
pscore_->typeset_line (system);