]> git.donarmstrong.com Git - lilypond.git/blob - scm/define-stencil-commands.scm
Merge branch 'master' into lilypond/translation
[lilypond.git] / scm / define-stencil-commands.scm
1 ;;;; This file is part of LilyPond, the GNU music typesetter.
2 ;;;;
3 ;;;; Copyright (C) 2005--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
4 ;;;;
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
7 ;;;; the Free Software Foundation, either version 3 of the License, or
8 ;;;; (at your option) any later version.
9 ;;;;
10 ;;;; LilyPond is distributed in the hope that it will be useful,
11 ;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 ;;;; GNU General Public License for more details.
14 ;;;;
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/>.
17
18 ;; TODO:
19 ;;  - stencil-commands should have docstrings.
20
21 (define-public (ly:all-stencil-commands)
22   "Return the list of stencil commands that can be
23 defined in the output modules (@file{output-*.scm})."
24   '(beam
25     bezier-sandwich
26     blank
27     bracket
28     char
29     circle
30     dashed-line
31     dashed-slur
32     dot
33     draw-line
34     ellipse
35     embedded-ps
36     embedded-svg
37     end-enclosing-id-node
38     glyph-string
39     grob-cause
40     named-glyph
41     no-origin
42     oval
43     page-link
44     path
45     partial-ellipse
46     placebox
47     polygon
48     repeat-slash
49     resetcolor
50     resetrotation
51     resetscale
52     round-filled-box
53     setcolor
54     setrotation
55     setscale
56     start-enclosing-id-node
57     text
58     unknown
59     url-link
60     utf-8-string
61     zigzag-line
62     ))
63
64 ;; TODO:
65 ;;  - output-backend-commands should have docstrings.
66
67 (define-public (ly:all-output-backend-commands)
68   "Return the list of extra output backend commands that
69 are used internally in @file{lily/@/stencil-interpret.cc}."
70   '(color
71     combine-stencil
72     delay-stencil-evaluation
73     footnote
74     id
75     rotate-stencil
76     scale-stencil
77     translate-stencil
78     ))
79
80 (map ly:register-stencil-expression
81   (append (ly:all-stencil-commands)
82           (ly:all-output-backend-commands)))