2 This file is part of LilyPond, the GNU music typesetter.
4 Copyright (C) 2010--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
6 LilyPond is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
11 LilyPond is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
20 #include "line-interface.hh"
25 LY_DEFINE (ly_line_interface__line, "ly:line-interface::line",
26 5, 0, 0, (SCM grob, SCM startx, SCM starty, SCM endx, SCM endy),
27 "Make a line using layout information from grob @var{grob}.")
29 LY_ASSERT_SMOB (Grob, grob, 1);
31 Grob *me = unsmob<Grob> (grob);
33 LY_ASSERT_TYPE (scm_is_number, startx, 2);
34 LY_ASSERT_TYPE (scm_is_number, starty, 3);
35 LY_ASSERT_TYPE (scm_is_number, endx, 4);
36 LY_ASSERT_TYPE (scm_is_number, endy, 5);
38 Offset from = Offset (scm_to_double (startx), scm_to_double (starty));
39 Offset to = Offset (scm_to_double (endx), scm_to_double (endy));
41 Stencil stil = Line_interface::line (me, from, to);
43 return stil.smobbed_copy ();