]> git.donarmstrong.com Git - lilypond.git/blob - lily/dimensions-scheme.cc
c64b901f8fe2d416b4a3f5c8a7a36dbfea071d32
[lilypond.git] / lily / dimensions-scheme.cc
1 /*
2   dimensions-scheme.cc -- implement Dimension handling
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1997--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
7 */
8
9 #include "lily-guile.hh"
10 #include "dimensions.hh"
11 #include "warn.hh"
12
13 LY_DEFINE (ly_pt, "ly:pt",
14            1, 0, 0, (SCM num),
15            "@var{num} printer points.")
16 {
17   LY_ASSERT_TYPE (scm_is_number, num, 1);
18   return scm_from_double (point_constant
19                           * scm_to_double (num));
20 }
21
22 LY_DEFINE (ly_cm, "ly:cm",
23            1, 0, 0, (SCM num),
24            "@var{num} cm.")
25 {
26   LY_ASSERT_TYPE (scm_is_number, num, 1);
27   return scm_from_double (cm_constant
28                           * scm_to_double (num));
29 }
30
31 LY_DEFINE (ly_inch, "ly:inch",
32            1, 0, 0, (SCM num),
33            "@var{num} inches.")
34 {
35   LY_ASSERT_TYPE (scm_is_number, num, 1);
36   return scm_from_double (inch_constant
37                           * scm_to_double (num));
38 }
39
40 LY_DEFINE (ly_mm, "ly:mm",
41            1, 0, 0, (SCM num),
42            "@var{num} mm.")
43 {
44   LY_ASSERT_TYPE (scm_is_number, num, 1);
45   return scm_from_double (mm_constant
46                           * scm_to_double (num));
47 }
48
49 LY_DEFINE (ly_bp, "ly:bp",
50            1, 0, 0, (SCM num),
51            "@var{num} bigpoints (1/72th inch).")
52 {
53   LY_ASSERT_TYPE (scm_is_number, num, 1);
54   return scm_from_double (bigpoint_constant
55                           * scm_to_double (num));
56 }