]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.3.37
authorfred <fred>
Tue, 26 Mar 2002 23:09:54 +0000 (23:09 +0000)
committerfred <fred>
Tue, 26 Mar 2002 23:09:54 +0000 (23:09 +0000)
lily/axis-group-engraver.cc
lily/grace-align-item.cc
lily/include/axis-group-engraver.hh
lily/include/break-align-item.hh
lily/include/hara-kiri-engraver.hh
lily/include/line-group-group-engraver.hh
lily/vertical-align-engraver.cc

index 50b76990e5ddc5ab8b3e6662aeec3e4cc2654451..cf9208793a36b3cb69d10d52ce54b832326cb32e 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 #include "axis-group-engraver.hh"
-#include "axis-group-spanner.hh"
+#include "spanner.hh"
 #include "paper-column.hh"
 #include "axis-group-interface.hh"
 
@@ -20,16 +20,18 @@ void
 Axis_group_engraver::do_creation_processing ()
 {
   staffline_p_ = get_spanner_p ();
-  axis_group (staffline_p_).set_axes (Y_AXIS, Y_AXIS);
+  Axis_group_interface (staffline_p_).set_interface ();
+  Axis_group_interface (staffline_p_).set_axes (Y_AXIS, Y_AXIS);
   staffline_p_->set_bound(LEFT,get_staff_info().command_pcol_l ());
   announce_element (Score_element_info (staffline_p_, 0));
 }
 
-Axis_group_spanner*
+Spanner*
 Axis_group_engraver::get_spanner_p () const
 {
-  return new Axis_group_spanner;
+  return new Spanner;
 }
+
 void
 Axis_group_engraver::do_removal_processing ()
 {
@@ -51,8 +53,8 @@ Axis_group_engraver::process_acknowledged ()
   for (int i=0; i < elts_.size (); i++)
     {
       Score_element *par = elts_[i]->parent_l (Y_AXIS);
-      if (!par || !axis_group (par).has_interface_b ())
-       axis_group (staffline_p_).add_element (elts_[i]);
+      if (!par || !Axis_group_interface (par).has_interface_b ())
+       Axis_group_interface (staffline_p_).add_element (elts_[i]);
     }
   elts_.clear ();
 }
index 0ddf8481b7476d78f75d3879d4bb4932b1768e49..0745e3fe640eafda4bb9fd62e56fb3a9fc0e4c00 100644 (file)
@@ -8,6 +8,7 @@
  */
 
 #include "grace-align-item.hh"
+#include "align-interface.hh"
 #include "lookup.hh"
 #include "paper-column.hh"
 #include "paper-def.hh"
@@ -15,7 +16,8 @@
 Grace_align_item::Grace_align_item ()
 {
   set_elt_property ("stacking-dir", gh_int2scm (RIGHT));
-  set_axis (X_AXIS);
+  Align_interface (this).set_interface();
+  Align_interface (this).set_axis (X_AXIS);
 }
   
 void
@@ -28,10 +30,6 @@ Grace_align_item::before_line_breaking ()
                    gh_cons (gh_double2scm (nhw* 1.5),
                             gh_double2scm (infinity_f)));
   column_l ()->set_elt_property ("contains-grace", SCM_BOOL_T);
-
-  
-  Axis_align_item::before_line_breaking ();
-  //  translate_axis (-0.5* nhw, X_AXIS); // ugh.
 }
 
 
index f2f99b0411b684bdac74c18934c4581952473da2..f790997d85104d7a2eb1bc134cfeab0a15f77f18 100644 (file)
 class Axis_group_engraver : public Engraver
 {
 protected:
-  Axis_group_spanner *staffline_p_;
+  Spanner *staffline_p_;
   Link_array<Score_element> elts_;
 
   virtual void do_creation_processing();
   virtual void do_removal_processing();
   virtual void acknowledge_element (Score_element_info);
   virtual void process_acknowledged ();
-  virtual Axis_group_spanner* get_spanner_p () const;
+  virtual Spanner* get_spanner_p () const;
 public:
   VIRTUAL_COPY_CONS(Translator);
   
index 791e104f0066590309ccbeb4a88efa2992cb942f..c9a5aa16321c4c08c9698c68ab9440b25c8c4759 100644 (file)
 #ifndef BREAK_ALIGN_ITEM_HH
 #define BREAK_ALIGN_ITEM_HH
 
-#include "axis-align-item.hh"
+#include "item.hh"
 
 /// align breakable items (clef, bar, etc.)
-class Break_align_item : public Axis_align_item {
-
-
+class Break_align_item : public Item
+{
 protected:
   virtual void before_line_breaking ();
 public:
index 82992a29a87f071e3cf352caa2d06a42159bab41..93eeb8feb7f160a206ef26a0110ce35c4410d97a 100644 (file)
@@ -15,7 +15,7 @@
 class Hara_kiri_engraver : public Axis_group_engraver
 {
 protected:
-  virtual Axis_group_spanner*get_spanner_p ()const;
+  virtual Spanner*get_spanner_p ()const;
   virtual void acknowledge_element (Score_element_info);
 public:
   VIRTUAL_COPY_CONS(Translator);
index 72a10c72a5b9cd5e08b4b9d915fdf9d821c40618..b5db361da42609695cc8e8ac041246878c0c08bd 100644 (file)
@@ -20,7 +20,7 @@
   */
 class Line_group_engraver_group : public Engraver_group_engraver {
 protected:
-  Axis_group_spanner *staffline_p_;   
+  Spanner *staffline_p_;   
 
   virtual void create_line_spanner ();
   virtual void do_creation_processing();
index 2c2d48d9ad901edb1cc997a92a11c31f8b01a02a..b4244c668e1872fb90da77f87911cfcc1798c6e9 100644 (file)
@@ -8,11 +8,26 @@
 #include "translator-group.hh"
 #include "axis-group-engraver.hh"
 #include "paper-column.hh"
-#include "vertical-align-engraver.hh"
-#include "axis-align-spanner.hh"
-#include "axis-group-spanner.hh"
+#include "align-interface.hh"
 #include "span-bar.hh"
 #include "axis-group-interface.hh"
+#include "engraver.hh"
+#include "spanner.hh"
+
+class Vertical_align_engraver : public Engraver {
+  Spanner * valign_p_;
+  bool qualifies_b (Score_element_info) const;  
+public:
+  VIRTUAL_COPY_CONS(Translator);
+  
+  Vertical_align_engraver();
+protected:
+  
+  virtual void acknowledge_element (Score_element_info);
+  virtual void do_creation_processing();
+  virtual void do_removal_processing();
+};
+
 
 Vertical_align_engraver::Vertical_align_engraver()
 {
@@ -22,9 +37,11 @@ Vertical_align_engraver::Vertical_align_engraver()
 void
 Vertical_align_engraver::do_creation_processing()
 {
-  valign_p_ =new Axis_align_spanner;
-  valign_p_->set_axis (Y_AXIS);
-  valign_p_->set_elt_property ("stacking-dir",  gh_int2scm (DOWN));
+  valign_p_ =new Spanner; //Axis_align_spanner
+  Align_interface (valign_p_).set_interface ();
+  Align_interface (valign_p_).set_axis (Y_AXIS);
+  valign_p_->set_elt_property ("stacking-dir",
+                              gh_int2scm (DOWN));
   
   valign_p_->set_bound(LEFT,get_staff_info().command_pcol_l ());
   announce_element (Score_element_info (valign_p_ , 0));
@@ -67,10 +84,11 @@ Vertical_align_engraver::acknowledge_element (Score_element_info i)
 {
   if (qualifies_b (i))
     {
-      valign_p_->add_element (i.elem_l_);
+      Align_interface(valign_p_).add_element (i.elem_l_);
     }
   /*
-    ? huh
+     Add make sure spanbars (whose size depends on vertical alignment)
+     depend on the vertical alignment element
    */
   else if (dynamic_cast<Span_bar*>(i.elem_l_) && i.origin_trans_l_arr (this).size ())
     {