X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fbox.hh;h=7d5745d6965b757123606d33b4b25edf64dc1779;hb=ec9544e67d66912801c9004f417b00e7867e10b5;hp=f08dea2ca294f92a0783a8931dc8d3554e731f42;hpb=bb8a0a5387af94dd2702877256334b160575a730;p=lilypond.git diff --git a/lily/include/box.hh b/lily/include/box.hh index f08dea2ca2..7d5745d696 100644 --- a/lily/include/box.hh +++ b/lily/include/box.hh @@ -9,10 +9,12 @@ #include "offset.hh" #include "smobs.hh" -class Box +class Box : public Simple_smob { +public: + static const char type_p_name_[]; +private: Interval interval_a_[NO_AXES]; - DECLARE_SIMPLE_SMOBS (Box); public: Interval &x () {return interval_a_[X_AXIS]; } Interval &y () { return interval_a_[Y_AXIS]; } @@ -20,6 +22,9 @@ public: Interval y () const {return interval_a_[Y_AXIS]; } Interval operator [] (Axis a) const; Interval &operator [] (Axis a); + Real area () const; + bool is_empty () const; + bool is_empty (Axis a) const; Offset center () const; @@ -31,8 +36,11 @@ public: void widen (Real x, Real y); void scale (Real r); void unite (Box b); + void intersect (Box b); + void print (); Box (); Box (Interval ix, Interval iy); }; + #endif