X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=input%2Flsr%2Fthree-sided-box.ly;h=9e94044ccd491153ad7d5b699df28602d7735968;hb=8afeb58bbf76f23d21565f98bfdeb5526a196cf3;hp=102c02b0fdcb91fd5da6f6b0284f939ebca5a494;hpb=a3248563e82178e4c16dcb0e99b24d4679f8544b;p=lilypond.git diff --git a/input/lsr/three-sided-box.ly b/input/lsr/three-sided-box.ly index 102c02b0fd..9e94044ccd 100644 --- a/input/lsr/three-sided-box.ly +++ b/input/lsr/three-sided-box.ly @@ -1,27 +1,31 @@ %% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it %% This file is in the public domain. -\version "2.11.38" +\version "2.12.0" \header { lsrtags = "rhythms, text" - texidoc = " + + texidoc = " This example shows how to add a markup command to get a three sided box around some text (or other markup). -" } -% begin verbatim + +" + doctitle = "Three-sided box" +} % begin verbatim + % New command to add a three sided box, with sides north, west and south % Based on the box-stencil command defined in scm/stencil.scm -% Note that you use ";" to comment a line in Scheme +% Note that ";" is used to comment a line in Scheme #(define-public (NWS-box-stencil stencil thickness padding) "Add a box around STENCIL, producing a new stencil." (let* ((x-ext (interval-widen (ly:stencil-extent stencil 0) padding)) - (y-ext (interval-widen (ly:stencil-extent stencil 1) padding)) - (y-rule (make-filled-box-stencil (cons 0 thickness) y-ext)) - (x-rule (make-filled-box-stencil - (interval-widen x-ext thickness) (cons 0 thickness)))) + (y-ext (interval-widen (ly:stencil-extent stencil 1) padding)) + (y-rule (make-filled-box-stencil (cons 0 thickness) y-ext)) + (x-rule (make-filled-box-stencil + (interval-widen x-ext thickness) (cons 0 thickness)))) ; (set! stencil (ly:stencil-combine-at-edge stencil X 1 y-rule padding)) (set! stencil (ly:stencil-combine-at-edge stencil X -1 y-rule padding)) - (set! stencil (ly:stencil-combine-at-edge stencil Y 1 x-rule 0.0)) + (set! stencil (ly:stencil-combine-at-edge stencil Y 1 x-rule 0.0)) (set! stencil (ly:stencil-combine-at-edge stencil Y -1 x-rule 0.0)) stencil)) @@ -30,19 +34,18 @@ around some text (or other markup). #(define-markup-command (NWS-box layout props arg) (markup?) "Draw a box round @var{arg}. Looks at @code{thickness}, @code{box-padding} and @code{font-size} properties to determine line -thickness and padding around the markup." - +thickness and padding around the markup." (let* ((th (chain-assoc-get 'thickness props 0.1)) - (size (chain-assoc-get 'font-size props 0)) - (pad (* (magstep size) - (chain-assoc-get 'box-padding props 0.2))) - (m (interpret-markup layout props arg))) + (size (chain-assoc-get 'font-size props 0)) + (pad (* (magstep size) + (chain-assoc-get 'box-padding props 0.2))) + (m (interpret-markup layout props arg))) (NWS-box-stencil m th pad))) - % Test it: -\relative c'{ - c2^\markup{ \NWS-box ABCD } - c^\markup{\NWS-box \note #"4" #1.0 } +\layout { ragged-right = ##f } +\relative c' { + c2^\markup { \NWS-box ABCD } + c2^\markup { \NWS-box \note #"4" #1.0 } }