]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/stencil-scheme.cc
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / lily / stencil-scheme.cc
index 2669e14808b2ad8f12def8efed9e8d8585008d77..66f182593186240567c0b34a38e71a71565fb075 100644 (file)
@@ -213,37 +213,23 @@ LY_DEFINE (ly_stencil_add, "ly:stencil-add",
 }
 
 LY_DEFINE (ly_make_stencil, "ly:make-stencil",
-          1, 2, 0, (SCM expr, SCM xext, SCM yext),
+          3, 0, 0, (SCM expr, SCM xext, SCM yext),
           " \n"
           "Stencils are a device independent output expressions."
           "They carry two pieces of information: \n\n"
           "1: a specification of how to print this object. "
           "This specification is processed by the output backends, "
           " for example @file{scm/output-ps.scm}.\n\n"
-          "2: the vertical and horizontal extents of the object.\n\n"
-          "If the extents are unspecified, they are taken  to be empty."
-          )
+          "2: the vertical and horizontal extents of the object.\n\n")
 {
   SCM_ASSERT_TYPE (!scm_is_pair (expr)
                   || is_stencil_head (scm_car (expr)),
                   expr, SCM_ARG1, __FUNCTION__, "registered stencil expression");
 
+  SCM_ASSERT_TYPE (is_number_pair (xext), xext, SCM_ARG2, __FUNCTION__, "number pair");
+  SCM_ASSERT_TYPE (is_number_pair (yext), yext, SCM_ARG3, __FUNCTION__, "number pair");
 
-  Interval x; 
-  if (xext != SCM_UNDEFINED)
-    {
-      SCM_ASSERT_TYPE (is_number_pair (xext), xext, SCM_ARG2, __FUNCTION__, "number pair");
-      x = ly_scm2interval (xext);
-    }
-
-  Interval y; 
-  if (yext != SCM_UNDEFINED)
-    {
-      SCM_ASSERT_TYPE (is_number_pair (yext), yext, SCM_ARG3, __FUNCTION__, "number pair");
-      y = ly_scm2interval (yext);
-    }
-
-  Box b (x, y);
+  Box b (ly_scm2interval (xext), ly_scm2interval (yext));
   Stencil s (b, expr);
   return s.smobbed_copy ();
 }