-
-LY_DEFINE (ly_stencil_fonts, "ly:stencil-fonts",
- 1, 0, 0, (SCM s),
- " Analyse @var{s}, and return a list of fonts used in @var{s}.")
-{
- Stencil *stil = unsmob_stencil (s);
- SCM_ASSERT_TYPE (stil, s, SCM_ARG1, __FUNCTION__, "Stencil");
- return find_expression_fonts (stil->expr ());
-}
-
-struct Stencil_interpret_arguments
-{
- SCM func;
- SCM arg1;
-};
-
-void stencil_interpret_in_scm (void *p, SCM expr)
-{
- Stencil_interpret_arguments *ap = (Stencil_interpret_arguments*) p;
- scm_call_2 (ap->func, ap->arg1, expr);
-}
-
-
-
-LY_DEFINE (ly_interpret_stencil_expression, "ly:interpret-stencil-expression",
- 4, 0, 0, (SCM expr, SCM func, SCM arg1, SCM offset),
- "Parse EXPR, feed bits to FUNC with first arg ARG1")
-{
- SCM_ASSERT_TYPE (ly_c_procedure_p(func), func, SCM_ARG1, __FUNCTION__,
- "procedure");
-
- Stencil_interpret_arguments a;
- a.func = func;
- a.arg1 = arg1;
- Offset o = ly_scm2offset (offset);
-
- interpret_stencil_expression (expr, stencil_interpret_in_scm, (void*) &a, o);
-
- return SCM_UNSPECIFIED;
-}
-