]> git.donarmstrong.com Git - lilypond.git/blob - scm/define-stencil-commands.scm
ly:line-interface::print should read ly:line-spanner::print in NR
[lilypond.git] / scm / define-stencil-commands.scm
1 ;;;; This file is part of LilyPond, the GNU music typesetter.
2 ;;;;
3 ;;;; Copyright (C) 2005--2015 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   '(blank
25     char
26     circle
27     dashed-line
28     draw-line
29     ellipse
30     embedded-ps
31     embedded-svg
32     end-enclosing-id-node
33     glyph-string
34     grob-cause
35     named-glyph
36     no-origin
37     page-link
38     path
39     partial-ellipse
40     placebox
41     polygon
42     resetcolor
43     resetrotation
44     resetscale
45     round-filled-box
46     setcolor
47     setrotation
48     setscale
49     start-enclosing-id-node
50     text
51     unknown
52     url-link
53     utf-8-string
54     ))
55
56 ;; TODO:
57 ;;  - output-backend-commands should have docstrings.
58
59 (define-public (ly:all-output-backend-commands)
60   "Return the list of extra output backend commands that
61 are used internally in @file{lily/@/stencil-interpret.cc}."
62   '(color
63     combine-stencil
64     delay-stencil-evaluation
65     footnote
66     id
67     rotate-stencil
68     scale-stencil
69     translate-stencil
70     transparent-stencil
71     ))
72
73 (for-each ly:register-stencil-expression
74           (append (ly:all-stencil-commands)
75                   (ly:all-output-backend-commands)))