]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/custos.cc
lilypond-manuals.css: edit color scheme and some spacing
[lilypond.git] / lily / custos.cc
index 5ef96c58683261633e54fd949fa8e98b87c34738..37aeb66f6b9202ed8db498f7dd5e3139fc547837 100644 (file)
@@ -1,9 +1,20 @@
 /*
-  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--2015 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:
@@ -30,7 +41,7 @@ MAKE_SCHEME_CALLBACK (Custos, print, 1);
 SCM
 Custos::print (SCM smob)
 {
-  Item *me = (Item *)unsmob_grob (smob);
+  Item *me = (Item *)unsmob<Grob> (smob);
 
   SCM scm_style = me->get_property ("style");
   string style;
@@ -51,7 +62,6 @@ Custos::print (SCM smob)
     = 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)
@@ -66,7 +76,7 @@ Custos::print (SCM smob)
     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";
 
@@ -82,12 +92,12 @@ Custos::print (SCM smob)
 }
 
 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 "
+              );