transparent_b_ = true;
}
+
+IMPLEMENT_IS_TYPE_B1(Axis_group_element, Score_elem);
--- /dev/null
+
+#include "horizontal-group-elem.hh"
+#include "interval.hh"
+#include "item.hh"
+#include "debug.hh"
+
+
+IMPLEMENT_IS_TYPE_B1(Horizontal_group_element, Axis_group_element);
+
+void
+Horizontal_group_element::remove_all()
+{
+ axis_admin_.remove_all (X_AXIS,X_AXIS);
+}
+
+void
+Horizontal_group_element::add_element (Graphical_element*e)
+{
+ axis_admin_.add_element (e,this, X_AXIS,X_AXIS);
+}
+
+void
+Horizontal_group_element::remove_element (Graphical_element*e)
+{
+ axis_admin_.remove_element (e,X_AXIS,X_AXIS);
+}
+
+
+Interval
+Horizontal_group_element::do_width() const
+{
+ return axis_admin_.extent (X_AXIS);
+}
+
--- /dev/null
+
+#include "horizontal-vertical-group-elem.hh"
+#include "interval.hh"
+#include "item.hh"
+#include "debug.hh"
+
+void
+Horizontal_vertical_group_element::remove_all()
+{
+ axis_admin_.remove_all (X_AXIS,Y_AXIS);
+}
+void
+Horizontal_vertical_group_element::add_element (Graphical_element *e)
+{
+ axis_admin_.add_element (e, this, X_AXIS, Y_AXIS);
+}
+
+void
+Horizontal_vertical_group_element::remove_element (Graphical_element*e)
+{
+ axis_admin_.remove_element (e, X_AXIS, Y_AXIS);
+}
+
+
+
+IMPLEMENT_IS_TYPE_B2(Horizontal_vertical_group_element, Horizontal_group_element, Vertical_group_element);
-/**
- 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 void remove_all();
- virtual Interval do_width() const;
-
-public:
- DECLARE_MY_RUNTIME_TYPEINFO;
- virtual void add_element (Graphical_element*);
- virtual void remove_element (Graphical_element*);
-
-};
-/**
- Like Horizontal_group_element, but in X direction
- */
-class Vertical_group_element : public virtual Axis_group_element {
-protected:
- virtual Interval do_height() const;
- virtual void remove_all();
-
-public:
- virtual void add_element (Graphical_element*);
- virtual void remove_element (Graphical_element*);
- DECLARE_MY_RUNTIME_TYPEINFO;
-};
-
-/** 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:
- virtual void remove_all();
-public:
- virtual void add_element (Graphical_element*);
- virtual void remove_element (Graphical_element*);
-
- DECLARE_MY_RUNTIME_TYPEINFO;
-};
+#error
#endif // ELEM_GROUP_HH
#ifndef HORIZONTAL_ALIGN_ITEM_HH
#define HORIZONTAL_ALIGN_ITEM_HH
-#include "elem-group.hh"
+
#include "item.hh"
/**
--- /dev/null
+/*
+ horizontal-group-elem.hh -- declare
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1997 Han-Wen Nienhuys <hanwen@cs.ruu.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 void remove_all();
+ virtual Interval do_width() const;
+
+public:
+ DECLARE_MY_RUNTIME_TYPEINFO;
+ virtual void add_element (Graphical_element*);
+ virtual void remove_element (Graphical_element*);
+
+};
+
+
+#endif /* HORIZONTAL_GROUP_ELEM_HH */
+
#ifndef HORIZONTAL_GROUP_ITEM_HH
#define HORIZONTAL_GROUP_ITEM_HH
-#include "elem-group.hh"
+#include "horizontal-group-elem.hh"
#include "axis-group-item.hh"
/**
--- /dev/null
+/*
+ horizontal-vertical-group-elem.hh -- declare
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1997 Han-Wen Nienhuys <hanwen@cs.ruu.nl>
+
+ */
+
+#ifndef HORIZONTAL_VERTICAL_GROUP_ELEM_HH
+#define HORIZONTAL_VERTICAL_GROUP_ELEM_HH
+
+#include "vertical-group-elem.hh"
+#include "horizontal-group-elem.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:
+ virtual void remove_all();
+public:
+ virtual void add_element (Graphical_element*);
+ virtual void remove_element (Graphical_element*);
+
+ DECLARE_MY_RUNTIME_TYPEINFO;
+};
+
+
+#endif /* HORIZONTAL_VERTICAL_GROUP_ELEM_HH */
+
+
#define HORIZONTAL_VERTICAL_GROUP_ITEM_HH
#include "axis-group-item.hh"
-#include "elem-group.hh"
+#include "horizontal-vertical-group-elem.hh"
/**
#ifndef VERTICAL_ALIGN_ITEM_HH
#define VERTICAL_ALIGN_ITEM_HH
-#include "elem-group.hh"
+#include "score-elem.hh"
/**
Order elements top to bottom.
--- /dev/null
+/*
+ vertical-group-elem.hh -- declare
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1997 Han-Wen Nienhuys <hanwen@cs.ruu.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;
+ virtual void remove_all();
+
+public:
+ virtual void add_element (Graphical_element*);
+ virtual void remove_element (Graphical_element*);
+ DECLARE_MY_RUNTIME_TYPEINFO;
+};
+
+#endif /* VERTICAL_GROUP_ELEM_HH */
+
#include "p-col.hh"
#include "vertical-align-grav.hh"
#include "vertical-align-spanner.hh"
+#include "vertical-group-elem.hh"
Vertical_align_engraver::Vertical_align_engraver()
{