]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/script-def.cc
release: 1.0.1
[lilypond.git] / lily / script-def.cc
index 38b2608f25bf149ab604735903f7275ddf699f45..05074c7107993dd4e4663d4f5aa2cb4e19c2995c 100644 (file)
@@ -3,34 +3,34 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+  (c) 1996, 1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 #include "debug.hh"
 #include "script-def.hh"
-#include "symbol.hh"
+#include "atom.hh"
 #include "paper-def.hh"
 #include "lookup.hh"
 
 Script_def::Script_def()
 {
-    inside_staff_b_ = false;
-    symidx_str_ = "unknown" ;
-    rel_stem_dir_i_ =0;
-    staff_dir_i_ = -1;
-    invertsym_b_ = 0;
-    priority_i_ =0;
+  inside_staff_b_ = false;
+  symidx_str_ = "unknown" ;
+  rel_stem_dir_ =CENTER;
+  staff_dir_ = DOWN;
+  invertsym_b_ = 0;
+  priority_i_ =0;
 }
 
 void
-Script_def::set_from_input(String idx,  bool follow, int stem, int staff ,bool invert, int priority_i)
+Script_def::set_from_input (String idx,  bool follow, int stem, int staff ,bool invert, int priority_i)
 {
-    inside_staff_b_ = follow;
-    symidx_str_ = idx ;
-    rel_stem_dir_i_ =stem;
-    staff_dir_i_ = staff;
-    invertsym_b_ = invert;
-    priority_i_ =priority_i;
+  inside_staff_b_ = follow;
+  symidx_str_ = idx ;
+  rel_stem_dir_ =Direction(stem);
+  staff_dir_ = Direction(staff);
+  invertsym_b_ = invert;
+  priority_i_ =priority_i;
 }
 
 
@@ -38,57 +38,57 @@ void
 Script_def::do_print() const
 {
 #ifndef NPRINT
-    mtor << "Script_def{ idx: " << symidx_str_ 
-        << " direction, stem: " << rel_stem_dir_i_ << " staff : " << staff_dir_i_ << "}\n";
+  DOUT << "Script_def{ idx: " << symidx_str_ 
+       << " direction, stem: " << rel_stem_dir_ << " staff : " << staff_dir_ << "}\n";
 #endif
 }
 
 bool
-Script_def::do_equal_b(General_script_def const &g)const 
+Script_def::do_equal_b (General_script_def const *g) const 
 {
-    Script_def const & c = (Script_def const&) g;
-    return (symidx_str_ == c.symidx_str_ &&
-            rel_stem_dir_i_ == c.rel_stem_dir_i_&&
-            staff_dir_i_ == c.staff_dir_i_&&
-            invertsym_b_ == c.invertsym_b_);
+  Script_def const * c = (Script_def const*) g;
+  return (symidx_str_ == c->symidx_str_ &&
+         rel_stem_dir_ == c->rel_stem_dir_&&
+         staff_dir_ == c->staff_dir_&&
+         invertsym_b_ == c->invertsym_b_);
 }
 
-int
-Script_def::staff_dir_i() const
+Direction
+Script_def::staff_dir() const
 {
-    return staff_dir_i_; 
+  return staff_dir_; 
 }
 
-int
-Script_def::rel_stem_dir_i() const
+Direction
+Script_def::rel_stem_dir() const
 {
-    return rel_stem_dir_i_; 
+  return rel_stem_dir_; 
 }
 
 bool
 Script_def::inside_b() const
 {
-    return inside_staff_b_; 
+  return inside_staff_b_; 
 }
 
 Atom
-Script_def::get_atom(Paper_def *p , int d)const
+Script_def::get_atom (Paper_def *p , Direction d) const
 {
-    String preidx_str ="";
-    if (invertsym_b_&& d < 0) 
-       preidx_str = "-";
+  String preidx_str ="";
+  if (invertsym_b_)
+    preidx_str = (d < 0)? "d" : "u";
 
-    return p->lookup_l()->script(preidx_str + symidx_str_);
+  return p->lookup_l(0)->script (preidx_str + symidx_str_);
 }
 
-IMPLEMENT_STATIC_NAME(Script_def);
+
 IMPLEMENT_IS_TYPE_B1(Script_def,General_script_def);
 
 int
-Script_def::priority_i()const
+Script_def::priority_i() const
 {
-    return priority_i_;
+  return priority_i_;
 }
        
-    
-    
+  
+