]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/item.hh
*** empty log message ***
[lilypond.git] / lily / include / item.hh
index 16f298f7f2361983d612975fcd699d3e6dfff2d2..8a0fd0b4b7b9ef4e2ec69a4b5643e22cc85a6c2d 100644 (file)
@@ -3,17 +3,16 @@
 
   source file of the GNU LilyPond music typesetter
 
 
   source file of the GNU LilyPond music typesetter
 
-  (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c)  1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 #ifndef ITEM_HH
 #define ITEM_HH
 
 
 #include "box.hh"
 */
 #ifndef ITEM_HH
 #define ITEM_HH
 
 
 #include "box.hh"
-#include "string.hh"
-#include "score-element.hh"
+#include "grob.hh"
 #include "drul-array.hh"
 #include "drul-array.hh"
-#include "protected-scm.hh"
+
 
 /**
   A horizontally fixed size element of the score.
 
 /**
   A horizontally fixed size element of the score.
   Item is the datastructure for printables whose width is known
   before the spacing is calculated
 
   Item is the datastructure for printables whose width is known
   before the spacing is calculated
 
-  NB. This doesn't mean an Item has to initialize the output field before
-  spacing calculation. 
-  
-  
-  Element properties
-  
-  visibility-lambda -- a function that takes the break
-  direction and returns a (transparent, empty) cons
-
-  breakable -- boolean indicating if this is a breakable item (clef,
-  barline, key sig, etc.)
-
-   */
-class Item : public Score_element
+*/
+class Item : public Grob
 {
   Drul_array<Item*> broken_to_drul_;
 
 public:
 {
   Drul_array<Item*> broken_to_drul_;
 
 public:
-  VIRTUAL_COPY_CONS(Score_element);
+  VIRTUAL_COPY_CONS (Grob);
   Item (SCM);
   Item (Item const &);
 
   Item (SCM);
   Item (Item const &);
 
-  static bool breakable_b (Score_element*me);
+  static bool breakable_b (Grob *);
   bool broken_b () const;
   
   Direction break_status_dir () const;
   
   bool broken_b () const;
   
   Direction break_status_dir () const;
   
-  Item * find_prebroken_piece (Direction) const;
-  Score_element * find_broken_piece (Line_of_score*) const;    
-
-  virtual Line_of_score * line_l() const;
-  virtual Paper_column * column_l () const;
+  Item *find_prebroken_piece (Direction) const;
+  Grob *find_broken_piece (System *) const;    
+  virtual System *get_system () const;
+  virtual Paper_column *get_column () const;
   virtual void handle_prebroken_dependencies ();
   virtual void handle_prebroken_dependencies ();
+  static  bool has_interface (Grob *);
 protected:
   virtual void discretionary_processing ();
 protected:
   virtual void discretionary_processing ();
-  void copy_breakable_items();
+  void copy_breakable_items ();
+  virtual SCM do_derived_mark () const;
 };
 
 
 };