/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 2000--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 2000--2015 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
Align_interface::align_to_minimum_distances (SCM smob)
{
- Grob *me = unsmob_grob (smob);
+ Grob *me = unsmob<Grob> (smob);
me->set_property ("positioning-done", SCM_BOOL_T);
SCM
Align_interface::align_to_ideal_distances (SCM smob)
{
- Grob *me = unsmob_grob (smob);
+ Grob *me = unsmob<Grob> (smob);
me->set_property ("positioning-done", SCM_BOOL_T);
if (!pure)
{
- Skyline_pair *skys = Skyline_pair::unsmob (g->get_property (a == Y_AXIS
+ Skyline_pair *skys = unsmob<Skyline_pair> (g->get_property (a == Y_AXIS
? "vertical-skylines"
: "horizontal-skylines"));
if (skys)
else
{
assert (a == Y_AXIS);
- Interval extent = g->pure_height (g, start, end);
+ Interval extent = g->pure_y_extent (g, start, end);
// This is a hack to get better accuracy on the pure-height of VerticalAlignment.
// It's quite common for a treble clef to be the highest element of one system
// of the system. This way, the tall treble clefs are only compared with the treble
// clefs of the other staff and they will be ignored if the staff above is, for example,
// lyrics.
- if (Axis_group_interface::has_interface (g))
+ if (has_interface<Axis_group_interface> (g))
{
extent = Axis_group_interface::rest_of_line_pure_height (g, start, end);
Interval begin_of_line_extent = Axis_group_interface::begin_of_line_pure_height (g, start);
SCM fv = ly_assoc_get (scm_cons (scm_from_int (start), scm_from_int (end)),
me->get_property ("minimum-translations-alist"),
SCM_EOL);
- if (fv != SCM_EOL)
+ if (!scm_is_null (fv))
return ly_scm2floatvector (fv);
}
Align_interface::set_ordered (Grob *me)
{
SCM ga_scm = me->get_object ("elements");
- Grob_array *ga = unsmob_grob_array (ga_scm);
+ Grob_array *ga = unsmob<Grob_array> (ga_scm);
if (!ga)
{
ga_scm = Grob_array::make_array ();
- ga = unsmob_grob_array (ga_scm);
+ ga = unsmob<Grob_array> (ga_scm);
me->set_object ("elements", ga_scm);
}
ADD_INTERFACE (Align_interface,
"Order grobs from top to bottom, left to right, right to left"
" or bottom to top. For vertical alignments of staves, the"
- " @code{break-system-details} of the left"
+ " @code{line-break-system-details} of the left"
" @rinternals{NonMusicalPaperColumn} may be set to tune"
" vertical spacing.",