-;;
-;; define-stencil-commands.scm -- define valid stencil expression heads
-;;
-;; source file of the GNU LilyPond music typesetter
-;;
-;; (c) 2005--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
-;;
+;;;; This file is part of LilyPond, the GNU music typesetter.
+;;;;
+;;;; Copyright (C) 2005--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;;
+;;;; LilyPond is free software: you can redistribute it and/or modify
+;;;; it under the terms of the GNU General Public License as published by
+;;;; the Free Software Foundation, either version 3 of the License, or
+;;;; (at your option) any later version.
+;;;;
+;;;; LilyPond is distributed in the hope that it will be useful,
+;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;;; GNU General Public License for more details.
+;;;;
+;;;; You should have received a copy of the GNU General Public License
+;;;; along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
-(map ly:register-stencil-expression
- '(beam
- bezier-sandwich
- blank
- bracket
- char
- circle
- dashed-line
- dashed-slur
- dot
- draw-line
- embedded-ps
- glyph-string
- named-glyph
- path
- polygon
- repeat-slash
- resetcolor
- round-filled-box
- setcolor
- text
- url-link
- utf-8-string
- white-dot
- white-text
- zigzag-line
-
- grob-cause
- no-origin
- placebox
- unknown
+;; TODO:
+;; - stencil-commands should have docstrings.
- delay-stencil-evaluation
- ))
+(define-public (ly:all-stencil-commands)
+ "Return the list of stencil commands that can be
+defined in the output modules (@file{output-*.scm})."
+ '(beam
+ bezier-sandwich
+ blank
+ bracket
+ char
+ circle
+ dashed-line
+ dashed-slur
+ dot
+ draw-line
+ ellipse
+ embedded-ps
+ embedded-svg
+ glyph-string
+ grob-cause
+ named-glyph
+ no-origin
+ oval
+ page-link
+ path
+ partial-ellipse
+ placebox
+ polygon
+ repeat-slash
+ resetcolor
+ resetrotation
+ resetscale
+ round-filled-box
+ setcolor
+ setrotation
+ setscale
+ text
+ unknown
+ url-link
+ utf-8-string
+ zigzag-line
+ ))
;; TODO:
-;; - generate this list by registering the output-backend-commands
-;; output-backend-commands should have docstrings.
-;; - remove hard copies in output-ps output-tex
+;; - output-backend-commands should have docstrings.
(define-public (ly:all-output-backend-commands)
- "Return list of output backend commands."
- '(combine-stencil
- color
- translate-stencil))
+ "Return the list of extra output backend commands that
+are used internally in @file{lily/stencil-interpret.cc}."
+ '(color
+ combine-stencil
+ delay-stencil-evaluation
+ footnote
+ rotate-stencil
+ scale-stencil
+ translate-stencil
+ ))
-(map ly:register-stencil-expression (ly:all-output-backend-commands))
+(map ly:register-stencil-expression
+ (append (ly:all-stencil-commands)
+ (ly:all-output-backend-commands)))