]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-grobs.scm
Avoid collisions with ledger lines.
[lilypond.git] / scm / define-grobs.scm
index a76dd3165582fdb28763dfc450982464cd90e361..92a62bfcef39a24f0f74231c67d855478d57a6bc 100644 (file)
        (X-extent . ,ly:axis-group-interface::width)
        (Y-extent . ,ly:axis-group-interface::height)
        (meta . ((class . Item)
+                (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+                                     (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)
+                                     (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items)
+                                     (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners)))
                 (interfaces . (ambitus-interface
                                axis-group-interface
                                break-aligned-interface))))))
        (stacking-dir . ,DOWN)
        (Y-extent . ,ly:axis-group-interface::height)
        (meta . ((class . Spanner)
+                (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+                                     (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)
+                                     (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items)
+                                     (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners)))
                 (interfaces . (align-interface
                                axis-group-interface
                                bass-figure-alignment-interface))))))
        (Y-extent . ,ly:axis-group-interface::height)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Spanner)
+                (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+                                     (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)
+                                     (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items)
+                                     (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners)))
                 (interfaces . (axis-group-interface
                                side-position-interface))))))
 
        (vertical-skylines . ,ly:axis-group-interface::calc-skylines)
        (Y-extent . ,ly:axis-group-interface::height)
        (meta . ((class . Spanner)
+                (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+                                     (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)
+                                     (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items)
+                                     (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners)))
                 (interfaces . (axis-group-interface))))))
 
 
        (Y-extent . ,ly:axis-group-interface::height)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Spanner)
+                (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+                                     (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)
+                                     (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items)
+                                     (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners)))
                 (interfaces . (axis-group-interface
                                dynamic-interface
                                dynamic-line-spanner-interface
 
        (X-extent . ,ly:axis-group-interface::width)
        (meta . ((class . Paper_column)
+                (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+                                     (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)
+                                     (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items)
+                                     (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners)))
                 (interfaces . (axis-group-interface
                                font-interface
                                paper-column-interface
        (X-extent . ,ly:axis-group-interface::width)
        (Y-extent . ,ly:axis-group-interface::height)
        (meta . ((class . Item)
+                (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+                                     (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)
+                                     (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items)
+                                     (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners)))
                 (interfaces . (axis-group-interface
                                note-collision-interface))))))
 
        (X-extent . ,ly:axis-group-interface::width)
        (Y-extent . ,ly:axis-group-interface::height)
        (meta . ((class . Item)
+                (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+                                     (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)
+                                     (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items)
+                                     (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners)))
                 (interfaces . (axis-group-interface
                                note-column-interface
                                separation-item-interface))))))
     (NoteHead
      . (
        (duration-log . ,note-head::calc-duration-log)
+       (extra-spacing-height . ,ly:note-head::include-ledger-line-height)
        (glyph-name . ,note-head::calc-glyph-name)
        (stem-attachment . ,ly:note-head::calc-stem-attachment)
        (stencil . ,ly:note-head::print)
        ;; debugging
        ;;                       (font-size . -6) (font-name . "sans") (Y-extent . #f)
        (meta . ((class . Paper_column)
+                (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+                                     (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)
+                                     (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items)
+                                     (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners)))
                 (interfaces . (axis-group-interface
                                font-interface
                                paper-column-interface
 
     (Script
      . (
+       (add-stem-support . #t)
        (cross-staff . ,ly:script-interface::calc-cross-staff)
        (direction . ,ly:script-interface::calc-direction)
        (font-encoding . fetaMusic)
        (Y-extent . ,ly:axis-group-interface::height)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Spanner)
+                (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+                                     (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)
+                                     (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items)
+                                     (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners)))
                 (interfaces . (axis-group-interface
                                piano-pedal-interface
                                side-position-interface))))))
        (X-extent . ,ly:span-bar::width)
        (Y-extent . ,ly:axis-group-interface::height)
        (meta . ((class . Item)
+                (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+                                     (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)
+                                     (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items)
+                                     (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners)))
                 (interfaces . (bar-line-interface
                                font-interface
                                span-bar-interface))))))
        (Y-extent . ,ly:axis-group-interface::height)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Spanner)
+                (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+                                     (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)
+                                     (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items)
+                                     (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners)))
                 (interfaces . (axis-group-interface
                                piano-pedal-interface
                                side-position-interface))))))
 
     (System
      . (
+       (adjacent-pure-heights . ,ly:axis-group-interface::adjacent-pure-heights)
        (axes . (,X ,Y))
        (vertical-skylines . ,ly:axis-group-interface::calc-skylines)
        (X-extent . ,ly:axis-group-interface::width)
-       (Y-extent . ,ly:axis-group-interface::height)
+       (Y-extent . ,ly:system::height)
        (meta . ((class . System)
+                (object-callbacks . ((pure-relevant-grobs . ,ly:system::calc-pure-relevant-grobs)
+                                     (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items)
+                                     (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners)
+                                     (pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)))
                 (interfaces . (axis-group-interface
                                system-interface))))))
 
        (Y-extent . ,ly:axis-group-interface::height)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Spanner)
+                (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+                                     (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)
+                                     (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items)
+                                     (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners)))
                 (interfaces . (axis-group-interface
                                piano-pedal-interface
                                side-position-interface))))))
        (X-extent . ,ly:axis-group-interface::width)
        (Y-extent . ,ly:axis-group-interface::height)
        (meta . ((class . Spanner)
-                (object-callbacks . ((Y-common . ,ly:axis-group-interface::calc-y-common)))
+                (object-callbacks . ((Y-common . ,ly:axis-group-interface::calc-y-common)
+                                     (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)
+                                     (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items)
+                                     (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners)
+                                     (pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)))
                 (interfaces . (align-interface
                                axis-group-interface))))))
 
        (Y-extent . ,ly:hara-kiri-group-spanner::y-extent)
        (Y-offset . ,ly:hara-kiri-group-spanner::force-hara-kiri-callback)
        (meta . ((class . Spanner)
-                (object-callbacks . ((X-common . ,ly:axis-group-interface::calc-x-common)))
+                (object-callbacks . (
+                                     (X-common . ,ly:axis-group-interface::calc-x-common)
+                                     (pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+                                     (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)
+                                     (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items)
+                                     (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners)))
+
                 (interfaces . (axis-group-interface
                                hara-kiri-group-spanner-interface
                                vertically-spaceable-interface))))))
        (Y-extent . ,ly:axis-group-interface::height)
        (Y-offset . ,ly:side-position-interface::y-aligned-side)
        (meta . ((class . Spanner)
+                (object-callbacks . ((pure-Y-common . ,ly:axis-group-interface::calc-pure-y-common)
+                                     (pure-relevant-grobs . ,ly:axis-group-interface::calc-pure-relevant-grobs)
+                                     (pure-relevant-items . ,ly:axis-group-interface::calc-pure-relevant-items)
+                                     (pure-relevant-spanners . ,ly:axis-group-interface::calc-pure-relevant-spanners)))
                 (interfaces . (axis-group-interface
                                side-position-interface
                                volta-interface))))))
     (,ly:side-position-interface::y-aligned-side . ,ly:side-position-interface::pure-y-aligned-side)
     (,ly:slur::height . ,ly:slur::pure-height)
     (,ly:slur::outside-slur-callback . ,ly:slur::pure-outside-slur-callback)
-    (,ly:stem::height . ,ly:stem::pure-height)))
+    (,ly:stem::height . ,ly:stem::pure-height)
+    (,ly:system::height . ,ly:system::calc-pure-height)))
 
 (define pure-functions
   (list