]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/axis-group-element.hh
patch::: 1.3.18.jcn3
[lilypond.git] / lily / include / axis-group-element.hh
index c77b0058c220e95b9ff9a422be310349d93f88b0..3b1264d5fc6a46e39fdc3290a819f11b432737db 100644 (file)
 #define AXIS_GROUP_ELEMENT_HH
 
 #include "score-element.hh"
-#include "graphical-axis-group.hh"
+
 
 /** 
   Treat a group of elements a unity in either or both axis sense .
   This is a wrapper around Axis_group_administration
   */
-class Axis_group_element : public virtual Score_element,
-                          public virtual Graphical_axis_group
+class Axis_group_element : public virtual Score_element
 {
-  Link_array<Score_element> extra_elems_;
+  /// modify fields of E for removal.
+  void do_remove (Score_element*e);
 
 protected:
-  virtual void do_print() const;
   virtual Link_array<Score_element> get_extra_dependencies() const;
-  void purge_extra ();
-
-  virtual void do_substitute_element_pointer (Score_element*,Score_element*);
   virtual Link_array<Score_element> elem_l_arr() const;
-  
-  virtual Interval do_height () const;
-  virtual Interval do_width () const;
-
+  static Interval extent_callback (Dimension_cache const*);
 
-Interval extra_extent (Axis a ) const;
-  
 public:
-  /**
-     add an element that only influences size, but does not have  X/Y parent
-     relationship with THIS.
-  */
-  void add_extra_element (Score_element*);
-
+  Axis axes_[2];
+    
+  void add_element (Score_element*);
 
   Axis_group_element ();
-  virtual void set_axes (Axis,Axis);
+  void set_axes (Axis,Axis);
 
-  virtual Link_array<Score_element> get_children ();
+  Link_array<Score_element> get_children ();
 };
 
 #endif // AXIS_GROUP_ELEMENT_HH