summaryrefslogtreecommitdiff
path: root/lily/stencil-interpret.cc
diff options
context:
space:
mode:
authorErlend Aasland <erlenda@gmail.com>2006-05-14 14:06:37 +0000
committerErlend Aasland <erlenda@gmail.com>2006-05-14 14:06:37 +0000
commit68d7330f72a14a8df49c49ed1566179248096092 (patch)
tree606d78a6bbf4c38908908d4e7c90175558afd061 /lily/stencil-interpret.cc
parent3027a3f656baf9bcc8d9719da2a2feb9ba632599 (diff)
Add rotation support
Diffstat (limited to 'lily/stencil-interpret.cc')
-rw-r--r--lily/stencil-interpret.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/lily/stencil-interpret.cc b/lily/stencil-interpret.cc
index 52e9242d0b..e438734536 100644
--- a/lily/stencil-interpret.cc
+++ b/lily/stencil-interpret.cc
@@ -56,6 +56,22 @@ interpret_stencil_expression (SCM expr,
return;
}
+ else if (head == ly_symbol2scm ("rotate-stencil"))
+ {
+ SCM args = scm_cadr (expr);
+ SCM angle = scm_car (args);
+ Offset tmp = o + robust_scm2offset (scm_cadr (args), Offset (0.0, 0.0));
+
+ SCM offset = ly_offset2scm (tmp);
+ SCM x = scm_car (offset);
+ SCM y = scm_cdr (offset);
+
+ (*func) (func_arg, scm_list_4 (ly_symbol2scm ("setrotation"), angle, x, y));
+ interpret_stencil_expression (scm_caddr (expr), func, func_arg, o);
+ (*func) (func_arg, scm_list_4 (ly_symbol2scm ("resetrotation"), angle, x, y));
+
+ return;
+ }
else
{
(*func) (func_arg,