X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fbox.cc;h=7b80d67f153461a7c3a4fab58b2eac7cd6bde93c;hb=0f2133cac2c3400eb883b5a00e5bb4fd98bb38a6;hp=bd15a691f9aeeda9a5483874d54e3d068dc05dbf;hpb=58bcc84c9480dae1b21bc24d8396b91fe19e0131;p=lilypond.git diff --git a/lily/box.cc b/lily/box.cc index bd15a691f9..7b80d67f15 100644 --- a/lily/box.cc +++ b/lily/box.cc @@ -1,13 +1,23 @@ /* - box.cc -- implement Box + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 1996--2010 Han-Wen Nienhuys - (c) 1996--2005 Han-Wen Nienhuys + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #include "box.hh" -#include "array.hh" void Box::translate (Offset o) @@ -23,9 +33,6 @@ Box::unite (Box b) interval_a_[i].unite (b[i]); } -/** - Initialize to empty. -*/ Box::Box () { } @@ -44,13 +51,13 @@ Box::Box (Interval ix, Interval iy) } Interval & -Box::operator[] (Axis a) +Box::operator [] (Axis a) { return interval_a_[a]; } Interval -Box::operator[] (Axis a) const +Box::operator [] (Axis a) const { return interval_a_[a]; } @@ -82,3 +89,24 @@ Box::widen (Real x, Real y) interval_a_[X_AXIS].widen (x); interval_a_[Y_AXIS].widen (y); } + +/****************************************************************/ + +#include "ly-smobs.icc" + +IMPLEMENT_SIMPLE_SMOBS (Box); +IMPLEMENT_TYPE_P (Box, "ly:box?"); +IMPLEMENT_DEFAULT_EQUAL_P (Box); + +SCM +Box::mark_smob (SCM /* x */) +{ + return SCM_EOL; +} + +int +Box::print_smob (SCM /* x */, SCM p, scm_print_state*) +{ + scm_puts ("#", p); + return 1; +}