/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 2005--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
interpret_stencil_expression (scm_force (scm_cadr (expr)), func, func_arg, o);
return;
}
+ if (head == ly_symbol2scm ("footnote"))
+ return;
if (head == ly_symbol2scm ("translate-stencil"))
{
o += ly_scm2offset (scm_cadr (expr));
interpret_stencil_expression (scm_caddr (expr), func, func_arg, o);
(*func) (func_arg, scm_list_4 (ly_symbol2scm ("resetrotation"), angle, x, y));
+ return;
+ }
+ else if (head == ly_symbol2scm ("scale-stencil"))
+ {
+ SCM args = scm_cadr (expr);
+ SCM x_scale = scm_car (args);
+ SCM y_scale = scm_cadr (args);
+ Offset unscaled = o.scale (Offset (1 / scm_to_double (x_scale),
+ 1 / scm_to_double (y_scale)));
+
+ (*func) (func_arg, scm_list_3 (ly_symbol2scm ("setscale"), x_scale,
+ y_scale));
+ interpret_stencil_expression (scm_caddr (expr), func, func_arg,
+ unscaled);
+ (*func) (func_arg, scm_list_1 (ly_symbol2scm ("resetscale")));
+
return;
}
else