X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Faxis-group-interface.hh;h=fa662020967bfbe57f6234c2ef9cded251b94225;hb=99503a78627620112cabb61bb9f1cee3fe9dfcb4;hp=cf230d9fb94370e7b0c7b066b934802b8283e7ce;hpb=e18531db1f79fb685fbd16d6a2a67bf4b6c09915;p=lilypond.git diff --git a/lily/include/axis-group-interface.hh b/lily/include/axis-group-interface.hh index cf230d9fb9..fa66202096 100644 --- a/lily/include/axis-group-interface.hh +++ b/lily/include/axis-group-interface.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2000--2010 Han-Wen Nienhuys + Copyright (C) 2000--2011 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -38,16 +38,21 @@ struct Axis_group_interface DECLARE_SCHEME_CALLBACK (combine_skylines, (SCM smob)); DECLARE_SCHEME_CALLBACK (print, (SCM smob)); DECLARE_SCHEME_CALLBACK (adjacent_pure_heights, (SCM)); - DECLARE_SCHEME_CALLBACK (calc_next_staff_spacing, (SCM)); + DECLARE_SCHEME_CALLBACK (calc_staff_staff_spacing, (SCM)); + DECLARE_SCHEME_CALLBACK (calc_pure_staff_staff_spacing, (SCM, SCM, SCM)); + DECLARE_SCHEME_CALLBACK (calc_pure_relevant_grobs, (SCM)); + DECLARE_SCHEME_CALLBACK (calc_pure_relevant_items, (SCM)); + DECLARE_SCHEME_CALLBACK (calc_pure_relevant_spanners, (SCM)); + DECLARE_SCHEME_CALLBACK (calc_pure_y_common, (SCM)); static Interval relative_group_extent (vector const &list, Grob *common, Axis); static Interval relative_pure_height (Grob *me, int start, int end); static Interval combine_pure_heights (Grob *me, SCM, int, int); - static Interval cached_pure_height (Grob *me, int, int); + static Interval sum_partial_pure_heights (Grob *me, int, int); static Interval begin_of_line_pure_height (Grob *me, int); static Interval rest_of_line_pure_height (Grob *me, int, int); + static Interval part_of_line_pure_height (Grob *me, bool begin, int, int); - static Grob *calc_pure_elts_and_common (Grob*); static Skyline_pair skyline_spacing (Grob *me, vector elements); static void add_element (Grob *me, Grob *); static void set_axes (Grob *, Axis, Axis); @@ -56,6 +61,7 @@ struct Axis_group_interface static Interval staff_extent (Grob *me, Grob *ref, Axis, Grob *staff, Axis); static SCM calc_common (Grob *, Axis); static Real minimum_distance (Grob*, Grob*, Axis); + static SCM calc_maybe_pure_staff_staff_spacing (Grob*, bool, int, int); DECLARE_GROB_INTERFACE(); };