X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fcluster.cc;h=89cb50c721ebe44e6600e5a4ebe6148aa22e5d01;hb=d9fcd3db46970a4afbc4e073abb2156ecc865981;hp=8fe55dc69a942941c531836f89881cc0a5fe8e14;hpb=1c4458de37e468a5d4fe023a34a5bcb05bf24aad;p=lilypond.git diff --git a/lily/cluster.cc b/lily/cluster.cc index 8fe55dc69a..89cb50c721 100644 --- a/lily/cluster.cc +++ b/lily/cluster.cc @@ -1,11 +1,21 @@ /* - cluster.cc -- implement Cluster + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 2002--2009 Juergen Reuter + Han-Wen Nienhuys - (c) 2002--2006 Juergen Reuter + 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. - Han-Wen Nienhuys + 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 . */ #include "cluster.hh" @@ -111,6 +121,18 @@ brew_cluster_piece (Grob *me, vector bottom_points, vector top_p return out; } +MAKE_SCHEME_CALLBACK (Cluster, calc_cross_staff, 1); +SCM +Cluster::calc_cross_staff (SCM smob) +{ + Grob *me = unsmob_grob (smob); + + extract_grob_set (me, "columns", cols); + Grob *commony = common_refpoint_of_array (cols, me, Y_AXIS); + + return scm_from_bool (commony != me->get_parent (Y_AXIS)); +} + MAKE_SCHEME_CALLBACK (Cluster, print, 1); SCM Cluster::print (SCM smob) @@ -186,22 +208,27 @@ Cluster::print (SCM smob) } ADD_INTERFACE (Cluster, - "A graphically drawn musical cluster. " - "\n\n" - "@code{padding} adds to the vertical extent of the shape (top and " - "bottom). \n\n" - "The property @code{style} controls the shape of cluster segments. Valid values " - "include @code{leftsided-stairs}, @code{rightsided-stairs}, @code{centered-stairs}, " - "and @code{ramp}.\n", + "A graphically drawn musical cluster.\n" + "\n" + "@code{padding} adds to the vertical extent of the shape (top" + " and bottom).\n" + "\n" + "The property @code{style} controls the shape of cluster" + " segments. Valid values include @code{leftsided-stairs}," + " @code{rightsided-stairs}, @code{centered-stairs}, and" + " @code{ramp}.\n", + + /* properties */ "style " "padding " - "columns "); + "columns " + ); struct Cluster_beacon { public: DECLARE_SCHEME_CALLBACK (height, (SCM)); - DECLARE_GROB_INTERFACE(); + DECLARE_GROB_INTERFACE (); }; MAKE_SCHEME_CALLBACK (Cluster_beacon, height, 1); @@ -215,8 +242,10 @@ Cluster_beacon::height (SCM g) } ADD_INTERFACE (Cluster_beacon, - "A place holder for the cluster spanner to determine the vertical " - "extents of a cluster spanner at this X position.", + "A place holder for the cluster spanner to determine the" + " vertical extents of a cluster spanner at this" + " X@tie{}position.", /* properties */ - "positions "); + "positions " + );