From 06d72c441db4379506bbe1490214427df7d47bcc Mon Sep 17 00:00:00 2001 From: fred Date: Sun, 24 Mar 2002 20:12:53 +0000 Subject: [PATCH] lilypond-1.0.1 --- lily/include/horizontal-group-element.hh | 30 +++++++++++++++++ .../horizontal-vertical-group-element.hh | 33 +++++++++++++++++++ lily/include/vertical-align-spanner.hh | 13 ++++---- lily/include/vertical-group-element.hh | 27 +++++++++++++++ lily/include/vertical-group-spanner.hh | 10 +++--- 5 files changed, 101 insertions(+), 12 deletions(-) create mode 100644 lily/include/horizontal-group-element.hh create mode 100644 lily/include/horizontal-vertical-group-element.hh create mode 100644 lily/include/vertical-group-element.hh diff --git a/lily/include/horizontal-group-element.hh b/lily/include/horizontal-group-element.hh new file mode 100644 index 0000000000..f3c5d586ae --- /dev/null +++ b/lily/include/horizontal-group-element.hh @@ -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 + + */ + +#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 index 0000000000..520170beae --- /dev/null +++ b/lily/include/horizontal-vertical-group-element.hh @@ -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 + + */ + +#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 */ + + diff --git a/lily/include/vertical-align-spanner.hh b/lily/include/vertical-align-spanner.hh index df8be95bc5..667ab5e991 100644 --- a/lily/include/vertical-align-spanner.hh +++ b/lily/include/vertical-align-spanner.hh @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1997--1998 Han-Wen Nienhuys + (c) 1997--1998 Han-Wen Nienhuys */ @@ -11,14 +11,15 @@ #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 index 0000000000..b3eee34dfe --- /dev/null +++ b/lily/include/vertical-group-element.hh @@ -0,0 +1,27 @@ +/* + vertical-group-element.hh -- declare + + source file of the GNU LilyPond music typesetter + + (c) 1997--1998 Han-Wen Nienhuys + + */ + +#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 */ + diff --git a/lily/include/vertical-group-spanner.hh b/lily/include/vertical-group-spanner.hh index 678137e29f..9df0d88053 100644 --- a/lily/include/vertical-group-spanner.hh +++ b/lily/include/vertical-group-spanner.hh @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1997--1998 Han-Wen Nienhuys + (c) 1997--1998 Han-Wen Nienhuys */ @@ -11,21 +11,19 @@ #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 (); }; -- 2.39.5