]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/note-head.hh
patch::: 1.3.122.jcn2
[lilypond.git] / lily / include / note-head.hh
index 50395212238feb11224959d7d374522ed03e0120..e38fbd160929be53397506fe46bf5ca0bb97b2ad 100644 (file)
@@ -1,41 +1,28 @@
 /*
   note-head.hh -- part of GNU LilyPond
 
-  (c) 1996,97 Han-Wen Nienhuys
+  (c) 1996--2000 Han-Wen Nienhuys
 */
 
 #ifndef NOTEHEAD_HH
 #define NOTEHEAD_HH
 
-#include "rhythmic-head.hh"
+#include "lily-guile.hh"
+#include "molecule.hh"
 
-/** ball at the end of the stem. Takes care of:
+/** ball at the end of the stem. Also takes care of ledger lines.
 
-  * help lines  
+    NoteHead is a kind of RhythmicHead, see there.
 
-  */
+  Read-only:
+*/
 
-class Note_head : public Rhythmic_head {
+class Note_head 
+{
 public:
-  DECLARE_MY_RUNTIME_TYPEINFO;
-
-  int position_i_;
-    
-  /// -1 = lowest, 0 = inside, 1 = top
-  int extremal_i_;
-    
-  /// needed for the help-lines
-  int staff_size_i_;
-  Direction x_dir_;
-    
-  /**
-    position of top line (5 linestaff: 8)
-    */
-  Note_head ();
-  static int compare (Note_head * const &a, Note_head *const &b) ;
-protected:
-  virtual void do_pre_processing();
-  virtual Molecule* brew_molecule_p() const;
+  DECLARE_SCHEME_CALLBACK(brew_molecule, (SCM ));
+  static Molecule ledger_line (Interval, Grob*) ;
+  static bool has_interface (Grob*);
 };
 #endif // NOTEHEAD_HH