+;;;; new-markup.scm --
+;;;;
+;;;; source file of the GNU LilyPond music typesetter
+;;;;
+;;;; (c) 2003--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
"
Internally markup is stored as lists, whose head is a function.
GROB is the current grob, PROPS is a list of alists, and ARG1.. are
the rest of the arguments.
-The function should return a molecule (i.e. a formatted, ready to
+The function should return a stencil (i.e. a formatted, ready to
print object).
(make-line-markup (list-insert-separator markups sep))
empty-markup))
-(define-public brew-new-markup-molecule Text_item::print)
+(define-public brew-new-markup-stencil Text_item::print)
(define-public interpret-markup Text_item::interpret_markup)
(define-public (prepend-alist-chain key val chain)
(cons (acons key val (car chain)) (cdr chain)))
-(define-public (stack-molecule-line space molecules)
- (if (pair? molecules)
- (if (pair? (cdr molecules))
- (let* ((tail (stack-molecule-line space (cdr molecules)))
- (head (car molecules))
- (xoff (+ space (cdr (ly:molecule-get-extent head X)))))
- (ly:molecule-add head
- (ly:molecule-translate-axis tail xoff X)))
- (car molecules))
+(define-public (stack-stencil-line space stencils)
+ (if (pair? stencils)
+ (if (pair? (cdr stencils))
+ (let* ((tail (stack-stencil-line space (cdr stencils)))
+ (head (car stencils))
+ (xoff (+ space (cdr (ly:stencil-get-extent head X)))))
+ (ly:stencil-add head
+ (ly:stencil-translate-axis tail xoff X)))
+ (car stencils))
'()))