diff options
author | Erlend Aasland <erlenda@gmail.com> | 2006-05-14 14:06:37 +0000 |
---|---|---|
committer | Erlend Aasland <erlenda@gmail.com> | 2006-05-14 14:06:37 +0000 |
commit | 68d7330f72a14a8df49c49ed1566179248096092 (patch) | |
tree | 606d78a6bbf4c38908908d4e7c90175558afd061 /lily/stencil-interpret.cc | |
parent | 3027a3f656baf9bcc8d9719da2a2feb9ba632599 (diff) |
Add rotation support
Diffstat (limited to 'lily/stencil-interpret.cc')
-rw-r--r-- | lily/stencil-interpret.cc | 16 |
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, |