]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/grace-align-item.cc
patch::: 1.3.54.hwn2
[lilypond.git] / lily / grace-align-item.cc
index 49739fdad722191016b34c7f1aa8b245d894c86a..73ef013c07ff941277beb69c888f305ad2d33817 100644 (file)
@@ -3,40 +3,39 @@
   
   source file of the GNU LilyPond music typesetter
   
-  (c) 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1999--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
   
  */
 
 #include "grace-align-item.hh"
+#include "align-interface.hh"
 #include "lookup.hh"
 #include "paper-column.hh"
+#include "paper-def.hh"
 
 Grace_align_item::Grace_align_item ()
 {
-  stacking_dir_ = RIGHT;
-  set_axis (X_AXIS);
+  set_elt_property ("stacking-dir", gh_int2scm (RIGHT));
+  Align_interface (this).set_interface();
+  Align_interface (this).set_axis (X_AXIS);
 }
-  
+
+/*
+  TODO: cfg-able
+ */
 void
-Grace_align_item::do_pre_processing ()
+Grace_align_item::before_line_breaking ()
 {
-  Real nhw = lookup_l ()->notehead (2, "").dim_[X_AXIS].length();
-  threshold_interval_[MIN] = nhw* 1.5;
-  column_l ()->set_elt_property ("contains-grace", SCM_BOOL_T);
-
+  Real nhw = // lookup_l ()->notehead (2, "")..extent (X_AXIS).length();
+    paper_l ()->get_var ("quartwidth");
   
-  Axis_align_item::do_pre_processing ();
-  Note_head_side::do_pre_processing ();
-
-  translate_axis (-0.5* nhw, X_AXIS); // ugh.
+  set_elt_property ("threshold",
+                   gh_cons (gh_double2scm (nhw* 1.5),
+                            gh_double2scm (infinity_f)));
+  column_l ()->set_elt_property ("contains-grace", SCM_BOOL_T);
 }
 
-void
-Grace_align_item::do_substitute_element_pointer (Score_element*o, Score_element*n)
-{
-  Axis_align_item::do_substitute_element_pointer (o,n);
-  Note_head_side::do_substitute_element_pointer( o,n);
-}
+
 void
 Grace_align_item::do_add_processing ()
 {