source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#ifndef LINE_SPACER_HH
#define LINE_SPACER_HH
#include "lily-proto.hh"
-#include "varray.hh"
+#include "array.hh"
#include "vector.hh"
#include "interval.hh"
{
public:
- Paper_def * paper_l_;
- Paper_def *paper_l()const;
- Line_spacer();
+ Paper_def * paper_l_;
+ Paper_def *paper_l() const;
+ Line_spacer();
- /** solve the spacing problem
- */
- virtual void solve (Col_hpositions *) const=0;
+ /** solve the spacing problem
+ */
+ virtual void solve (Column_x_positions *) const=0;
- /**
- Approximate the spacing problem:
- return a lower bound on the energy
- */
- virtual void lower_bound_solution (Col_hpositions *) const=0;
+ /**
+ Approximate the spacing problem:
+ return a lower bound on the energy
+ */
+ virtual void lower_bound_solution (Column_x_positions *) const=0;
- /** add a col to the problem. columns have to be added left to
- right. The column contains info on it's minimum width. */
- virtual void add_column (PCol *, bool fixed=false, Real fixpos=0.0)=0;
+ /** add a col to the problem. columns have to be added left to
+ right. The column contains info on it's minimum width. */
+ virtual void add_column (Paper_column *, bool fixed=false, Real fixpos=0.0)=0;
- /**
- can the posed problem be solved?
+ /**
+ can the posed problem be solved?
- @pre
+ @pre
- prepare() was called
+ prepare() was called
- */
- virtual bool check_constraints (Vector v) const=0;
+ */
+ virtual bool check_constraints (Vector v) const=0;
- /**
- generate a solution which can't fail
- */
- virtual Vector default_solution() const=0;
+ /**
+ generate a solution which can't fail
+ */
+ virtual Vector default_solution() const=0;
- virtual void OK() const{}
- virtual void print() const{}
+ virtual void OK() const{}
+ virtual void print() const{}
- /**
- Call after construction before solving
- */
- virtual void prepare(){}
+ /**
+ Call after construction before solving
+ */
+ virtual void prepare(){}
+ virtual ~Line_spacer ();
};
#endif