X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-stencil-commands.scm;h=07f3463828fc9552bc3b184c57d074ef6c42214e;hb=2f2e76948f336704384a44ee6a8dcc448df4d73c;hp=b2b2f92d68bf5d1ac455346057e5639b7baee2d9;hpb=a5ff1c9ccdb83bd120edf2035532f47f578dc331;p=lilypond.git diff --git a/scm/define-stencil-commands.scm b/scm/define-stencil-commands.scm index b2b2f92d68..07f3463828 100644 --- a/scm/define-stencil-commands.scm +++ b/scm/define-stencil-commands.scm @@ -1,58 +1,76 @@ -;; -;; define-stencil-commands.scm -- define valid stencil expression heads -;; -;; source file of the GNU LilyPond music typesetter -;; -;; (c) 2005--2009 Han-Wen Nienhuys -;; +;;;; This file is part of LilyPond, the GNU music typesetter. +;;;; +;;;; Copyright (C) 2005--2010 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 - embedded-svg - 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 (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 + path + partial-ellipse + placebox + polygon + repeat-slash + resetcolor + resetrotation + round-filled-box + setcolor + setrotation + text + unknown + url-link + utf-8-string + white-dot + white-text + 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-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 lily/stencil-interpret.cc." + '(color + combine-stencil + delay-stencil-evaluation + rotate-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)))