X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Ftuplet-bracket.hh;h=d3209a5d3a9af9e5e7a789f7bbe464cb78083857;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=620f6b28cc4b33d6fa91e8704592a6db87ff4430;hpb=50aadb5e51f951a922b818cf93ccb5a5d626101f;p=lilypond.git diff --git a/lily/include/tuplet-bracket.hh b/lily/include/tuplet-bracket.hh index 620f6b28cc..d3209a5d3a 100644 --- a/lily/include/tuplet-bracket.hh +++ b/lily/include/tuplet-bracket.hh @@ -1,41 +1,39 @@ /* tuplet-bracket.hh -- part of GNU LilyPond - (c) 1997--2004 Jan Nieuwenhuizen + (c) 1997--2008 Jan Nieuwenhuizen */ #ifndef Tuplet_bracket_HH #define Tuplet_bracket_HH -#include "lily-guile.hh" #include "lily-proto.hh" +#include "std-vector.hh" +#include "grob-interface.hh" -/* - - TODO: quantise, we don't want to collide with staff lines. - (or should we be above staff?) - - todo: handle breaking elegantly. -*/ class Tuplet_bracket { public: - 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); + DECLARE_SCHEME_CALLBACK (calc_direction, (SCM)); + DECLARE_SCHEME_CALLBACK (calc_positions, (SCM)); + DECLARE_SCHEME_CALLBACK (calc_control_points, (SCM)); + DECLARE_SCHEME_CALLBACK (print, (SCM)); + DECLARE_SCHEME_CALLBACK (calc_connect_to_neighbors, (SCM smob)); + DECLARE_SCHEME_CALLBACK (calc_cross_staff, (SCM)); - DECLARE_SCHEME_CALLBACK (after_line_breaking, (SCM )); - - DECLARE_SCHEME_CALLBACK (before_line_breaking, (SCM )); - 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_GROB_INTERFACE(); + 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_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 protusion_axis, + Offset dz, Drul_array height, + Interval gap, Drul_array widen, + Drul_array shorten); + static Direction get_default_dir (Grob *); }; #endif // Tuplet_bracket_HH