X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fsemi-tie.cc;h=a23ddd40f540d13950611fb33405cc3c52a92021;hb=f8a3931a86d9d0f634ba131036a8abfc0e086a5a;hp=854dd0302e2843ecbc5570b3bb3531f427b64d44;hpb=1aff89b4d5507bc850698a041bb0f51dd22cff2b;p=lilypond.git diff --git a/lily/semi-tie.cc b/lily/semi-tie.cc index 854dd0302e..a23ddd40f5 100644 --- a/lily/semi-tie.cc +++ b/lily/semi-tie.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 2005--2006 Han-Wen Nienhuys + (c) 2005--2009 Han-Wen Nienhuys */ @@ -15,25 +15,25 @@ #include "warn.hh" #include "staff-symbol-referencer.hh" -ADD_INTERFACE(Semi_tie, - - "semi-tie-interface", - - "A tie which is only on one side connected to note heads. ", +ADD_INTERFACE (Semi_tie, + "A tie which is only on one side connected to a note head.", /* properties */ "control-points " "direction " "details " + "head-direction " "note-head " "thickness " ); -MAKE_SCHEME_CALLBACK(Semi_tie, calc_control_points, 1) +MAKE_SCHEME_CALLBACK (Semi_tie, calc_control_points, 1) SCM Semi_tie::calc_control_points (SCM smob) { Grob *me = unsmob_grob (smob); + (void) me->get_property ("direction"); + if (Semi_tie_column::has_interface (me->get_parent (Y_AXIS))) { me->get_parent (Y_AXIS)->get_property ("positioning-done"); @@ -43,26 +43,8 @@ Semi_tie::calc_control_points (SCM smob) programming_error ("lv tie without Semi_tie_column. Killing lv tie."); me->suicide (); } - - return SCM_UNSPECIFIED; -} - -MAKE_SCHEME_CALLBACK(Semi_tie, calc_direction, 1) -SCM -Semi_tie::calc_direction (SCM smob) -{ - Grob *me = unsmob_grob (smob); - if (Semi_tie_column::has_interface (me->get_parent (Y_AXIS))) - { - me->get_parent (Y_AXIS)->get_property("positioning-done"); - } - else - { - programming_error ("lv tie without Semi_tie_column"); - set_grob_direction (me, UP); - } - return SCM_UNSPECIFIED; + return me->get_property_data ("control-points"); } int