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"
}
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);
}
}
axis_ = Y_AXIS;
specs_p_ = 0;
stem_l_ = 0;
- postbreak_only_b_ = true;
dir_ = CENTER;
}
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 ();
}
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
}
}
-IMPLEMENT_IS_TYPE_B2 (Script,Item,Staff_side);
+
int
Script::compare (Script *const&l1, Script *const&l2)
{
specs_p_ = s.specs_p_ ? s.specs_p_->clone (): 0;
stem_l_ =s.stem_l_;
- postbreak_only_b_ = s.postbreak_only_b_;
}