/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1997--2011 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
#include "output-def.hh"
#include "paper-column.hh"
#include "pointer-group-interface.hh"
-#include "self-alignment-interface.hh"
#include "side-position-interface.hh"
#include "warn.hh"
SCM
Break_alignment_interface::calc_positioning_done (SCM smob)
{
- Grob *grob = unsmob_grob (smob);
+ Grob *grob = Grob::unsmob (smob);
Item *me = dynamic_cast<Item *> (grob);
me->set_property ("positioning-done", SCM_BOOL_T);
sym_string = ly_symbol2string (rsym);
string orig_string;
- if (unsmob_grob (l->get_property ("cause")))
- orig_string = unsmob_grob (l->get_property ("cause"))->name ();
+ if (Grob::unsmob (l->get_property ("cause")))
+ orig_string = Grob::unsmob (l->get_property ("cause"))->name ();
- programming_error (_f ("No spacing entry from %s to `%s'",
- orig_string.c_str (),
- sym_string.c_str ()));
+ programming_error (to_string ("No spacing entry from %s to `%s'",
+ orig_string.c_str (),
+ sym_string.c_str ()));
}
Real distance = 1.0;
SCM
Break_alignable_interface::self_align_callback (SCM grob)
{
- Grob *me = unsmob_grob (grob);
+ Grob *me = Grob::unsmob (grob);
Item *alignment = dynamic_cast<Item *> (me->get_parent (X_AXIS));
if (!Break_alignment_interface::has_interface (alignment))
return scm_from_int (0);
SCM
Break_aligned_interface::calc_average_anchor (SCM grob)
{
- Grob *me = unsmob_grob (grob);
+ Grob *me = Grob::unsmob (grob);
Real avg = 0.0;
int count = 0;
SCM
Break_aligned_interface::calc_extent_aligned_anchor (SCM smob)
{
- Grob *me = unsmob_grob (smob);
+ Grob *me = Grob::unsmob (smob);
Real alignment = robust_scm2double (me->get_property ("break-align-anchor-alignment"), 0.0);
Interval iv = me->extent (me, X_AXIS);
Break_aligned_interface::calc_break_visibility (SCM smob)
{
/* a BreakAlignGroup is break-visible if it has one element that is break-visible */
- Grob *me = unsmob_grob (smob);
+ Grob *me = Grob::unsmob (smob);
SCM ret = scm_c_make_vector (3, SCM_EOL);
extract_grob_set (me, "elements", elts);
for (int dir = 0; dir <= 2; dir++)