LEFT | RIGHT |
1 ;;;; This file is part of LilyPond, the GNU music typesetter. | 1 ;;;; This file is part of LilyPond, the GNU music typesetter. |
2 ;;;; | 2 ;;;; |
3 ;;;; Copyright (C) 2005--2012 Han-Wen Nienhuys <hanwen@xs4all.nl> | 3 ;;;; Copyright (C) 2005--2012 Han-Wen Nienhuys <hanwen@xs4all.nl> |
4 ;;;; | 4 ;;;; |
5 ;;;; LilyPond is free software: you can redistribute it and/or modify | 5 ;;;; LilyPond is free software: you can redistribute it and/or modify |
6 ;;;; it under the terms of the GNU General Public License as published by | 6 ;;;; it under the terms of the GNU General Public License as published by |
7 ;;;; the Free Software Foundation, either version 3 of the License, or | 7 ;;;; the Free Software Foundation, either version 3 of the License, or |
8 ;;;; (at your option) any later version. | 8 ;;;; (at your option) any later version. |
9 ;;;; | 9 ;;;; |
10 ;;;; LilyPond is distributed in the hope that it will be useful, | 10 ;;;; LilyPond is distributed in the hope that it will be useful, |
11 ;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of | 11 ;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 ;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 ;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 ;;;; GNU General Public License for more details. | 13 ;;;; GNU General Public License for more details. |
14 ;;;; | 14 ;;;; |
15 ;;;; You should have received a copy of the GNU General Public License | 15 ;;;; You should have received a copy of the GNU General Public License |
16 ;;;; along with LilyPond. If not, see <http://www.gnu.org/licenses/>. | 16 ;;;; along with LilyPond. If not, see <http://www.gnu.org/licenses/>. |
17 | 17 |
18 ;; TODO: | 18 ;; TODO: |
19 ;; - stencil-commands should have docstrings. | 19 ;; - stencil-commands should have docstrings. |
20 | 20 |
21 (define-public (ly:all-stencil-commands) | 21 (define-public (ly:all-stencil-commands) |
22 "Return the list of stencil commands that can be | 22 "Return the list of stencil commands that can be |
23 defined in the output modules (@file{output-*.scm})." | 23 defined in the output modules (@file{output-*.scm})." |
24 '(blank | 24 '(blank |
25 char | 25 char |
26 circle | 26 circle |
27 dashed-line | 27 dashed-line |
28 ···· | |
29 draw-line | 28 draw-line |
30 ellipse | 29 ellipse |
31 embedded-ps | 30 embedded-ps |
32 embedded-svg | 31 embedded-svg |
33 end-enclosing-id-node | 32 end-enclosing-id-node |
34 glyph-string | 33 glyph-string |
35 grob-cause | 34 grob-cause |
36 named-glyph | 35 named-glyph |
37 no-origin | 36 no-origin |
38 page-link | 37 page-link |
39 path | 38 path |
40 partial-ellipse | 39 partial-ellipse |
41 placebox | 40 placebox |
42 polygon | 41 polygon |
43 resetcolor | 42 resetcolor |
44 resetrotation | 43 resetrotation |
45 resetscale | 44 resetscale |
46 round-filled-box | 45 round-filled-box |
47 setcolor | 46 setcolor |
48 setrotation | 47 setrotation |
49 setscale | 48 setscale |
50 ; skyline-dimensions represents a stencils dimensions in a skyline if | 49 skyline-stencil |
51 ; said dimensions should differ from the actual ones. Making the stencil | |
52 ; (list 'skyline-dimension (cons (cons 0 1) (cons 0 1)) expr) | |
53 ; where expr is a stencil expression, skylines will treat the | |
54 ; expression as having the dimension '((0 . 1) . (0 . 1)) irrespective | |
55 ; of the actual figures within the stencil | |
56 skyline-dimensions | |
57 start-enclosing-id-node | 50 start-enclosing-id-node |
58 text | 51 text |
59 unknown | 52 unknown |
60 url-link | 53 url-link |
61 utf-8-string | 54 utf-8-string |
62 )) | 55 )) |
63 | 56 |
64 ;; TODO: | 57 ;; TODO: |
65 ;; - output-backend-commands should have docstrings. | 58 ;; - output-backend-commands should have docstrings. |
66 | 59 |
67 (define-public (ly:all-output-backend-commands) | 60 (define-public (ly:all-output-backend-commands) |
68 "Return the list of extra output backend commands that | 61 "Return the list of extra output backend commands that |
69 are used internally in @file{lily/@/stencil-interpret.cc}." | 62 are used internally in @file{lily/@/stencil-interpret.cc}." |
70 '(color | 63 '(color |
71 combine-stencil | 64 combine-stencil |
72 delay-stencil-evaluation | 65 delay-stencil-evaluation |
73 footnote | 66 footnote |
74 id | 67 id |
75 rotate-stencil | 68 rotate-stencil |
76 scale-stencil | 69 scale-stencil |
77 translate-stencil | 70 translate-stencil |
78 )) | 71 )) |
79 | 72 |
80 (map ly:register-stencil-expression | 73 (map ly:register-stencil-expression |
81 (append (ly:all-stencil-commands) | 74 (append (ly:all-stencil-commands) |
82 (ly:all-output-backend-commands))) | 75 (ly:all-output-backend-commands))) |
LEFT | RIGHT |