X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fbox.hh;h=d4a8655a429b0cf965364132871cf2b7f9c3b054;hb=2bbacb364aa29041af9cbbbd32cfad2e8e387cb3;hp=f08dea2ca294f92a0783a8931dc8d3554e731f42;hpb=4bb29573149a0ffa1f881c5e38a0fe68e9e76b67;p=lilypond.git diff --git a/lily/include/box.hh b/lily/include/box.hh index f08dea2ca2..d4a8655a42 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 * const 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