]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/score-element.hh
release: 1.3.33
[lilypond.git] / lily / include / score-element.hh
index ba75990681f5d286d07d1d2ca1dce534addfade9..8eb39f509bb0adc799303eda1e109c215a8f20c9 100644 (file)
@@ -35,6 +35,11 @@ Boolean (true iff defined)
 
 */
 class Score_element  {
+  /**
+     The lookup, determined by the font size. Cache this value.
+   */
+  Lookup * lookup_l_;
+public:
   /**
      properties specific for this element. Destructor will not call
      scm_unprotect, so as to allow more flexible GC arrangements.  The
@@ -43,11 +48,7 @@ class Score_element  {
 
   */
   SCM element_property_alist_;
-  /**
-     The lookup, determined by the font size. Cache this value.
-   */
-  Lookup * lookup_l_;
-public:
+  
   Score_element *original_l_;
 
   /**
@@ -61,7 +62,7 @@ public:
   int status_i_;
 
   Paper_score *pscore_l_;
-  Molecule * output_p_;
+
   Score_element ();
   Score_element (Score_element const&);
   virtual void print () const;
@@ -71,6 +72,22 @@ public:
    */
   SCM get_elt_property (String nm) const;
   void set_elt_property (String, SCM val);
+
+  /**
+     UGH! JUNKME ?
+
+     This gets messy because it changes state
+
+     calling 
+
+     Bar::proc ()
+     {
+       s->remove_elt_property ("foo")
+     } 
+
+     twice may do weird things if Bar::foo has a default set.
+     
+   */
   SCM remove_elt_property (String nm);
 
   void Score_element::set_real (String, Real);
@@ -120,23 +137,26 @@ protected:
   /// do printing of derived info.
   virtual void do_print () const;
   /// generate the molecule    
-  virtual Molecule* do_brew_molecule_p () const;
+  virtual Molecule do_brew_molecule () const;
   ///executed directly after the item is added to the Paper_score
   virtual void do_add_processing ();
   /// do calculations before determining horizontal spacing
-  virtual void do_pre_processing ();
+  virtual void before_line_breaking ();
 
   /// generate rods & springs
   virtual void do_space_processing ();
 
   virtual void do_breakable_col_processing ();
   /// do calculations after determining horizontal spacing
-  virtual void do_post_processing ();
+  virtual void after_line_breaking ();
     
   virtual Link_array<Score_element> get_extra_dependencies () const;
 
   static Interval dim_cache_callback (Dimension_cache const*);
 public:
+  static SCM ly_set_elt_property (SCM, SCM,SCM);
+  static SCM ly_get_elt_property (SCM, SCM);  
+  
   virtual void handle_broken_dependencies ();
   virtual void handle_prebroken_dependencies ();
 
@@ -159,7 +179,6 @@ public:
    */
   void set_empty (Axis a);
   bool empty_b (Axis a) const;
-  void invalidate_cache (Axis);
   Interval extent (Axis) const;
  
   /**