]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-stencil-commands.scm
Add '-dcrop' option to ps and svg backends
[lilypond.git] / scm / define-stencil-commands.scm
index 66659a902d71ecf72f9739de644edccd6a605f68..a7f762ecfdcc5447be93ef2149ba258d576f99ec 100644 (file)
@@ -1,57 +1,76 @@
-;;
-;; define-stencil-commands.scm -- define valid stencil expression heads
-;;
-;; source file of the GNU LilyPond music typesetter
-;;
-;; (c) 2005--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
-;;
+;;;; This file is part of LilyPond, the GNU music typesetter.
+;;;;
+;;;; Copyright (C) 2005--2015 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
-       ellipse
-       embedded-ps
-       glyph-string
-       named-glyph
-       oval
-       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})."
+  '(blank
+    char
+    circle
+    dashed-line
+    draw-line
+    ellipse
+    embedded-ps
+    embedded-svg
+    end-group-node
+    glyph-string
+    grob-cause
+    named-glyph
+    no-origin
+    page-link
+    path
+    partial-ellipse
+    placebox
+    polygon
+    resetcolor
+    resetrotation
+    resetscale
+    round-filled-box
+    setcolor
+    setrotation
+    setscale
+    start-group-node
+    text
+    unknown
+    url-link
+    utf-8-string
+    ))
 
 ;; TODO:
-;;  - generate this list by registering the output-backend-commands
-;;    output-backend-commands should have docstrings.
-;;  - remove hard copies in output-ps
+;;  - 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
+    output-attributes
+    rotate-stencil
+    scale-stencil
+    translate-stencil
+    transparent-stencil
+    with-outline
+    ))
 
-(map ly:register-stencil-expression (ly:all-output-backend-commands))
+(for-each ly:register-stencil-expression
+          (append (ly:all-stencil-commands)
+                  (ly:all-output-backend-commands)))