X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fskyline-pair.hh;h=f7946c1851d50123979a6dd2623e62b90609ae32;hb=8b35a2c2364736bb2ea827b963b05424e366e410;hp=08fe3c769e05a9c258b303b1840ca0669042e9bd;hpb=19e6facfeb5c2809ea8099bfaa81339cc44b04b3;p=lilypond.git diff --git a/lily/include/skyline-pair.hh b/lily/include/skyline-pair.hh index 08fe3c769e..f7946c1851 100644 --- a/lily/include/skyline-pair.hh +++ b/lily/include/skyline-pair.hh @@ -1,10 +1,20 @@ -/* - skyline-pair.hh -- declare Skyline_pair - - source file of the GNU LilyPond music typesetter - - (c) 2008 Han-Wen Nienhuys - +/* + This file is part of LilyPond, the GNU music typesetter. + + Copyright (C) 2008--2015 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 . */ #ifndef SKYLINE_PAIR_HH @@ -12,25 +22,33 @@ #include "skyline.hh" -class Skyline_pair +class Skyline_pair : public Simple_smob { +public: + static const char * const type_p_name_; private: Drul_array skylines_; - DECLARE_SIMPLE_SMOBS(Skyline_pair); public: Skyline_pair (); - Skyline_pair (vector const &boxes, Real horizon_padding, Axis a); - Skyline_pair (Box const &, Real horizon_padding, Axis a); + Skyline_pair (vector const &boxes, Axis a); + Skyline_pair (vector > const &buildings, Axis a); + Skyline_pair (vector const &skypairs); + Skyline_pair (Box const &, Axis a); + + Real left () const; + Real right () const; void raise (Real); void shift (Real); - void insert (Box const &, Real horizon_padding, Axis); + void insert (Box const &, Axis); void merge (Skyline_pair const &other); Skyline &operator [] (Direction d); Skyline const &operator [] (Direction d) const; bool is_empty () const; void print () const; void print_points () const; + + DECLARE_SCHEME_CALLBACK (skyline, (SCM, SCM)); }; #endif /* SKYLINE_PAIR_HH */