]> git.donarmstrong.com Git - lilypond.git/blobdiff - input/test/boxed-molecule.ly
* ly/declarations-init.ly (paper): Define page-breaking.
[lilypond.git] / input / test / boxed-molecule.ly
index 7767e4f36b606688dd3dc163f7477ebdd74b21bc..2996fef73d2da3e1a75e9ae74a62dec137001a15 100644 (file)
@@ -1,56 +1,29 @@
-\version "1.5.68"
-\header {
-
-texidoc = "overriding the molecule callback can also be used to draw a
- box around arbitrary grobs.
 
- TODO: check whether the corners are really correct.
-
- TODO:  circled molecules.
-  
- "
-}
+\version "2.1.30"
+\header {
+texidoc = "@cindex Boxed Stencil
 
-#(define (make-molecule-boxer callback)
-  (define (molecule-boxer grob)
-  (let*
-   (
-    (mol    (callback grob))
-    (box-padding 0.1)
-    (x-ext (widen-interval (ly-get-molecule-extent mol 0) box-padding))
-    (y-ext (widen-interval (ly-get-molecule-extent mol 1) box-padding))
-    (rule-thick 0.1)
-    (x-rule (box-molecule (widen-interval x-ext rule-thick)
-                              (cons 0 rule-thick)))
-    (y-rule (box-molecule (cons 0 rule-thick) y-ext))
-    )
-    
-    (set! mol (ly-combine-molecule-at-edge mol 0 1 y-rule (* 0.5 box-padding)))
-    (set! mol (ly-combine-molecule-at-edge mol 0 -1  y-rule (* 0.5 box-padding)))
-    (set! mol (ly-combine-molecule-at-edge mol 1 1  x-rule 0.0))  
-    (set! mol (ly-combine-molecule-at-edge mol 1 -1 x-rule 0.0))
-    
-    mol
- ))
- molecule-boxer
- )
+The @code{print-function} can be overridden to draw a box around an arbitrary 
+grob. " }
 
 
  \score { \notes \relative c''  {
 
- \property Voice.TextScript \override #'molecule-callback =
-   #(make-molecule-boxer Text_item::brew_molecule)
+ \override TextScript  #'print-function =
+   #(make-stencil-boxer 0.1 0.3 0.2 Text_item::print)
 
    c'4^"foo"
 
-\property Voice.Stem \override #'molecule-callback =
-   #(make-molecule-boxer Stem::brew_molecule)
-
-\property Score.RehearsalMark \override #'molecule-callback =
-   #(make-molecule-boxer Text_item::brew_molecule)
+\override Stem  #'print-function =
+   #(make-stencil-boxer 0.05 0.25 0.25 Stem::print)
 
+\override Score.RehearsalMark  #'print-function =
+   #(make-stencil-boxer 0.15 0.3 0.3 Text_item::print)
       c8
-\property Voice.Stem \revert #'molecule-callback
+\revert Stem #'print-function
 
       c4. c4 \mark "F" c1 
-   }}
+   }
+\paper{raggedright = ##t}
+}
+