X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=scm%2Fdefine-grob-properties.scm;h=4202b26b96080da12ae992b1da4338808cac8e30;hb=19b37df119ff6ca84421d984fe1d33112ad08299;hp=bdd702bce9e8ebb461a275d0489314658b550fb6;hpb=eb71b343f91d1fbe1842f653fb285e12934ed072;p=lilypond.git diff --git a/scm/define-grob-properties.scm b/scm/define-grob-properties.scm index bdd702bce9..4202b26b96 100644 --- a/scm/define-grob-properties.scm +++ b/scm/define-grob-properties.scm @@ -1,9 +1,20 @@ -;;;; define-grob-properties.scm -- part of generated backend documentation +;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; source file of the GNU LilyPond music typesetter -;;;; -;;;; (c) 1998--2009 Han-Wen Nienhuys +;;;; Copyright (C) 1998--2010 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen +;;;; +;;;; LilyPond is free software: you can redistribute it and/or modify +;;;; it under the terms of the GNU General Public License as published by +;;;; the Free Software Foundation, either version 3 of the License, or +;;;; (at your option) any later version. +;;;; +;;;; LilyPond is distributed in the hope that it will be useful, +;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;;; GNU General Public License for more details. +;;;; +;;;; You should have received a copy of the GNU General Public License +;;;; along with LilyPond. If not, see . (define (define-grob-property symbol type? description) (if (not (equal? (object-property symbol 'backend-doc) #f)) @@ -274,9 +285,9 @@ for standard flags, @code{'mensural} and @code{'no-flag}, which switches off the flag.") (font-encoding ,symbol? "The font encoding is the broadest category for selecting a font. Currently, only lilypond's system -fonts (Emmentaler and Aybabtu) are using this property. Available -values are @code{fetaMusic} (Emmentaler), @code{fetaBraces} (Aybabtu), -@code{fetaNumber} (Emmentaler), and @code{fetaDynamic} (Emmentaler).") +fonts (Emmentaler) are using this property. Available +values are @code{fetaMusic} (Emmentaler), @code{fetaBraces}, +@code{fetaText} (Emmentaler).") (font-family ,symbol? "The font family is the broadest category for selecting text fonts. Options include: @code{sans}, @code{roman}.") @@ -400,6 +411,7 @@ typeset. Valid choices depend on the function that is reading this property.") (glyph-name ,string? "The glyph name within the font.") (glyph-name-alist ,list? "An alist of key-string pairs.") + (graphical ,boolean? "Display in graphical (vs. text) form.") (grow-direction ,ly:dir? "Crescendo or decrescendo?") @@ -471,13 +483,9 @@ position a non-spaced line relative to the staff for which it has affinity. See @var{next-staff-spacing} for the format of this list.") - ;; ;; k ;; - (keep-fixed-while-stretching ,boolean? "A grob with this property -set to true is fixed relative to the staff above it when systems are -stretched.") (keep-inside-line ,boolean? "If set, this column cannot have objects sticking into the margin.") (kern ,ly:dimension? "Amount of extra white space to add. For @@ -492,9 +500,11 @@ correction and @code{1} for full correction.") ;; l ;; (labels ,list? "List of labels (symbols) placed on a column.") - (layer ,integer? "The output layer (a value between 0 -and@tie{}2): Layers define the order of printing objects. Objects in -lower layers are overprinted by objects in higher layers.") + (layer ,integer? "An integer which determines the order of printing +objects. Objects with the lowest value of layer are drawn first, then +objects with progressively higher values are drawn, so objects with +higher values overwrite objects with lower values. By default most +objects are assigned a layer value of 1.") (ledger-line-thickness ,number-pair? "The thickness of ledger lines. It is the sum of 2@tie{}numbers: The first is the factor for line thickness, and the second for staff space. Both contributions @@ -502,7 +512,7 @@ are added.") (left-bound-info ,list? "An alist of properties for determining attachments of spanners to edges.") (left-padding ,ly:dimension? "The amount of space that is put -left to an object (e.g., a group of accidentals).") +left to an object (e.g., a lyric extender).") (length ,ly:dimension? "User override for the stem length of unbeamed stems.") (length-fraction ,number? "Multiplier for lengths. Used for @@ -597,10 +607,17 @@ staff is crucial for @var{padding}). (no-alignment ,boolean? "If set, don't place this grob in a @code{VerticalAlignment}; rather, place it using its own @code{Y-offset} callback.") + (non-break-align-symbols ,list? "A list of symbols that determine +which NON-break-aligned interfaces to align this to.") (no-ledgers ,boolean? "If set, don't draw ledger lines on this object.") (no-stem-extend ,boolean? "If set, notes with ledger lines do not get stems extending to the middle staff line.") + (non-affinity-spacing ,list? "An alist of spacing variables +that controls the spacing from a loose line (see @var{staff-affinity}) +to the staff for which the loose line does not have affinity. +See @var{next-staff-spacing} for a description of the elements of +this alist.") (non-default ,boolean? "Set for manually specified clefs.") (non-musical ,boolean? "True if the grob belongs to a @code{NonMusicalPaperColumn}.") @@ -738,6 +755,16 @@ there.") (spacing-increment ,number? "Add this much space for a doubled duration. Typically, the width of a note head. See also @rinternals{spacing-spanner-interface}.") + (spacing-pair ,pair? "A pair of alignment symbols which set an object's +spacing relative to its left and right @code{BreakAlignment}s. + +For example, a @code{MultiMeasureRest} will ignore prefatory items at its +bounds (i.e., clefs, key signatures and time signatures) using the following +override: + +@example +\\override MultiMeasureRest #'spacing-pair = #'(staff-bar . staff-bar) +@end example") (springs-and-rods ,boolean? "Dummy variable for triggering spacing routines.") (stacking-dir ,ly:dir? "Stack objects in which direction?") @@ -791,8 +818,6 @@ should use @code{LEFT}.") (thickness ,number? "Line thickness, generally measured in @code{line-thickness}.") (thin-kern ,number? "The space after a hair-line in a bar line.") - (threshold ,number-pair? "@code{(@var{min} . @var{max})}, where -@var{min} and @var{max} are dimensions in staff space.") (tie-configuration ,list? "List of @code{(@var{position} . @var{dir})} pairs, indicating the desired tie configuration, where @var{position} is the offset from the center of the staff in staff @@ -832,6 +857,9 @@ one below this grob.") ;; (when ,ly:moment? "Global time step associated with this column happen?") + (whiteout ,boolean? "If true, the grob is printed over a white +background to white-out underlying material, if the grob is visible. + Usually #f by default.") (width ,ly:dimension? "The width of a grob measured in staff space.") (word-space ,ly:dimension? "Space to insert between words in @@ -887,8 +915,8 @@ constructed from a whole number of squiggles.") (accidental-grob ,ly:grob? "The accidental for this note.") (accidental-grobs ,list? "An alist with @code{(@var{notename} . @var{groblist})} entries.") - (adjacent-hairpins ,ly:grob-array? "An array of directly neighboring -hairpins.") + (adjacent-spanners ,ly:grob-array? "An array of directly neighboring +dynamic spanners.") (all-elements ,ly:grob-array? "An array of all grobs in this line. Its function is to protect objects from being garbage collected.") (arpeggio ,ly:grob? "A pointer to an @code{Arpeggio} object.") @@ -925,6 +953,9 @@ in addition to notes and stems.") (items-worth-living ,ly:grob-array? "An array of interesting items. If empty in a particular staff, then that staff is erased.") + (keep-alive-with ,ly:grob-array? "An array of other +@code{VerticalAxisGroup}s. If any of them are alive, then we will stay alive.") + (left-items ,ly:grob-array? "DOCME") (left-neighbor ,ly:grob? "The right-most column that has a spacing-wish for this column.") @@ -935,6 +966,8 @@ for this column.") (note-heads ,ly:grob-array? "An array of note head grobs.") (pedal-text ,ly:grob? "A pointer to the text of a mixed-style piano pedal.") + (pure-relevant-grobs ,ly:grob-array? "All the grobs (items and spanners) +that are relevant for finding the @code{pure-Y-extent}") (pure-relevant-items ,ly:grob-array? "A subset of elements that are relevant for finding the @code{pure-Y-extent}.") (pure-relevant-spanners ,ly:grob-array? "A subset of elements that are @@ -948,13 +981,9 @@ relevant for finding the @code{pure-Y-extent}.") (right-items ,ly:grob-array? "DOCME") (right-neighbor ,ly:grob? "See @code{left-neighbor}.") - (separation-item ,ly:grob? "A pointer to a @code{SeparationItem} -object.") (side-support-elements ,ly:grob-array? "The side support, an array of grobs.") (slur ,ly:grob? "A pointer to a @code{Slur} object.") - (spaceable-staves ,ly:grob-array? "Objects to be spaced during page -layout.") (spacing ,ly:grob? "The spacing spanner governing this section.") (spacing-wishes ,ly:grob-array? "An array of note spacing or staff spacing objects.") @@ -975,7 +1004,7 @@ objects.") (adjacent-pure-heights ,pair? "A pair of vectors. Used by a @code{VerticalAxisGroup} to cache the @code{Y-extent}s of different column ranges.") - + (bar-extent ,number-pair? "The Y-extent of the actual bar line. This may differ from @code{Y-extent} because it does not include the dots in a repeat bar line.") @@ -1028,9 +1057,9 @@ quanting.") acts as an index for looking up a @code{Stencil} object.") (shorten ,ly:dimension? "The amount of space that a stem is shortened. Internally used to distribute beam shortening over stems.") - (skyline-distance ,number? "The distance between this staff and the -next one, as determined by a skyline algorithm.") (stem-info ,pair? "A cache of stem parameters.") + (system-Y-offset ,number? "The Y-offset (relative to the bottom of the +top-margin of the page) of the system to which this staff belongs.") (use-breve-rest ,boolean? "Use breve rests for measures longer than a whole rest.") @@ -1073,8 +1102,6 @@ ligature grob in (in @code{staff-space} units).") (inclinatum ,boolean? "Is this neume an inclinatum?") - (join-heads ,boolean? "Whether to join the note heads of an ambitus -grob with a vertical line.") (join-right-amount ,number? "A length used for calculating the Y-extent of mensural ligatures.")