"Return a copy of @var{stil} but translated by @var{amount} in @var{axis} direction.")
{
Stencil *s = unsmob_stencil (stil);
- LY_ASSERT_FIRST_SMOB(Stencil, stil);
- LY_ASSERT_TYPE(scm_is_number, 2);
+ LY_ASSERT_SMOB (Stencil, stil, 1);
+ LY_ASSERT_TYPE(scm_is_number,amount, 2);
+ LY_ASSERT_TYPE(is_axis,axis, 3);
Real real_amount = scm_to_double (amount);
-#if 0
- SCM_ASSERT_TYPE (!isinf (real_amount) && !isnan (real_amount),
- amount, SCM_ARG2, __FUNCTION__, "finite number");
-#endif
-
- LY_ASSERT_TYPE(is_axis, 3);
-
SCM new_s = s->smobbed_copy ();
Stencil *q = unsmob_stencil (new_s);
q->translate_axis (real_amount, Axis (scm_to_int (axis)));
"but translated by @var{offset} (a pair of numbers).")
{
Stencil *s = unsmob_stencil (stil);
- LY_ASSERT_FIRST_SMOB(Stencil, stil);
- LY_ASSERT_TYPE(is_number_pair, 2);
+ LY_ASSERT_SMOB (Stencil, stil, 1);
+ LY_ASSERT_TYPE(is_number_pair, offset, 2);
Offset o = ly_scm2offset (offset);
SCM new_s = s->smobbed_copy ();
"Return the expression of @var{stil}.")
{
Stencil *s = unsmob_stencil (stil);
- LY_ASSERT_FIRST_SMOB(Stencil, stil);
+ LY_ASSERT_SMOB (Stencil, stil, 1);
return s->expr ();
}
"@var{axis} direction (0 or 1 for x and y axis respectively).")
{
Stencil *s = unsmob_stencil (stil);
- LY_ASSERT_FIRST_SMOB(Stencil, stil);
- LY_ASSERT_TYPE(is_axis, 2);
+ LY_ASSERT_SMOB (Stencil, stil, 1);
+ LY_ASSERT_TYPE(is_axis, axis, 2);
return ly_interval2scm (s->extent (Axis (scm_to_int (axis))));
}
"Return whether @var{stil} is empty ")
{
Stencil *s = unsmob_stencil (stil);
- LY_ASSERT_FIRST_SMOB(Stencil, stil);
+ LY_ASSERT_SMOB (Stencil, stil, 1);
return scm_from_bool (s->is_empty ());
}
Stencil *s2 = unsmob_stencil (second);
Stencil result;
- LY_FUNC_NOTE_FIRST_ARG(first);
SCM_ASSERT_TYPE (s1 || first == SCM_BOOL_F || first == SCM_EOL,
first, SCM_ARG1, __FUNCTION__, "Stencil, #f or ()");
SCM_ASSERT_TYPE (s2 || second == SCM_BOOL_F || second == SCM_EOL,
second, SCM_ARG4, __FUNCTION__, "Stencil, #f or ()");
- LY_ASSERT_TYPE(is_axis, 2);
- LY_ASSERT_TYPE(is_direction, 3);
+ LY_ASSERT_TYPE(is_axis, axis, 2);
+ LY_ASSERT_TYPE(is_direction, direction, 3);
Real p = 0.0;
if (padding != SCM_UNDEFINED)
{
- LY_ASSERT_TYPE(scm_is_number, 5);
+ LY_ASSERT_TYPE(scm_is_number, padding, 5);
p = scm_to_double (padding);
}
Real m = 0.0;
if (minimum != SCM_UNDEFINED)
{
- LY_ASSERT_TYPE(scm_is_number, 6);
+ LY_ASSERT_TYPE(scm_is_number, minimum, 6);
m = scm_to_double (minimum);
}
"If the extents are unspecified, they are taken to be empty."
)
{
- LY_FUNC_NOTE_FIRST_ARG (expr);
SCM_ASSERT_TYPE (!scm_is_pair (expr)
|| is_stencil_head (scm_car (expr)),
expr, SCM_ARG1, __FUNCTION__, "registered stencil expression");
Interval x;
if (xext != SCM_UNDEFINED)
{
- LY_ASSERT_TYPE(is_number_pair, 2);
+ LY_ASSERT_TYPE(is_number_pair, xext, 2);
x = ly_scm2interval (xext);
}
Interval y;
if (yext != SCM_UNDEFINED)
{
- LY_ASSERT_TYPE(is_number_pair, 3);
+ LY_ASSERT_TYPE(is_number_pair,yext, 3);
y = ly_scm2interval (yext);
}
"@var{dir} is a number -1, 1 are left and right respectively. "
"Other values are interpolated (so 0 means the center).")
{
- LY_ASSERT_FIRST_SMOB(Stencil, stil);
- LY_ASSERT_TYPE(is_axis, 2);
- LY_ASSERT_TYPE(scm_is_number, 3);
+ LY_ASSERT_SMOB (Stencil, stil, 1);
+ LY_ASSERT_TYPE(is_axis,axis, 2);
+ LY_ASSERT_TYPE(scm_is_number, dir, 3);
Stencil target = *unsmob_stencil (stil);
1, 0, 0, (SCM s),
" Analyse @var{s}, and return a list of fonts used in @var{s}.")
{
- LY_ASSERT_FIRST_SMOB (Stencil, s);
+ LY_ASSERT_SMOB (Stencil, s, 1);
Stencil *stil = unsmob_stencil (s);
return find_expression_fonts (stil->expr ());
}
4, 0, 0, (SCM stc, SCM r, SCM g, SCM b),
"Put @var{stc} in a different color.")
{
- LY_ASSERT_FIRST_SMOB (Stencil, stc);
+ LY_ASSERT_SMOB (Stencil, stc, 1);
Stencil *stil = unsmob_stencil (stc);
return Stencil (stil->extent_box (),
scm_list_3 (ly_symbol2scm ("color"),
4, 0, 0, (SCM expr, SCM func, SCM arg1, SCM offset),
"Parse EXPR, feed bits to FUNC with first arg ARG1")
{
- LY_FUNC_NOTE_FIRST_ARG(expr);
- LY_ASSERT_TYPE (ly_is_procedure, 2);
+ LY_ASSERT_TYPE (ly_is_procedure, func, 2);
Stencil_interpret_arguments a;
a.func = func;
"given by @var{iv}. The wings protude by an amount of @var{p}, which "
"may be negative. The thickness is given by @var{t}.")
{
- LY_ASSERT_FIRST_TYPE(is_axis, a);
- LY_ASSERT_TYPE(is_number_pair, 2);
- LY_ASSERT_TYPE(scm_is_number, 3);
- LY_ASSERT_TYPE(scm_is_number, 4);
+ LY_ASSERT_TYPE (is_axis, a, 1);
+ LY_ASSERT_TYPE(is_number_pair,iv, 2);
+ LY_ASSERT_TYPE(scm_is_number, t,3);
+ LY_ASSERT_TYPE(scm_is_number, p,4);
return Lookup::bracket ((Axis)scm_to_int (a), ly_scm2interval (iv),
scm_to_double (t),
"Return a @var{stil} rotated @var{angle} degrees around point (@var{x}, @var{y}).")
{
Stencil *s = unsmob_stencil (stil);
- LY_ASSERT_FIRST_SMOB(Stencil, stil);
- LY_ASSERT_TYPE(scm_is_number, 2);
- LY_ASSERT_TYPE(scm_is_number, 3);
- LY_ASSERT_TYPE(scm_is_number, 4);
+ LY_ASSERT_SMOB (Stencil, stil, 1);
+ LY_ASSERT_TYPE(scm_is_number,angle, 2);
+ LY_ASSERT_TYPE(scm_is_number, x,3);
+ LY_ASSERT_TYPE(scm_is_number, y, 4);
Real a = scm_to_double (angle);
Real x_off = scm_to_double (x);
Real y_off = scm_to_double (y);
"that prints a black box of dimensions @var{xext}, "
"@var{yext} and roundness @var{blot}.")
{
- LY_ASSERT_FIRST_TYPE(is_number_pair, xext);
- LY_ASSERT_TYPE(is_number_pair, 2);
- LY_ASSERT_TYPE(scm_is_number, 3);
+ LY_ASSERT_TYPE (is_number_pair, xext, 1);
+ LY_ASSERT_TYPE(is_number_pair, yext, 2);
+ LY_ASSERT_TYPE(scm_is_number, blot, 3);
return Lookup::round_filled_box (Box (ly_scm2interval (xext), ly_scm2interval (yext)),
scm_to_double (blot)).smobbed_copy ();
(SCM symbol),
"Add @var{symbol} as head of a stencil expression")
{
- LY_ASSERT_FIRST_TYPE(ly_is_symbol, symbol);
+ LY_ASSERT_TYPE (ly_is_symbol, symbol, 1);
register_stencil_head (symbol);
return SCM_UNSPECIFIED;
}