]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.59
authorfred <fred>
Sun, 24 Mar 2002 19:42:05 +0000 (19:42 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:42:05 +0000 (19:42 +0000)
lily/.version
lily/bow.cc [new file with mode: 0644]

index 04ee1d9883514b45db366c9e9a29a058bda97e05..81bb5a3ffcce1b09d42c2bc8b1cee3a169914e8d 100644 (file)
@@ -1,8 +1,8 @@
 MAJOR_VERSION = 0
 MINOR_VERSION = 0
-PATCH_LEVEL = 58
+PATCH_LEVEL = 59
 
 # use to send patches, always empty for released version:
 # include separator: ".postfix", "-pl" makes rpm barf
 
-MY_PATCH_LEVEL = .jcn3
+MY_PATCH_LEVEL = 
diff --git a/lily/bow.cc b/lily/bow.cc
new file mode 100644 (file)
index 0000000..5e46340
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+  bow.cc -- implement Bow
+
+  source file of the LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+#include "bow.hh"
+#include "paper-def.hh"
+#include "lookup.hh"
+
+Bow::Bow()
+{
+    left_pos_i_ = right_pos_i_ = 0;
+    left_dx_f_ = right_dx_f_ = 0.0;
+}
+
+
+Offset
+Bow::center() const
+{
+    int dy =  right_pos_i_-left_pos_i_;
+
+    Real w = width().length();
+
+    return Offset(w/2,dy * paper()->internote());
+}
+
+Molecule*
+Bow::brew_molecule_p() const
+{
+    Molecule*output = new Molecule;
+    Real w = width().length();
+    
+    int dy = right_pos_i_ - left_pos_i_;
+    
+    Real nw_f = paper()->note_width();
+    Real nh_f = paper()->internote();
+
+    
+    w+= (right_dx_f_ - left_dx_f_) * nw_f ;
+    Real round_w = w;          // slur lookup rounds the slurwidth .
+    
+    Symbol sl = paper()->lookup_l()->slur(dy , round_w, dir_i_);
+
+    Real error = w-round_w;
+    
+    Atom a(sl);
+    a.translate(Offset((left_dx_f_ + 0.5 )*nw_f + error/2,
+                      left_pos_i_ * nh_f));
+    output->add(a);
+    return output;
+}
+
+IMPLEMENT_STATIC_NAME(Bow);