]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/script.cc
patch::: 1.1.37.mb2: Re: LilyPond 1.1.37
[lilypond.git] / lily / script.cc
index ee525907ae929e1fb27a75f18d3c95244219be0f..85f3c28e058f26ecbf2800ef7a0357b63596e35e 100644 (file)
@@ -3,9 +3,9 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c)  1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c)  1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
-#include "script-def.hh"
+#include "general-script-def.hh"
 #include "musical-request.hh"
 #include "paper-def.hh"
 #include "script.hh"
@@ -22,12 +22,12 @@ Script::do_print () const
 }
 
 void
-Script::do_substitute_dependency (Score_element*o,Score_element*n)
+Script::do_substitute_element_pointer (Score_element*o,Score_element*n)
 {
-  Staff_side::do_substitute_dependency (o,n);
+  Staff_side::do_substitute_element_pointer (o,n);
   if (o == stem_l_)
     {
-      stem_l_ = n ? (Stem*)dynamic_cast <Item *> (n) : 0;
+      stem_l_ = dynamic_cast<Stem *> (n);
     }
 }
 
@@ -44,7 +44,6 @@ Script::Script ()
   axis_ = Y_AXIS;
   specs_p_ = 0;
   stem_l_ = 0;
-  postbreak_only_b_ = true;
   dir_ =  CENTER;
 }
 
@@ -73,19 +72,13 @@ Script::set_default_dir ()
 Interval
 Script::do_width () const
 {
-  return specs_p_->get_atom (paper (), dir_).extent ().x ();
+  return specs_p_->get_molecule (paper_l (), dir_).extent ().x ();
 }
 
 void
 Script::do_pre_processing ()
 {
   Staff_side::do_pre_processing ();
-  if (breakable_b_ && postbreak_only_b_ && (break_status_dir () != RIGHT))
-    {
-      transparent_b_ = true;
-      set_empty (true);
-    }
-  
   if (axis_ == Y_AXIS && !dir_)
     set_default_dir ();
 }
@@ -93,28 +86,23 @@ Script::do_pre_processing ()
 Interval
 Script::symbol_height () const
 {
-  return specs_p_->get_atom (paper (), dir_).extent ().y ();
+  return specs_p_->get_molecule (paper_l (), dir_).extent ().y ();
 }
 
-Interval
-Script::symbol_width () const
-{
-  return specs_p_->width (paper ());
-}
 
 Molecule*
-Script::brew_molecule_p () const
+Script::do_brew_molecule_p () const
 {
   Real dx =0.;
 
-  Molecule*mol_p = new Molecule (specs_p_->get_atom (paper (), dir_));
+  Molecule*mol_p = new Molecule (specs_p_->get_molecule (paper_l (), dir_));
   /*
     ugh, staccato dots are not centred between stafflines (how?)?
   */
   Real correct =0.0;
   if (axis_ == Y_AXIS){
-    dx =  paper ()->note_width ()/2;
-    correct = - (Real)dir_ * 2.0 * paper ()->rule_thickness ();
+    dx =  paper_l ()->note_width ()/2;
+    correct = - (Real)dir_ * 2.0 * paper_l ()->rule_thickness ();
     mol_p->translate_axis (dx, X_AXIS);        // FIXME! ugh
   }
   
@@ -124,7 +112,7 @@ Script::brew_molecule_p () const
 }
 
 
-IMPLEMENT_IS_TYPE_B2 (Script,Item,Staff_side);
+
 
 int
 Script::compare (Script  *const&l1, Script *const&l2)
@@ -142,6 +130,5 @@ Script::Script (Script const&s)
 {
   specs_p_ = s.specs_p_ ? s.specs_p_->clone (): 0;
   stem_l_ =s.stem_l_;
-  postbreak_only_b_ = s.postbreak_only_b_;
 }