--- /dev/null
+/*
+ general-script-def.cc -- implement General_script_def
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+
+#include "general-script-def.hh"
+#include "debug.hh"
+#include "symbol.hh"
+int
+General_script_def::staff_dir_i()const
+{
+ return -1;
+}
+int
+General_script_def::rel_stem_dir_i()const
+{
+ return 0;
+}
+int
+General_script_def::priority_i()const
+{
+ return 1000;
+}
+
+bool
+General_script_def::inside_b()const
+{
+ return false;
+}
+
+bool
+General_script_def::equal_b(General_script_def const&g)const
+{
+ if (name() != g.name())
+ return false;
+
+ return do_equal_b(g);
+}
+
+bool
+General_script_def::do_equal_b(General_script_def const&)const
+{
+ return true;
+}
+
+
+void
+General_script_def::print() const
+{
+ mtor << name() << "{";
+ do_print();
+ mtor << "}";
+}
+
+void
+General_script_def::do_print() const
+{
+}
+
+Atom
+General_script_def::get_atom(Paper_def*, int)const
+{
+ Symbol s;
+ return Atom(s);
+}
+IMPLEMENT_STATIC_NAME(General_script_def);
+/*
+ text-def.cc -- implement Text_def
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
#include "debug.hh"
#include "lookup.hh"
#include "paper-def.hh"
#include "dimen.hh"
Interval
-Text_def::width() const
+Text_def::width(Paper_def * p) const
{
- Atom a = create_atom();
+ Atom a = get_atom(p,0);
Real guess_width_f = text_str_.length_i() * a.sym.dim.x.length(); // ugh
Interval i(0, guess_width_f);
Text_def::Text_def()
{
align_i_ = 1; // right
- pdef_l_ = 0;
style_str_ = "roman";
}
bool
-Text_def::compare(Text_def const &def)
+Text_def::do_equal_b(Text_def const &def)const
{
return align_i_ == def.align_i_ && text_str_ == def.text_str_
&& style_str_ == def.style_str_;
}
Atom
-Text_def::create_atom() const
+Text_def::get_atom(Paper_def *p, int ) const
{
- return pdef_l_->lookup_l()->text(style_str_, text_str_, -align_i_);
+ return p->lookup_l()->text(style_str_, text_str_, -align_i_);
}
void
mtor << "Text `" << text_str_ << "\', style " <<
style_str_ << "align " << align_i_ << '\n';
}
+IMPLEMENT_STATIC_NAME(Text_def);