]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/key-item.hh
release: 1.3.98
[lilypond.git] / lily / include / key-item.hh
index f8e3747b58cba51b4ae719f56dd7751e6980a426..0f2c4d14df36c0cb3a881179b95a809a9b93f25e 100644 (file)
@@ -1,48 +1,22 @@
 /*
   key-item.hh -- part of GNU LilyPond
 
-  (c) 1996--1998 Han-Wen Nienhuys
+  (c) 1996--2000 Han-Wen Nienhuys
 */
 
 #ifndef KEYITEM_HH
 #define KEYITEM_HH
 
-#include "item.hh"
-#include "array.hh"
+#include "lily-guile.hh"
+#include "lily-proto.hh"
 
 
-/// An item which places accidentals at the start of the line
-struct Key_item : Item {
-  Array<int> pitch_arr_;
-  Array<int> acc_arr_;
-  Array<int> old_pitch_arr_;
-  Array<int> old_acc_arr_;
-
-  // ugh.  Naming 
-  int c_position;
-  // see above.
-  int c0_position;
-  bool default_b_;
-  bool multi_octave_b_;
-    
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  SCORE_ELEMENT_CLONE(Key_item);
-
-  Key_item ();
-  void add (int pitch, int acc);
-  void add (const Musical_pitch&);
-  void add_old (int pitch, int acc);
-  void add_old (const Musical_pitch&);
-  void set (bool multi_octave_b,
-           Array<Musical_pitch> const &idx_arr,
-           Array<Musical_pitch> const &old_idx_arr);
-
-  void set_c_position (int);
-  int Key_item::calculate_position(int p, int a) const;
-
-protected:
-  virtual void do_pre_processing();
-  Molecule* brew_molecule_p() const;
+struct Key_item
+{
+  static int calculate_position(Score_element*,SCM pair) ;
+  static void set_interface (Score_element*);
+  static bool has_interface (Score_element*);
+  DECLARE_SCHEME_CALLBACK(brew_molecule, (SCM ));
 };
 
 #endif // KEYITEM_HH