Correct left text alignment of DynamicTextSpanner.
[lilypond.git] / lily / include / box.hh
blobbaa4ce0b7645791bd993f0a3b204d3f0a9c8f8e1
1 /*
2 some 2D geometrical concepts
3 */
5 #ifndef BOXES_HH
6 #define BOXES_HH
8 #include "interval.hh"
9 #include "offset.hh"
10 #include "smobs.hh"
12 class Box
14 Interval interval_a_[NO_AXES];
15 DECLARE_SIMPLE_SMOBS (Box);
16 public:
17 Interval &x () {return interval_a_[X_AXIS]; }
18 Interval &y (){ return interval_a_[Y_AXIS]; }
19 Interval x () const{ return interval_a_[X_AXIS]; }
20 Interval y () const{return interval_a_[Y_AXIS]; }
21 Interval operator [] (Axis a) const;
22 Interval &operator [] (Axis a);
24 Offset center () const;
26 void translate (Offset o);
28 /// smallest box enclosing #b#
29 void set_empty ();
30 void add_point (Offset);
31 void widen (Real x, Real y);
32 void scale (Real r);
33 void unite (Box b);
34 Box ();
35 Box (Interval ix, Interval iy);
38 #endif