Grob::~Grob ()
{
- /*
- do nothing scm-ish and no unprotecting here.
- */
}
return pscore_ ? pscore_->paper_ : 0;
}
+
+/*
+ Recursively track all dependencies of this Grob. The
+ status_ field is used as a mark-field. It is marked with
+ BUSY during execution of this function, and marked with FINAL
+ when finished.
+
+ FUNCPTR is the function to call to update this element.
+*/
void
Grob::calculate_dependencies (int final, int busy, SCM funcname)
{
if (status_ >= final)
return;
- if (status_== busy)
+ if (status_ == busy)
{
programming_error ("Element is busy, come back later");
return;
if (ly_c_procedure_p (proc))
scm_call_1 (proc, this->self_scm ());
- status_= final;
+ status_ = final;
}
Stencil *
Grob::get_stencil () const
{
- if (!live ())
+ if (!is_live ())
{
return 0;
}
mol = get_uncached_stencil ();
- if (live ())
+ if (is_live ())
{
Grob *me = (Grob*)this;
me->set_property ("stencil", mol);
programming_error ("Null dependency added");
}
-
void
Grob::handle_broken_dependencies ()
{
System *system = get_system ();
- if (live ()
+ if (is_live ()
&& system && common_refpoint (system, X_AXIS) && common_refpoint (system, Y_AXIS))
{
substitute_mutable_properties (system ? system->self_scm () : SCM_UNDEFINED,
void
Grob::suicide ()
{
- if (!live ())
+ if (!is_live ())
return;
void
Grob::set_extent (SCM dc, Axis a)
{
- dim_cache_[a].dimension_ =dc;
+ dim_cache_[a].dimension_ = dc;
}
void