X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Ftuplet-bracket.hh;h=1e41154fbf32dfd03755ffd524cf1a6de81a8230;hb=8211950f0931c4d8a0e18ee9e436e489bd583dbd;hp=ebedc328e0646e5eda2c956a06b56dd3678acce6;hpb=5d1ddaf889233f8e5c32a118f9e843e1becca2d2;p=lilypond.git diff --git a/lily/include/tuplet-bracket.hh b/lily/include/tuplet-bracket.hh index ebedc328e0..1e41154fbf 100644 --- a/lily/include/tuplet-bracket.hh +++ b/lily/include/tuplet-bracket.hh @@ -1,32 +1,53 @@ /* - tuplet-bracket.hh -- part of GNU LilyPond + This file is part of LilyPond, the GNU music typesetter. - (c) 1997--2005 Jan Nieuwenhuizen + Copyright (C) 1997--2015 Jan Nieuwenhuizen + + 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 . */ #ifndef Tuplet_bracket_HH #define Tuplet_bracket_HH -#include "lily-guile.hh" #include "lily-proto.hh" +#include "std-vector.hh" +#include "grob-interface.hh" class Tuplet_bracket { public: - DECLARE_SCHEME_CALLBACK (after_line_breaking, (SCM )); - DECLARE_SCHEME_CALLBACK (before_line_breaking, (SCM )); - DECLARE_SCHEME_CALLBACK (print, (SCM )); - - static bool has_interface (Grob*); - static void add_column (Grob*me, Item*); - static void add_beam (Grob*me, Grob*); - static Grob *parallel_beam (Grob *me, Link_array const&cols, bool *equally_long); - static void calc_position_and_height (Grob*, Real*, Real *dy); - static Stencil make_bracket (Grob *me, Axis protusion_axis, - Offset dz, Drul_array height, - Interval gap, Drul_array widen, - Drul_array shorten); - static Direction get_default_dir (Grob*); + DECLARE_SCHEME_CALLBACK (calc_direction, (SCM)); + DECLARE_SCHEME_CALLBACK (calc_positions, (SCM)); + DECLARE_SCHEME_CALLBACK (calc_x_positions, (SCM)); + DECLARE_SCHEME_CALLBACK (print, (SCM)); + DECLARE_SCHEME_CALLBACK (calc_connect_to_neighbors, (SCM smob)); + DECLARE_SCHEME_CALLBACK (calc_cross_staff, (SCM)); + + static Grob *get_common_x (Spanner *); + static void add_tuplet_bracket (Grob *me, Grob *smaller_bracket); + static void get_bounds (Grob *, Grob **, Grob **); + static void add_column (Grob *me, Item *); + static void add_script (Grob *me, Item *); + static void add_beam (Grob *me, Grob *); + static Grob *parallel_beam (Grob *me, vector const &cols, + bool *equally_long); + static void calc_position_and_height (Grob *, Real *, Real *dy); + static Stencil make_bracket (Grob *me, Axis protrusion_axis, + Offset dz, Drul_array height, + Interval gap, Drul_array widen, + Drul_array shorten); + static Direction get_default_dir (Grob *); }; #endif // Tuplet_bracket_HH