Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(2135)

Delta Between Two Patch Sets: lily/include/slur.hh

Issue 6498077: Approximates cross-staff slurs in VerticalAxisGroup vertical-skylines. Base URL: http://git.savannah.gnu.org/gitweb/?p=lilypond.git/trunk/
Left Patch Set: Eliminates potential conflict of script-priority and avoid-slur Created 12 years, 7 months ago
Right Patch Set: Better approximations Created 12 years, 6 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
LEFTRIGHT
1 /* 1 /*
2 This file is part of LilyPond, the GNU music typesetter. 2 This file is part of LilyPond, the GNU music typesetter.
3 3
4 Copyright (C) 2004--2012 Han-Wen Nienhuys <hanwen@xs4all.nl> 4 Copyright (C) 2004--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
5 5
6 LilyPond is free software: you can redistribute it and/or modify 6 LilyPond is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or 8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version. 9 (at your option) any later version.
10 10
11 LilyPond is distributed in the hope that it will be useful, 11 LilyPond is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details. 14 GNU General Public License for more details.
15 15
16 You should have received a copy of the GNU General Public License 16 You should have received a copy of the GNU General Public License
17 along with LilyPond. If not, see <http://www.gnu.org/licenses/>. 17 along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
18 */ 18 */
19 19
20 #ifndef SLUR_HH 20 #ifndef SLUR_HH
21 #define SLUR_HH 21 #define SLUR_HH
22 22
23 #include "lily-proto.hh" 23 #include "lily-proto.hh"
24 #include "std-vector.hh" 24 #include "std-vector.hh"
25 #include "grob-interface.hh" 25 #include "grob-interface.hh"
26 26
27 struct Slur_info
28 {
29 Slur_info (Grob *slur);
30 Grob *slur_;
31 vector<Grob *> stubs_;
32 };
33
27 class Slur 34 class Slur
28 { 35 {
29 public: 36 public:
30 static void add_column (Grob *me, Grob *col); 37 static void add_column (Grob *me, Grob *col);
31 static void add_extra_encompass (Grob *me, Grob *col); 38 static void add_extra_encompass (Grob *me, Grob *col);
32 static void main_to_stub (Grob *main, Grob *stub); 39 static void main_to_stub (Grob *main, Grob *stub);
33 static void replace_breakable_encompass_objects (Grob *me); 40 static void replace_breakable_encompass_objects (Grob *me);
34 static void auxiliary_acknowledge_extra_object (Grob_info const &, vector<Grob *> &, vector<Grob *> &); 41 static void auxiliary_acknowledge_extra_object (Grob_info const &, vector<Slur _info> &, vector<Slur_info> &);
35 DECLARE_SCHEME_CALLBACK (print, (SCM)); 42 DECLARE_SCHEME_CALLBACK (print, (SCM));
36 DECLARE_SCHEME_CALLBACK (calc_control_points, (SCM)); 43 DECLARE_SCHEME_CALLBACK (calc_control_points, (SCM));
37 DECLARE_SCHEME_CALLBACK (calc_direction, (SCM)); 44 DECLARE_SCHEME_CALLBACK (calc_direction, (SCM));
38 DECLARE_SCHEME_CALLBACK (direction_from_shadowed_slur, (SCM));
39 DECLARE_SCHEME_CALLBACK (pure_height, (SCM, SCM, SCM)); 45 DECLARE_SCHEME_CALLBACK (pure_height, (SCM, SCM, SCM));
40 DECLARE_SCHEME_CALLBACK (height, (SCM)); 46 DECLARE_SCHEME_CALLBACK (height, (SCM));
47 DECLARE_SCHEME_CALLBACK (extremal_stub_vertical_skylines, (SCM));
41 DECLARE_SCHEME_CALLBACK (vertical_skylines, (SCM)); 48 DECLARE_SCHEME_CALLBACK (vertical_skylines, (SCM));
42 DECLARE_SCHEME_CALLBACK (outside_slur_callback, (SCM, SCM)); 49 DECLARE_SCHEME_CALLBACK (outside_slur_callback, (SCM, SCM));
43 DECLARE_SCHEME_CALLBACK (pure_outside_slur_callback, (SCM, SCM, SCM, SCM)); 50 DECLARE_SCHEME_CALLBACK (pure_outside_slur_callback, (SCM, SCM, SCM, SCM));
44 DECLARE_SCHEME_CALLBACK (outside_slur_cross_staff, (SCM, SCM)); 51 DECLARE_SCHEME_CALLBACK (outside_slur_cross_staff, (SCM, SCM));
45 DECLARE_SCHEME_CALLBACK (calc_cross_staff, (SCM)); 52 DECLARE_SCHEME_CALLBACK (calc_cross_staff, (SCM));
46 DECLARE_GROB_INTERFACE (); 53 DECLARE_GROB_INTERFACE ();
47 static Bezier get_curve (Grob *me); 54 static Bezier get_curve (Grob *me);
48 }; 55 };
49 56
50 #endif /* SLUR_HH */ 57 #endif /* SLUR_HH */
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b