*/
#include <math.h> // ceil
-
+#include "axis-group-interface.hh"
#include "dot-column.hh"
#include "note-column.hh"
#include "beam.hh"
{
set_elt_property ("rests", SCM_EOL);
set_elt_property ("note-heads", SCM_EOL);
- set_axes (X_AXIS, Y_AXIS);
+ Axis_group_interface (this).set_interface ();
+ Axis_group_interface (this).set_axes (X_AXIS, Y_AXIS);
+ Group_interface (this, "interfaces").add_thing (ly_symbol2scm ("Note_column"));
}
Stem *
set_elt_property ("stem", stem_l->self_scm_);
add_dependency (stem_l);
- add_element (stem_l);
+ Axis_group_interface (this).add_element (stem_l);
}
Group_interface gi (this, "note-heads");
gi.add_element (nh);
}
- add_element (h);
+ Axis_group_interface (this).add_element (h);
}
/**
void
Note_column::set_dotcol (Dot_column *d)
{
- add_element (d);
+ Axis_group_interface (this).add_element (d);
}
/*
*/
void
-Note_column::do_post_processing ()
+Note_column::after_line_breaking ()
{
if (!stem_l () || !rest_b ())
return;
beam_y = gh_scm2double (s);
- Real x0 = b->first_visible_stem ()->hpos_f ();
- Real dx = b->last_visible_stem ()->hpos_f () - x0;
+ Real x0 = b->first_visible_stem ()->relative_coordinate (0, X_AXIS);
+ Real dx = b->last_visible_stem ()->relative_coordinate (0, X_AXIS) - x0;
Real dydx = beam_dy && dx ? beam_dy/dx : 0;
Direction d = stem_l ()->get_direction ();
- Real beamy = (stem_l ()->hpos_f () - x0) * dydx + beam_y;
+ Real beamy = (stem_l ()->relative_coordinate (0, X_AXIS) - x0) * dydx + beam_y;
s = get_elt_property ("rests");
Score_element * se = unsmob_element (gh_car (s));