]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/tie.hh
Merge branch 'lilypond/translation' of ssh://git.sv.gnu.org/srv/git/lilypond
[lilypond.git] / lily / include / tie.hh
index d983e164911541245158cfa297d6f9bca5f477b5..ffb66c9c975f2b5713763ce974a8e43389f5500b 100644 (file)
@@ -1,37 +1,52 @@
 /*
-  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--2010 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
-  (c)  1997--1998 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);
+  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);
+};
 
-    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;
-};
 #endif // TIE_HH