X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=lily%2Fcluster.cc;h=d872fca6be82eebac7f4ddfbe92d3d2071924abe;hb=789d65a45b89c1fe7ec8ee4e80cca8a687274ea7;hp=54b45ab862b91b8b8ee84a7b4b8832af976a8037;hpb=f9214bac21e9926dc3248416f58190c98c4167a9;p=lilypond.git diff --git a/lily/cluster.cc b/lily/cluster.cc index 54b45ab862..d872fca6be 100644 --- a/lily/cluster.cc +++ b/lily/cluster.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 2002--2007 Juergen Reuter + (c) 2002--2009 Juergen Reuter Han-Wen Nienhuys */ @@ -111,6 +111,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,15 +198,17 @@ 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", - - /* props */ + "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 " @@ -204,7 +218,7 @@ struct Cluster_beacon { public: DECLARE_SCHEME_CALLBACK (height, (SCM)); - DECLARE_GROB_INTERFACE(); + DECLARE_GROB_INTERFACE (); }; MAKE_SCHEME_CALLBACK (Cluster_beacon, height, 1); @@ -218,8 +232,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 " + );