LEFT | RIGHT |
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--2010 Jan Nieuwenhuizen <janneke@gnu.org> | 3 ;;;; Copyright (C) 1998--2010 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 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
215 ("" . ("" . "")) | 215 ("" . ("" . "")) |
216 (":" . (":" . "")) | 216 (":" . (":" . "")) |
217 ("." . ("." . ())) | 217 ("." . ("." . ())) |
218 ("'" . ("'" . ())) | 218 ("'" . ("'" . ())) |
219 ("empty" . (() . ())) | 219 ("empty" . (() . ())) |
220 ("brace" . (() . "brace")) | 220 ("brace" . (() . "brace")) |
221 ("bracket" . (() . "bracket")) | 221 ("bracket" . (() . "bracket")) |
222 | 222 |
223 ;; segno bar lines | 223 ;; segno bar lines |
224 ("S" . ("||" . "S")) | 224 ("S" . ("||" . "S")) |
225 ("|S" . (() . "S")) | 225 ("|S" . ("|" . "S")) |
226 ("S|" . ("S" . ())) | 226 ("S|" . ("S" . ())) |
227 (":|S" . (":|" . "S")) | 227 (":|S" . (":|" . "S")) |
228 (":|S." . (":|S" . ())) | 228 (":|S." . (":|S" . ())) |
229 ("S|:" . ("S" . "|:")) | 229 ("S|:" . ("S" . "|:")) |
230 (".S|:" . ("|" . "S|:")) | 230 (".S|:" . ("|" . "S|:")) |
231 (":|S|:" . (":|" . "S|:")) | 231 (":|S|:" . (":|" . "S|:")) |
232 (":|S.|:" . (":|S" . "|:")))) | 232 (":|S.|:" . (":|S" . "|:")))) |
233 | 233 |
234 (define-public (bar-line::calc-glyph-name grob) | 234 (define-public (bar-line::calc-glyph-name grob) |
235 (let* ((glyph (ly:grob-property grob 'glyph)) | 235 (let* ((glyph (ly:grob-property grob 'glyph)) |
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
463 ;; * Parentheses | 463 ;; * Parentheses |
464 | 464 |
465 (define-public (parentheses-item::calc-parenthesis-stencils grob) | 465 (define-public (parentheses-item::calc-parenthesis-stencils grob) |
466 (let* ((font (ly:grob-default-font grob)) | 466 (let* ((font (ly:grob-default-font grob)) |
467 (lp (ly:font-get-glyph font "accidentals.leftparen")) | 467 (lp (ly:font-get-glyph font "accidentals.leftparen")) |
468 (rp (ly:font-get-glyph font "accidentals.rightparen"))) | 468 (rp (ly:font-get-glyph font "accidentals.rightparen"))) |
469 | 469 |
470 (list lp rp))) | 470 (list lp rp))) |
471 | 471 |
472 (define-public (parentheses-item::calc-angled-bracket-stencils grob) | 472 (define-public (parentheses-item::calc-angled-bracket-stencils grob) |
473 (let* ((font (ly:grob-default-font grob)) | 473 (let* ((parent (ly:grob-parent grob Y)) |
474 » (lp (ly:stencil-aligned-to (ly:stencil-aligned-to | 474 (y-extent (ly:grob-extent parent parent Y)) |
475 » » » » (grob-interpret-markup | 475 (half-thickness 0.05) ; should it be a property? |
476 » » » » grob | 476 (width 0.5) ; should it be a property? |
477 » » » » (ly:wide-char->utf-8 #x2329)) | 477 (angularity 1.5) ; makes angle brackets |
478 » » » » Y CENTER) | 478 (white-padding 0.1) ; should it be a property? |
479 » » » » X RIGHT)) | 479 » (lp (ly:stencil-aligned-to |
480 » (rp (ly:stencil-aligned-to (ly:stencil-aligned-to | 480 (ly:stencil-aligned-to |
481 » » » » (grob-interpret-markup | 481 (make-parenthesis-stencil y-extent |
482 » » » » grob | 482 half-thickness |
483 » » » » (ly:wide-char->utf-8 #x232A)) | 483 (- width) |
484 » » » » Y CENTER) | 484 angularity) |
485 » » » » X LEFT))) | 485 Y CENTER) |
486 | 486 X RIGHT)) |
| 487 (lp-x-extent |
| 488 (interval-widen (ly:stencil-extent lp X) white-padding)) |
| 489 » (rp (ly:stencil-aligned-to |
| 490 (ly:stencil-aligned-to |
| 491 (make-parenthesis-stencil y-extent |
| 492 half-thickness |
| 493 width |
| 494 angularity) |
| 495 Y CENTER) |
| 496 X LEFT)) |
| 497 (rp-x-extent |
| 498 (interval-widen (ly:stencil-extent rp X) white-padding))) |
| 499 (set! lp (ly:make-stencil (ly:stencil-expr lp) |
| 500 lp-x-extent |
| 501 (ly:stencil-extent lp Y))) |
| 502 (set! rp (ly:make-stencil (ly:stencil-expr rp) |
| 503 rp-x-extent |
| 504 (ly:stencil-extent rp Y))) |
487 (list (stencil-whiteout lp) | 505 (list (stencil-whiteout lp) |
488 » (stencil-whiteout rp)))) | 506 (stencil-whiteout rp)))) |
489 | 507 |
490 (define (parenthesize-elements grob . rest) | 508 (define (parenthesize-elements grob . rest) |
491 (let* ((refp (if (null? rest) | 509 (let* ((refp (if (null? rest) |
492 grob | 510 grob |
493 (car rest))) | 511 (car rest))) |
494 (elts (ly:grob-object grob 'elements)) | 512 (elts (ly:grob-object grob 'elements)) |
495 (x-ext (ly:relative-group-extent elts refp X)) | 513 (x-ext (ly:relative-group-extent elts refp X)) |
496 (stencils (ly:grob-property grob 'stencils)) | 514 (stencils (ly:grob-property grob 'stencils)) |
497 (lp (car stencils)) | 515 (lp (car stencils)) |
498 (rp (cadr stencils)) | 516 (rp (cadr stencils)) |
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
852 (x-ext (symmetric-interval (/ width 2))) | 870 (x-ext (symmetric-interval (/ width 2))) |
853 (y-ext (cons point-min point-max)) | 871 (y-ext (cons point-min point-max)) |
854 (line (ly:round-filled-box x-ext y-ext blot)) | 872 (line (ly:round-filled-box x-ext y-ext blot)) |
855 (y-coord (ly:grob-relative-coordinate grob common Y))) | 873 (y-coord (ly:grob-relative-coordinate grob common Y))) |
856 | 874 |
857 (ly:stencil-translate-axis line (- y-coord) Y)) | 875 (ly:stencil-translate-axis line (- y-coord) Y)) |
858 empty-stencil)) | 876 empty-stencil)) |
859 (begin | 877 (begin |
860 (ly:grob-suicide! grob) | 878 (ly:grob-suicide! grob) |
861 (list))))) | 879 (list))))) |
LEFT | RIGHT |