]> git.donarmstrong.com Git - lilypond.git/blob - lily/item-scheme.cc
offsets <-> scm conversion routines
[lilypond.git] / lily / item-scheme.cc
1 /*
2   item-scheme.cc -- implement Item bindings.
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 2005--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
7
8 */
9
10 #include "item.hh"
11
12
13 LY_DEFINE (ly_item_p, "ly:item?",
14            1, 0, 0, (SCM g),
15            "Is @var{g} an @code{Item} object?")
16 {
17   Grob *me = unsmob_grob (g);
18   bool b = dynamic_cast<Item *> (me);
19   return ly_bool2scm (b);
20 }
21
22 LY_DEFINE (ly_item_break_dir, "ly:item-break-dir",
23            1, 0, 0, (SCM it),
24            "The break status dir of item @var{it}. @code{-1} is end of "
25            "line, @code{0} unbroken, and @code{1} begin of line.")
26 {
27   Item *me = dynamic_cast<Item *> (unsmob_grob (it));
28   SCM_ASSERT_TYPE (me, it, SCM_ARG1, __FUNCTION__, "Item");
29   return scm_from_int (me->break_status_dir ());
30 }