OLD | NEW |
1 ;;;; This file is part of LilyPond, the GNU music typesetter. | 1 ;;;; This file is part of LilyPond, the GNU music typesetter. |
2 ;;;; | 2 ;;;; |
3 ;;;; Copyright (C) 1998--2015 Jan Nieuwenhuizen <janneke@gnu.org> | 3 ;;;; Copyright (C) 1998--2015 Jan Nieuwenhuizen <janneke@gnu.org> |
4 ;;;; Han-Wen Nienhuys <hanwen@xs4all.nl> | 4 ;;;; Han-Wen Nienhuys <hanwen@xs4all.nl> |
5 ;;;; | 5 ;;;; |
6 ;;;; LilyPond is free software: you can redistribute it and/or modify | 6 ;;;; LilyPond is free software: you can redistribute it and/or modify |
7 ;;;; it under the terms of the GNU General Public License as published by | 7 ;;;; it under the terms of the GNU General Public License as published by |
8 ;;;; the Free Software Foundation, either version 3 of the License, or | 8 ;;;; the Free Software Foundation, either version 3 of the License, or |
9 ;;;; (at your option) any later version. | 9 ;;;; (at your option) any later version. |
10 ;;;; | 10 ;;;; |
(...skipping 887 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
898 (interval-widen (ly:stencil-extent rp X) white-padding))) | 898 (interval-widen (ly:stencil-extent rp X) white-padding))) |
899 (set! lp (ly:make-stencil (ly:stencil-expr lp) | 899 (set! lp (ly:make-stencil (ly:stencil-expr lp) |
900 lp-x-extent | 900 lp-x-extent |
901 (ly:stencil-extent lp Y))) | 901 (ly:stencil-extent lp Y))) |
902 (set! rp (ly:make-stencil (ly:stencil-expr rp) | 902 (set! rp (ly:make-stencil (ly:stencil-expr rp) |
903 rp-x-extent | 903 rp-x-extent |
904 (ly:stencil-extent rp Y))) | 904 (ly:stencil-extent rp Y))) |
905 (list (stencil-whiteout lp) | 905 (list (stencil-whiteout lp) |
906 (stencil-whiteout rp)))) | 906 (stencil-whiteout rp)))) |
907 | 907 |
| 908 (define-public (parentheses-item::pure-y-extent grob start end) |
| 909 (let* ((paren (parentheses-iotem::calc-parenthesis-stencils grob)) |
| 910 (Y-ext (ly:stencil-extent (car paren) Y)) |
| 911 (elt-Y-ext (ly:axis-group-interface::pure-height grob start end)) |
| 912 (y-center (interval-center elt-Y-ext))) |
| 913 (cons (+ y-center (car Y-ext)) |
| 914 (+ y-center (cdr Y-ext))))) |
| 915 |
| 916 (define-public (parentheses-item::y-extent grob) (ly:grob::stencil-height grob)) |
| 917 |
908 (define (parenthesize-elements grob . rest) | 918 (define (parenthesize-elements grob . rest) |
909 (let* ((refp (if (null? rest) | 919 (let* ((refp (if (null? rest) |
910 grob | 920 grob |
911 (car rest))) | 921 (car rest))) |
912 (elts (ly:grob-object grob 'elements)) | 922 (elts (ly:grob-array->list (ly:grob-object grob 'elements))) |
913 (x-ext (ly:relative-group-extent elts refp X)) | 923 (get-friends |
| 924 (lambda (g) |
| 925 (let ((syms (ly:grob-property g 'parenthesis-friends '())) |
| 926 (get-friend (lambda (s) |
| 927 (let ((f (ly:grob-object g s))) |
| 928 (cond |
| 929 ((ly:grob? f) (list f)) |
| 930 ((ly:grob-array? f) (ly:grob-array->list f)
) |
| 931 (else '())))))) |
| 932 (apply append (map get-friend syms))))) |
| 933 (friends (apply append elts (map get-friends elts))) |
| 934 (x-ext (ly:relative-group-extent friends refp X)) |
914 (stencils (ly:grob-property grob 'stencils)) | 935 (stencils (ly:grob-property grob 'stencils)) |
915 (lp (car stencils)) | 936 (lp (car stencils)) |
916 (rp (cadr stencils)) | 937 (rp (cadr stencils)) |
917 (padding (ly:grob-property grob 'padding 0.1))) | 938 (padding (ly:grob-property grob 'padding 0.1))) |
918 | 939 |
919 (ly:stencil-add | 940 (ly:stencil-add |
920 (ly:stencil-translate-axis lp (- (car x-ext) padding) X) | 941 (ly:stencil-translate-axis lp (- (car x-ext) padding) X) |
921 (ly:stencil-translate-axis rp (+ (cdr x-ext) padding) X)))) | 942 (ly:stencil-translate-axis rp (+ (cdr x-ext) padding) X)))) |
922 | 943 |
923 | 944 |
(...skipping 587 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1511 with the subordinate symbols being interfaces." | 1532 with the subordinate symbols being interfaces." |
1512 (let loop ((forms forms)) | 1533 (let loop ((forms forms)) |
1513 (if (or (null? forms) (pair? forms)) | 1534 (if (or (null? forms) (pair? forms)) |
1514 `(list | 1535 `(list |
1515 ,@(map (lambda (form) | 1536 ,@(map (lambda (form) |
1516 (if (pair? (car form)) | 1537 (if (pair? (car form)) |
1517 `(cons ',(caar form) (lambda ,(cdar form) ,@(cdr form))) | 1538 `(cons ',(caar form) (lambda ,(cdar form) ,@(cdr form))) |
1518 `(cons ',(car form) ,(loop (cdr form))))) | 1539 `(cons ',(car form) ,(loop (cdr form))))) |
1519 forms)) | 1540 forms)) |
1520 forms))) | 1541 forms))) |
OLD | NEW |