lilypond-1.0.1
authorfred <fred>
Sun, 24 Mar 2002 20:12:53 +0000 (20:12 +0000)
committerfred <fred>
Sun, 24 Mar 2002 20:12:53 +0000 (20:12 +0000)
lily/include/horizontal-group-element.hh [new file with mode: 0644]
lily/include/horizontal-vertical-group-element.hh [new file with mode: 0644]
lily/include/vertical-align-spanner.hh
lily/include/vertical-group-element.hh [new file with mode: 0644]
lily/include/vertical-group-spanner.hh

diff --git a/lily/include/horizontal-group-element.hh b/lily/include/horizontal-group-element.hh
new file mode 100644 (file)
index 0000000..f3c5d58
--- /dev/null
@@ -0,0 +1,30 @@
+/*   
+  horizontal-group-element.hh -- declare Horizontal_group_element      
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
+
+#ifndef HORIZONTAL_GROUP_ELEM_HH
+#define HORIZONTAL_GROUP_ELEM_HH
+
+#include "axis-group-element.hh"
+
+/**
+  Treat a group of elements a unity in horizontal sense .
+  A column is a typical Vertical_group.
+ */
+class Horizontal_group_element : public virtual Axis_group_element {
+protected:
+  virtual Interval do_width() const;
+
+public:
+  Horizontal_group_element ();
+  DECLARE_MY_RUNTIME_TYPEINFO;
+};
+
+
+#endif /* HORIZONTAL_GROUP_ELEM_HH */
+
diff --git a/lily/include/horizontal-vertical-group-element.hh b/lily/include/horizontal-vertical-group-element.hh
new file mode 100644 (file)
index 0000000..520170b
--- /dev/null
@@ -0,0 +1,33 @@
+/*   
+  horizontal-vertical-group-element.hh -- declare Horizontal_vertical_group_element
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
+
+#ifndef HORIZONTAL_VERTICAL_GROUP_ELEM_HH
+#define HORIZONTAL_VERTICAL_GROUP_ELEM_HH
+
+#include "vertical-group-element.hh"
+#include "horizontal-group-element.hh"
+
+/** A class to treat a group of elements as a single entity. The
+  dimensions are the unions of the dimensions of what it contains.
+  Translation means translating the contents.
+  */
+class Horizontal_vertical_group_element : public Vertical_group_element, 
+                                         public Horizontal_group_element 
+{  
+protected:
+public:
+  Horizontal_vertical_group_element ();
+  
+  DECLARE_MY_RUNTIME_TYPEINFO;    
+};
+
+
+#endif /* HORIZONTAL_VERTICAL_GROUP_ELEM_HH */
+
+
index df8be95bc5b0a18ebf14d0f7797c8c556aa1f95e..667ab5e991cc42257f731b3d49436526542e6d89 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c)  1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
+  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 
 #define VERTICAL_ALIGN_SPANNER_HH
 
 #include "spanner.hh"
-#include "vertical-align-elem.hh"
+#include "align-element.hh"
 
-class Vertical_align_spanner : public Vertical_align_element, public Spanner
+class Vertical_align_spanner : public Align_element, public Spanner
 {
 public:
-    DECLARE_MY_RUNTIME_TYPEINFO;
-    SCORE_ELEM_CLONE(Vertical_align_spanner);
-    virtual void do_print() const { Vertical_align_element::do_print () ; }
+  DECLARE_MY_RUNTIME_TYPEINFO;
+  SCORE_ELEMENT_CLONE(Vertical_align_spanner);
+  Vertical_align_spanner ();
+  virtual void do_print() const ;
     
 };
 #endif // VERTICAL_ALIGN_SPANNER_HH
diff --git a/lily/include/vertical-group-element.hh b/lily/include/vertical-group-element.hh
new file mode 100644 (file)
index 0000000..b3eee34
--- /dev/null
@@ -0,0 +1,27 @@
+/*   
+  vertical-group-element.hh -- declare 
+  
+  source file of the GNU LilyPond music typesetter
+  
+  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  
+ */
+
+#ifndef VERTICAL_GROUP_ELEM_HH
+#define VERTICAL_GROUP_ELEM_HH
+
+#include "axis-group-element.hh"
+/**
+  Like Horizontal_group_element, but in X direction
+ */
+class Vertical_group_element : public virtual Axis_group_element {
+protected:
+  virtual Interval do_height() const;
+
+public:
+  Vertical_group_element () ;
+  DECLARE_MY_RUNTIME_TYPEINFO;
+};
+
+#endif /* VERTICAL_GROUP_ELEM_HH */
+
index 678137e29f08ba2771fe7d9970d90edf8c8d727e..9df0d88053761106653d58cbf6f1b3277962e11e 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c)  1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
+  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 
 #define SPAN_VERTICAL_GROUP_HH
 
 #include "axis-group-spanner.hh"
-#include "vertical-group-elem.hh"
+#include "vertical-group-element.hh"
 
 /** An element which groups a line. 
  */
 class Vertical_group_spanner : public Axis_group_spanner, public Vertical_group_element
 {
 protected:
-  SCORE_ELEM_CLONE(Vertical_group_spanner);
-  virtual void remove_all() { Vertical_group_element::remove_all (); }
+  SCORE_ELEMENT_CLONE(Vertical_group_spanner);
   virtual void do_junk_links () { Axis_group_spanner::do_junk_links (); }
   virtual void do_unlink () { Axis_group_spanner::do_unlink (); }
 public:
   DECLARE_MY_RUNTIME_TYPEINFO;
-  virtual void add_element (Graphical_element*e) { Vertical_group_element::add_element (e); }
-  virtual void remove_element (Graphical_element*e) { Vertical_group_element::remove_element (e); }  
+  Vertical_group_spanner ();
 };