]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/tie.hh
Run grand-replace (issue 3765)
[lilypond.git] / lily / include / tie.hh
index a1100653ae6d15d88cadd25f74a5496cc2050d1e..349f5b83e25aed2b40f397c5ca9fd502c027d8be 100644 (file)
@@ -1,37 +1,48 @@
 /*
-  tie.hh -- declare Tie
+  This file is part of LilyPond, the GNU music typesetter.
 
-  source file of the GNU LilyPond music typesetter
+  Copyright (C) 1997--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-*/
+  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 <http://www.gnu.org/licenses/>.
+*/
 
 #ifndef TIE_HH
 #define TIE_HH
 
-#include "bow.hh"
+#include "lily-proto.hh"
+#include "skyline.hh"
+#include "grob-interface.hh"
 
-/**
-  Connect two noteheads.
-  */
-class Tie : public Bow
+class Tie
 {
 public:
-    Tie ();
-    void set_head (Direction, Note_head*head_l);
-
-    DECLARE_MY_RUNTIME_TYPEINFO;
-    SCORE_ELEM_CLONE(Tie);
-
-    bool same_pitch_b_;
-    Drul_array<Note_head *> head_l_drul_;
-
-protected:
-    virtual void do_add_processing ();
-    virtual void do_post_processing ();
-    virtual void set_default_dir();
-    virtual void do_substitute_dependency (Score_elem*,Score_elem*);
-    Array<Offset> get_controls () const;
+  static void set_head (Grob *, Direction, Grob *head);
+  DECLARE_GROB_INTERFACE ();
+  static Grob *head (Grob *, Direction);
+  static int get_column_rank (Grob *, Direction);
+  static int get_position (Grob *);
+  static Direction get_default_dir (Grob *);
+  static SCM get_control_points (Grob *, Grob *,
+                                 Tie_configuration const &,
+                                 Tie_details const &);
+  static SCM get_default_control_points (Grob *);
+  DECLARE_SCHEME_CALLBACK (print, (SCM));
+  DECLARE_SCHEME_CALLBACK (set_spacing_rods, (SCM));
+  DECLARE_SCHEME_CALLBACK (calc_direction, (SCM));
+  DECLARE_SCHEME_CALLBACK (calc_control_points, (SCM));
+  static bool less (Grob *const &s1,
+                    Grob *const &s2);
 };
+
 #endif // TIE_HH