X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-stencil-commands.scm;h=fddd6855b2f0a2b22a99527ae89e28be060a9237;hb=0512fcc5db9b050be664413ba0f79a3dcfc1028a;hp=f7beaee3a935fa1ec81d184551287160b49d65b5;hpb=9362fc6e2a7604cbe2dd977009e687137b5ef05a;p=lilypond.git diff --git a/scm/define-stencil-commands.scm b/scm/define-stencil-commands.scm index f7beaee3a9..fddd6855b2 100644 --- a/scm/define-stencil-commands.scm +++ b/scm/define-stencil-commands.scm @@ -1,41 +1,74 @@ - - -;; TODO: generate this list by registering the stencil expressions -;; stencil expressions should have docstrings. -(map ly:register-stencil-expression - '(beam - bezier-sandwich - blank - bracket - char - circle - dashed-line - dashed-slur - dot - draw-line - filledbox - glyph-string - named-glyph - polygon - repeat-slash - round-filled-box - text - url-link - utf8-string - white-dot - white-text - embedded-ps - zigzag-line)) +;;;; This file is part of LilyPond, the GNU music typesetter. +;;;; +;;;; Copyright (C) 2005--2012 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 . ;; TODO: -;; - generate this list by registering the output-backend-commands -;; output-backend-commands should have docstrings. -;; - remove hard copies in output-ps output-tex +;; - stencil-commands should have docstrings. -(define-public (ly:all-output-backend-commands) - "Return list of output backend commands." - '( +(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-enclosing-id-node + glyph-string grob-cause + named-glyph no-origin + page-link + path + partial-ellipse placebox - unknown)) + polygon + resetcolor + resetrotation + resetscale + round-filled-box + setcolor + setrotation + setscale + start-enclosing-id-node + text + unknown + url-link + utf-8-string + )) + +;; TODO: +;; - output-backend-commands should have docstrings. + +(define-public (ly:all-output-backend-commands) + "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 + id + rotate-stencil + scale-stencil + translate-stencil + )) + +(map ly:register-stencil-expression + (append (ly:all-stencil-commands) + (ly:all-output-backend-commands)))