/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1997--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
= *unsmob_stencil (scm_call_1 (ly_lily_module_constant ("stencil-whiteout"),
retval.smobbed_copy ()));
}
+
+ SCM id = get_property ("id");
+ if (scm_is_string (id))
+ {
+ SCM expr = scm_list_3 (ly_symbol2scm ("id"),
+ id,
+ retval.expr ());
+
+ retval = Stencil (retval.extent_box (), expr);
+ }
+
}
return retval;
VERTICAL ORDERING
****************************************************************/
-Grob*
+Grob *
get_maybe_root_vertical_alignment (Grob *g, Grob *maybe)
{
if (!g)
}
-Grob*
+Grob *
Grob::get_root_vertical_alignment (Grob *g)
{
return get_maybe_root_vertical_alignment (g, 0);
}
-Grob*
+Grob *
Grob::get_vertical_axis_group (Grob *g)
{
if (!g)
return 0;
+ if (!g->get_parent (Y_AXIS))
+ return 0;
if (Axis_group_interface::has_interface (g)
&& Align_interface::has_interface (g->get_parent (Y_AXIS)))
return g;
Grob::internal_vertical_less (Grob *g1, Grob *g2, bool pure)
{
Grob *vag = get_root_vertical_alignment (g1);
- if (!vag)
- return false;
if (!vag)
{
g1->programming_error ("grob does not belong to a VerticalAlignment?");
return false;
}
+
Grob *ag1 = get_vertical_axis_group (g1);
Grob *ag2 = get_vertical_axis_group (g2);
"cause "
"color "
"cross-staff "
+ "id "
"extra-X-extent "
"extra-Y-extent "
"extra-offset "