/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1998--2011 Jan Nieuwenhuizen <janneke@gnu.org>
+ Copyright (C) 1998--2014 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys <hanwen@xs4all.nl>
LilyPond is free software: you can redistribute it and/or modify
SCM
Hara_kiri_group_spanner::y_extent (SCM smob)
{
- Grob *me = unsmob_grob (smob);
+ Grob *me = Grob::unsmob (smob);
consider_suicide (me);
return Axis_group_interface::generic_group_extent (me, Y_AXIS);
}
SCM
Hara_kiri_group_spanner::calc_skylines (SCM smob)
{
- Grob *me = unsmob_grob (smob);
+ Grob *me = Grob::unsmob (smob);
consider_suicide (me);
return Axis_group_interface::calc_skylines (smob);
}
SCM
Hara_kiri_group_spanner::pure_height (SCM smob, SCM start_scm, SCM end_scm)
{
- Grob *me = unsmob_grob (smob);
+ Grob *me = Grob::unsmob (smob);
int start = robust_scm2int (start_scm, 0);
int end = robust_scm2int (end_scm, INT_MAX);
Hara_kiri_group_spanner::consider_suicide (Grob *me)
{
Spanner *sp = dynamic_cast<Spanner *> (me);
- int left = sp->get_bound (LEFT)->get_column ()->get_rank ();
- int right = sp->get_bound (RIGHT)->get_column ()->get_rank ();
+ int left = 0;
+ int right = INT_MAX;
+ if (Item *l = sp->get_bound (LEFT))
+ left = l->get_column ()->get_rank ();
+ if (Item *r = sp->get_bound (RIGHT))
+ right = r->get_column ()->get_rank ();
if (!request_suicide (me, left, right))
return;
SCM
Hara_kiri_group_spanner::force_hara_kiri_callback (SCM smob)
{
- Grob *me = unsmob_grob (smob);
+ Grob *me = Grob::unsmob (smob);
consider_suicide (me);
return scm_from_double (0.0);
}
SCM
Hara_kiri_group_spanner::force_hara_kiri_in_y_parent_callback (SCM smob)
{
- Grob *daughter = unsmob_grob (smob);
+ Grob *daughter = Grob::unsmob (smob);
force_hara_kiri_callback (daughter->get_parent (Y_AXIS)->self_scm ());
return scm_from_double (0.0);
}