/// do calculations before determining horizontal spacing
virtual void do_pre_processing();
+ /// generate rods & springs
+ virtual void do_space_processing ();
+
virtual void do_breakable_col_processing();
/// do calculations after determining horizontal spacing
virtual void do_post_processing();
#include "outputter.hh"
// sucking Cygnus egcs - w32
-#include "plist.tcc"
-#include "pcursor.tcc"
+#include "list.tcc"
+#include "cursor.tcc"
Paper_score::Paper_score ()
{
*mlog << _("Preprocessing elements... ") <<flush;
super_elem_l_->breakable_col_processing ();
super_elem_l_->pre_processing ();
+
*mlog << _("\nCalculating column positions ... ") <<flush;
+ super_elem_l_->space_processing ();
calc_breaking ();
*mlog << _("\nPostprocessing elements...") << endl;
super_elem_l_->post_processing ();
{
}
+void
+Score_elem::do_space_processing ()
+{
+}
+
void
Score_elem::do_add_processing()
{
PREBROKEN,
PRECALCING,
PRECALCED, // calcs before spacing done
+ SPACING,
+ SPACED,
BROKEN,
POSTCALCING, // busy calculating. This is used to trap cyclic deps.
POSTCALCED, // after spacing calcs done
calcalute_dependencies (PRECALCING, PRECALCED, &Score_elem::do_pre_processing);
}
+void
+Super_elem::space_processing ()
+{
+ calcalute_dependencies (SPACING, SPACED, &Score_elem::do_space_processing);
+}
+
/* for break processing, use only one status, because copies have to
have correct status. (Previously,
Score_elem::handle_[pre]broken_dependencies assigned to status_i_