#include "paper-score.hh"
-#include "debug.hh"
+#include "warn.hh"
#include "item.hh"
#include "paper-column.hh"
#include "spanner.hh"
{
broken_to_drul_[LEFT] = broken_to_drul_[RIGHT]=0;
Group_interface::add_thing (this, ly_symbol2scm ("interfaces"), ly_symbol2scm ("item-interface"));
-
}
/**
bool
Item::breakable_b (Grob*me)
{
- if (me->original_l_)
+ if (me->original_)
return false;
if (!dynamic_cast<Item*> (me))
}
Paper_column *
-Item::column_l () const
+Item::get_column () const
{
Item *parent = dynamic_cast<Item*> (get_parent (X_AXIS));
- return parent ? parent->column_l () : 0;
+ return parent ? parent->get_column () : 0;
}
System *
-Item::line_l () const
+Item::get_system () const
{
Grob *g = get_parent (X_AXIS);
- return g ? g->line_l () : 0;
+ return g ? g->get_system () : 0;
}
do
{
Grob * dolly = clone ();
- Item * item_p = dynamic_cast<Item*> (dolly);
- pscore_l_->line_l_->typeset_grob (item_p);
- new_copies[i] =item_p;
+ Item * item = dynamic_cast<Item*> (dolly);
+ pscore_->system_->typeset_grob (item);
+ new_copies[i] =item;
}
while (flip (&i) != LEFT);
broken_to_drul_= new_copies;
Grob*
Item::find_broken_piece (System*l) const
{
- if (line_l () == l)
+ if (get_system () == l)
return (Item*) (this);
Direction d = LEFT;
do {
Grob *s = broken_to_drul_[d];
- if (s && s->line_l () == l)
+ if (s && s->get_system () == l)
return s;
}
while (flip (&d) != LEFT);
Direction
Item::break_status_dir () const
{
- if (original_l_)
+ if (original_)
{
- Item * i = dynamic_cast<Item*> (original_l_);
+ Item * i = dynamic_cast<Item*> (original_);
return (i->broken_to_drul_[LEFT] == this) ? LEFT : RIGHT;
}
void
Item::handle_prebroken_dependencies ()
{
- if (original_l_)
- {
- set_break_subsititution (gh_int2scm (break_status_dir ()));
- mutable_property_alist_ = substitute_mutable_properties(original_l_->mutable_property_alist_);
- }
+ Grob::handle_prebroken_dependencies ();
/*
Can't do this earlier, because try_visibility_lambda () might set
TODO:
- handle break-visibility the item itself iso. breakstatusdir, so
- the function can do more complicated things.
+ give the item to break-visibility itself, so the function can do
+ more complicated things.
*/
SCM vis = get_grob_property ("break-visibility");
if (gh_procedure_p (vis))
"item-interface",
"
-Grobs can also be distinguished in their role in the horizontal spacing.
+Grobs can be distinguished in their role in the horizontal spacing.
Many grobs define constraints on the spacing by their sizes. For
example, note heads, clefs, stems, and all other symbols with a fixed
shape. These grobs form a subtype called @code{Item}.