X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-stencil-commands.scm;h=a7f762ecfdcc5447be93ef2149ba258d576f99ec;hb=HEAD;hp=9a5bed1a9e990e44dabd2efd2c6938a8ef867844;hpb=942bdd57fcdd0c87e42c2a50852597817ae69232;p=lilypond.git diff --git a/scm/define-stencil-commands.scm b/scm/define-stencil-commands.scm index 9a5bed1a9e..a7f762ecfd 100644 --- a/scm/define-stencil-commands.scm +++ b/scm/define-stencil-commands.scm @@ -1,56 +1,76 @@ -;; -;; define-stencil-commands.scm -- define valid stencil expression heads -;; -;; source file of the GNU LilyPond music typesetter -;; -;; (c) 2005--2007 Han-Wen Nienhuys -;; +;;;; This file is part of LilyPond, the GNU music typesetter. +;;;; +;;;; Copyright (C) 2005--2015 Han-Wen Nienhuys +;;;; +;;;; 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 . -(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 - 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-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 + 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)))