/*
- custos.cc -- implement Custos
+ This file is part of LilyPond, the GNU music typesetter.
- source file of the GNU LilyPond music typesetter
+ Copyright (C) 2000--2014 Juergen Reuter <reuter@ipd.uka.de>
- (c) 2000--2008 Juergen Reuter <reuter@ipd.uka.de>
+ LilyPond is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ LilyPond is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
*/
/* TODO:
SCM
Custos::print (SCM smob)
{
- Item *me = (Item *)unsmob_grob (smob);
+ Item *me = (Item *)Grob::unsmob (smob);
SCM scm_style = me->get_property ("style");
string style;
= to_dir (me->get_property ("neutral-direction"));
int pos = Staff_symbol_referencer::get_rounded_position (me);
- int sz = Staff_symbol_referencer::line_count (me) - 1;
string font_char = "custodes." + style + ".";
if (pos < neutral_pos)
font_char += "d";
if (adjust)
- font_char += (((pos ^ sz) & 0x1) == 0) ? "1" : "0";
+ font_char += Staff_symbol_referencer::on_line (me, pos) ? "1" : "0";
else
font_char += "2";
}
ADD_INTERFACE (Custos,
- "A custos object. @code{style} can have four valid values:"
- " @code{mensural}, @code{vaticana}, @code{medicaea}, and"
- " @code{hufnagel}. @code{mensural} is the default style.",
-
- /* properties */
- "style "
- "neutral-position "
- "neutral-direction "
- );
+ "A custos object. @code{style} can have four valid values:"
+ " @code{mensural}, @code{vaticana}, @code{medicaea}, and"
+ " @code{hufnagel}. @code{mensural} is the default style.",
+
+ /* properties */
+ "style "
+ "neutral-position "
+ "neutral-direction "
+ );