]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/note-head.hh
2003 -> 2004
[lilypond.git] / lily / include / note-head.hh
index 272ed3da9521488112f45ba36e758a74ea0ac40f..aa55ca4967557c94c6b5cbd5cf53e4d444e238bb 100644 (file)
@@ -1,37 +1,34 @@
 /*
   note-head.hh -- part of GNU LilyPond
 
-  (c) 1996--2000 Han-Wen Nienhuys
+  (c) 1996--2004 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.
 
-  Properties
-
-  style -- symbol that sets note head style
-
-  */
+  Read-only:
+*/
 
-class Note_head : public Rhythmic_head
+class Note_head 
 {
 public:
-  static int compare (Note_head * const &a, Note_head *const &b) ;
- static SCM brew_molecule (SCM);
-  
-
-  Molecule ledger_line (Interval) const;
-  Note_head (SCM);
-
-  SCM member_before_line_breaking ();
-  static SCM before_line_breaking (SCM);
-  SCM member_brew_molecule() const;
+  DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
+  static Interval head_extent (Grob*, Axis);
+  static Molecule brew_ledger_lines (Grob *me, int pos, int interspaces,
+                                    Interval x_extent, Real, bool);
+  DECLARE_SCHEME_CALLBACK (brew_ez_molecule, (SCM));
+  DECLARE_SCHEME_CALLBACK (extent, (SCM,SCM));
+  static bool has_interface (Grob*);
+  static Real stem_attachment_coordinate (Grob *, Axis a);
+  static int get_balltype (Grob*) ;  
 };
 #endif // NOTEHEAD_HH