/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 1997--2014 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
SCM
Stem_tremolo::calc_slope (SCM smob)
{
- Grob *me = unsmob_grob (smob);
- Grob *stem = unsmob_grob (me->get_object ("stem"));
+ Grob *me = Grob::unsmob (smob);
+ Grob *stem = Grob::unsmob (me->get_object ("stem"));
Spanner *beam = Stem::get_beam (stem);
if (beam)
SCM
Stem_tremolo::calc_width (SCM smob)
{
- Grob *me = unsmob_grob (smob);
- Grob *stem = unsmob_grob (me->get_object ("stem"));
+ Grob *me = Grob::unsmob (smob);
+ Grob *stem = Grob::unsmob (me->get_object ("stem"));
Direction dir = get_grob_direction (me);
bool beam = Stem::get_beam (stem);
bool flag = Stem::duration_log (stem) >= 3 && !beam;
SCM
Stem_tremolo::calc_style (SCM smob)
{
- Grob *me = unsmob_grob (smob);
- Grob *stem = unsmob_grob (me->get_object ("stem"));
+ Grob *me = Grob::unsmob (smob);
+ Grob *stem = Grob::unsmob (me->get_object ("stem"));
Direction dir = get_grob_direction (me);
bool beam = Stem::get_beam (stem);
bool flag = Stem::duration_log (stem) >= 3 && !beam;
Real
Stem_tremolo::get_beam_translation (Grob *me)
{
- Grob *stem = unsmob_grob (me->get_object ("stem"));
+ Grob *stem = Grob::unsmob (me->get_object ("stem"));
Spanner *beam = Stem::get_beam (stem);
return (beam && beam->is_live ())
SCM
Stem_tremolo::pure_height (SCM smob, SCM, SCM)
{
- Item *me = unsmob_item (smob);
+ Item *me = Item::unsmob (smob);
/*
Cannot use the real slope, since it looks at the Beam.
*/
Stencil s1 (untranslated_stencil (me, 0.35));
- Item *stem = unsmob_item (me->get_object ("stem"));
+ Item *stem = Item::unsmob (me->get_object ("stem"));
if (!stem)
return ly_interval2scm (s1.extent (Y_AXIS));
SCM
Stem_tremolo::width (SCM smob)
{
- Grob *me = unsmob_grob (smob);
+ Grob *me = Grob::unsmob (smob);
/*
Cannot use the real slope, since it looks at the Beam.
Stencil
Stem_tremolo::untranslated_stencil (Grob *me, Real slope)
{
- Grob *stem = unsmob_grob (me->get_object ("stem"));
+ Grob *stem = Grob::unsmob (me->get_object ("stem"));
if (!stem)
{
programming_error ("no stem for stem-tremolo");
SCM
Stem_tremolo::calc_y_offset (SCM smob)
{
- Grob *me = unsmob_grob (smob);
+ Grob *me = Grob::unsmob (smob);
return scm_from_double (y_offset (me, false));
}
SCM, /* start */
SCM /* end */)
{
- Grob *me = unsmob_grob (smob);
+ Grob *me = Grob::unsmob (smob);
return scm_from_double (y_offset (me, true));
}
SCM
Stem_tremolo::calc_direction (SCM smob)
{
- Item *me = unsmob_item (smob);
+ Item *me = Item::unsmob (smob);
- Item *stem = unsmob_item (me->get_object ("stem"));
+ Item *stem = Item::unsmob (me->get_object ("stem"));
if (!stem)
return scm_from_int (CENTER);
Real
Stem_tremolo::y_offset (Grob *me, bool pure)
{
- Item *stem = unsmob_item (me->get_object ("stem"));
+ Item *stem = Item::unsmob (me->get_object ("stem"));
if (!stem)
return 0.0;
SCM
Stem_tremolo::print (SCM grob)
{
- Grob *me = unsmob_grob (grob);
+ Grob *me = Grob::unsmob (grob);
Stencil s = untranslated_stencil (me, robust_scm2double (me->get_property ("slope"), 0.25));
return s.smobbed_copy ();