<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!-- header_tag --> <html lang="en"> <head> <title>grob-interface - LilyPond program-reference</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="description" content="LilyPond program-reference"> <meta name="generator" content="makeinfo 4.11"> <link title="Top" rel="start" href="index.fr.html#Top"> <link rel="up" href="Graphical-Object-Interfaces.fr.html#Graphical-Object-Interfaces" title="Graphical Object Interfaces"> <link rel="prev" href="grid_002dpoint_002dinterface.fr.html#grid_002dpoint_002dinterface" title="grid-point-interface"> <link rel="next" href="hairpin_002dinterface.fr.html#hairpin_002dinterface" title="hairpin-interface"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller } span.sc { font-variant:small-caps } span.roman { font-family:serif; font-weight:normal; } span.sansserif { font-family:sans-serif; font-weight:normal; } hr { border:0; height:1; color: #000000; background-color: #000000; } /* hr { border: none; height: 1px; color: #666666; background-color: #666666; } body { border-left: 1px solid #666666; border-right: 1px solid #666666; color: #332d28; margin-right: auto; margin-left: auto; width: 60em; list-style-type: square; font-family: Arial,Helvetica,sans-serif; padding-right: 1em; padding-left: 1em; } a { border-bottom: 1px dashed #344242; text-decoration: none; color: #344242; } a:link { text-decoration: none; } a:visited { border-bottom: 1px dashed #666666; color: #666666; } a:active { border-bottom: 1px solid #00cccc; color: #00cccc; } a:hover { border-bottom: 1px solid #1d7b85; color: #1d7b85; } blockquote { border: 1px solid #cccccc; padding: 3px; width: 40em; } .node { border-left: 1px solid #666666; margin: -0.5em 0px 1em; padding: 2px 1px 0px; font-style: italic; } .node a { border: none; text-decoration: underline; font-style: normal; font-weight: bold; } .verbatim { font-family: "Courier New",Courier,monospace; } .unnumberedsubsubsec { font-size: large; color: #1d7b85; } .subsubheading { font-size: large; color: #3b220d; } .contents { border: 1px dashed #339999; margin: 3px 2em; list-style-type: square; padding-right: 1em; width: 40em; background-color: #fcfff9; } .contents a { border-bottom: 1px dashed #423d34; text-decoration: none; color: #423d34; } .contents a:visited { border-bottom: 1px dashed #666666; color: #666666; } .contents a:active { border-bottom: 1px solid #f0d86d; color: #f0d86d; } .contents a:hover { border-bottom: 1px solid #3b220d; color: #3b220d; } .menu { border-left: 1px dashed #339999; margin: 3px 2em 1em; list-style-type: square; padding-left: 1.4em; width: 40em; } .unnumbered { } h2 { font-size: x-large; color: #1d7b85; } */ --></style> </head> <BODY BGCOLOR=WHITE TEXT=BLACK> <div class="node"> <p> <a name="grob-interface"></a> <a name="grob_002dinterface"></a> Next: <a rel="next" accesskey="n" href="hairpin_002dinterface.fr.html#hairpin_002dinterface">hairpin-interface</a>, Previous: <a rel="previous" accesskey="p" href="grid_002dpoint_002dinterface.fr.html#grid_002dpoint_002dinterface">grid-point-interface</a>, Up: <a rel="up" accesskey="u" href="Graphical-Object-Interfaces.fr.html#Graphical-Object-Interfaces">Graphical Object Interfaces</a> <hr> </div> <h4 class="unnumberedsubsec">grob-interface</h4> <p>A grob represents a piece of music notation. <p>All grobs have an X and Y position on the page. These X and Y positions are stored in a relative format, thus they can easily be combined by stacking them, hanging one grob to the side of another, or coupling them into grouping objects. <p>Each grob has a reference point (a.k.a. parent): The position of a grob is stored relative to that reference point. For example, the X reference point of a staccato dot usually is the note head that it applies to. When the note head is moved, the staccato dot moves along automatically. <p>A grob is often associated with a symbol, but some grobs do not print any symbols. They take care of grouping objects. For example, there is a separate grob that stacks staves vertically. The <a href="NoteCollision.fr.html#NoteCollision">NoteCollision</a> object is also an abstract grob: It only moves around chords, but doesn't print anything. <p>Grobs have properties (Scheme variables) that can be read and set. Two types of them exist: immutable and mutable. Immutable variables define the default style and behavior. They are shared between many objects. They can be changed using <code>\override</code> and <code>\revert</code>. Mutable properties are variables that are specific to one grob. Typically, lists of other objects, or results from computations are stored in mutable properties. In particular, every call to <code>set-grob-property</code> (or its C++ equivalent) sets a mutable property. <p>The properties <code>after-line-breaking</code> and <code>before-line-breaking</code> are dummies that are not user-serviceable. <h5 class="unnumberedsubsubsec">User settable properties:</h5> <blockquote> <dl> <dt><code>X-extent</code> (pair of numbers)<dd>Hard coded extent in X direction. <br><dt><code>X-offset</code> (number)<dd>The horizontal amount that this object is moved relative to its X-parent. <br><dt><code>Y-extent</code> (pair of numbers)<dd>Hard coded extent in Y direction. <br><dt><code>Y-offset</code> (number)<dd>The vertical amount that this object is moved relative to its Y-parent. <br><dt><code>after-line-breaking</code> (boolean)<dd>Dummy property, used to trigger callback for <code>after-line-breaking</code>. <br><dt><code>avoid-slur</code> (symbol)<dd>Method of handling slur collisions. Choices are <code>around</code>, <code>inside</code>, <code>outside</code>. If unset, scripts and slurs ignore each other. <code>around</code> only moves the script if there is a collision; <code>outside</code> always moves the script. <br><dt><code>before-line-breaking</code> (boolean)<dd>Dummy property, used to trigger a callback function. <br><dt><code>color</code> (list)<dd>The color of this grob. <br><dt><code>extra-X-extent</code> (pair of numbers)<dd>A grob is enlarged in X dimension by this much. <br><dt><code>extra-Y-extent</code> (pair of numbers)<dd>A grob is enlarged in Y dimension by this much. <br><dt><code>extra-offset</code> (pair of numbers)<dd>A pair representing an offset. This offset is added just before outputting the symbol, so the typesetting engine is completely oblivious to it. The values are measured in <code>staff-space</code> units of the staff's <code>StaffSymbol</code>. <br><dt><code>layer</code> (integer)<dd>The output layer (a value between 0 and 2: Layers define the order of printing objects. Objects in lower layers are overprinted by objects in higher layers. <br><dt><code>minimum-X-extent</code> (pair of numbers)<dd>Minimum size of an object in X dimension, measured in <code>staff-space</code> units. <br><dt><code>minimum-Y-extent</code> (pair of numbers)<dd>Minimum size of an object in Y dimension, measured in <code>staff-space</code> units. <br><dt><code>outside-staff-horizontal-padding</code> (number)<dd>By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor. <br><dt><code>outside-staff-padding</code> (number)<dd>The padding to place between this grob and the staff when spacing according to <code>outside-staff-priority</code>. <br><dt><code>outside-staff-priority</code> (number)<dd>If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller <code>outside-staff-priority</code> is closer to the staff. <br><dt><code>rotation</code> (list)<dd>Number of degrees to rotate this object, and what point to rotate around. For example, <code>#'(45 0 0)</code> rotates by 45 degrees around the center of this object. <br><dt><code>springs-and-rods</code> (boolean)<dd>Dummy variable for triggering spacing routines. <br><dt><code>stencil</code> (unknown)<dd>The symbol to print. <br><dt><code>transparent</code> (boolean)<dd>This makes the grob invisible. </dl> </blockquote> <h5 class="unnumberedsubsubsec">Internal properties:</h5> <blockquote> <dl> <dt><code>axis-group-parent-X</code> (layout object)<dd>Containing X axis group. <br><dt><code>axis-group-parent-Y</code> (layout object)<dd>Containing Y axis group. <br><dt><code>cause</code> (any type)<dd>Any kind of causation objects (i.e., music, or perhaps translator) that was the cause for this grob. <br><dt><code>cross-staff</code> (boolean)<dd>For a beam or a stem, this is true if we depend on inter-staff spacing. <br><dt><code>interfaces</code> (list)<dd>A list of symbols indicating the interfaces supported by this object. It is initialized from the <code>meta</code> field. <br><dt><code>meta</code> (list)<dd>Provide meta information. It is an alist with the entries <code>name</code> and <code>interfaces</code>. <br><dt><code>pure-Y-offset-in-progress</code> (boolean)<dd>A debugging aid for catching cyclic dependencies. <br><dt><code>staff-symbol</code> (layout object)<dd>The staff symbol grob that we are in. </dl> </blockquote> <p>This grob interface is used in the following graphical object(s): <a href="Accidental.fr.html#Accidental">Accidental</a>, <a href="AccidentalCautionary.fr.html#AccidentalCautionary">AccidentalCautionary</a>, <a href="AccidentalPlacement.fr.html#AccidentalPlacement">AccidentalPlacement</a>, <a href="AccidentalSuggestion.fr.html#AccidentalSuggestion">AccidentalSuggestion</a>, <a href="Ambitus.fr.html#Ambitus">Ambitus</a>, <a href="AmbitusAccidental.fr.html#AmbitusAccidental">AmbitusAccidental</a>, <a href="AmbitusLine.fr.html#AmbitusLine">AmbitusLine</a>, <a href="AmbitusNoteHead.fr.html#AmbitusNoteHead">AmbitusNoteHead</a>, <a href="Arpeggio.fr.html#Arpeggio">Arpeggio</a>, <a href="BalloonTextItem.fr.html#BalloonTextItem">BalloonTextItem</a>, <a href="BarLine.fr.html#BarLine">BarLine</a>, <a href="BarNumber.fr.html#BarNumber">BarNumber</a>, <a href="BassFigure.fr.html#BassFigure">BassFigure</a>, <a href="BassFigureAlignment.fr.html#BassFigureAlignment">BassFigureAlignment</a>, <a href="BassFigureAlignmentPositioning.fr.html#BassFigureAlignmentPositioning">BassFigureAlignmentPositioning</a>, <a href="BassFigureBracket.fr.html#BassFigureBracket">BassFigureBracket</a>, <a href="BassFigureContinuation.fr.html#BassFigureContinuation">BassFigureContinuation</a>, <a href="BassFigureLine.fr.html#BassFigureLine">BassFigureLine</a>, <a href="Beam.fr.html#Beam">Beam</a>, <a href="BendAfter.fr.html#BendAfter">BendAfter</a>, <a href="BreakAlignGroup.fr.html#BreakAlignGroup">BreakAlignGroup</a>, <a href="BreakAlignment.fr.html#BreakAlignment">BreakAlignment</a>, <a href="BreathingSign.fr.html#BreathingSign">BreathingSign</a>, <a href="ChordName.fr.html#ChordName">ChordName</a>, <a href="Clef.fr.html#Clef">Clef</a>, <a href="ClusterSpanner.fr.html#ClusterSpanner">ClusterSpanner</a>, <a href="ClusterSpannerBeacon.fr.html#ClusterSpannerBeacon">ClusterSpannerBeacon</a>, <a href="CombineTextScript.fr.html#CombineTextScript">CombineTextScript</a>, <a href="Custos.fr.html#Custos">Custos</a>, <a href="DotColumn.fr.html#DotColumn">DotColumn</a>, <a href="Dots.fr.html#Dots">Dots</a>, <a href="DoublePercentRepeat.fr.html#DoublePercentRepeat">DoublePercentRepeat</a>, <a href="DoublePercentRepeatCounter.fr.html#DoublePercentRepeatCounter">DoublePercentRepeatCounter</a>, <a href="DynamicLineSpanner.fr.html#DynamicLineSpanner">DynamicLineSpanner</a>, <a href="DynamicText.fr.html#DynamicText">DynamicText</a>, <a href="DynamicTextSpanner.fr.html#DynamicTextSpanner">DynamicTextSpanner</a>, <a href="Fingering.fr.html#Fingering">Fingering</a>, <a href="FretBoard.fr.html#FretBoard">FretBoard</a>, <a href="Glissando.fr.html#Glissando">Glissando</a>, <a href="GraceSpacing.fr.html#GraceSpacing">GraceSpacing</a>, <a href="GridLine.fr.html#GridLine">GridLine</a>, <a href="GridPoint.fr.html#GridPoint">GridPoint</a>, <a href="Hairpin.fr.html#Hairpin">Hairpin</a>, <a href="HarmonicParenthesesItem.fr.html#HarmonicParenthesesItem">HarmonicParenthesesItem</a>, <a href="HorizontalBracket.fr.html#HorizontalBracket">HorizontalBracket</a>, <a href="InstrumentName.fr.html#InstrumentName">InstrumentName</a>, <a href="InstrumentSwitch.fr.html#InstrumentSwitch">InstrumentSwitch</a>, <a href="KeyCancellation.fr.html#KeyCancellation">KeyCancellation</a>, <a href="KeySignature.fr.html#KeySignature">KeySignature</a>, <a href="LaissezVibrerTie.fr.html#LaissezVibrerTie">LaissezVibrerTie</a>, <a href="LaissezVibrerTieColumn.fr.html#LaissezVibrerTieColumn">LaissezVibrerTieColumn</a>, <a href="LedgerLineSpanner.fr.html#LedgerLineSpanner">LedgerLineSpanner</a>, <a href="LeftEdge.fr.html#LeftEdge">LeftEdge</a>, <a href="LigatureBracket.fr.html#LigatureBracket">LigatureBracket</a>, <a href="LyricExtender.fr.html#LyricExtender">LyricExtender</a>, <a href="LyricHyphen.fr.html#LyricHyphen">LyricHyphen</a>, <a href="LyricSpace.fr.html#LyricSpace">LyricSpace</a>, <a href="LyricText.fr.html#LyricText">LyricText</a>, <a href="MeasureGrouping.fr.html#MeasureGrouping">MeasureGrouping</a>, <a href="MelodyItem.fr.html#MelodyItem">MelodyItem</a>, <a href="MensuralLigature.fr.html#MensuralLigature">MensuralLigature</a>, <a href="MetronomeMark.fr.html#MetronomeMark">MetronomeMark</a>, <a href="MultiMeasureRest.fr.html#MultiMeasureRest">MultiMeasureRest</a>, <a href="MultiMeasureRestNumber.fr.html#MultiMeasureRestNumber">MultiMeasureRestNumber</a>, <a href="MultiMeasureRestText.fr.html#MultiMeasureRestText">MultiMeasureRestText</a>, <a href="NonMusicalPaperColumn.fr.html#NonMusicalPaperColumn">NonMusicalPaperColumn</a>, <a href="NoteCollision.fr.html#NoteCollision">NoteCollision</a>, <a href="NoteColumn.fr.html#NoteColumn">NoteColumn</a>, <a href="NoteHead.fr.html#NoteHead">NoteHead</a>, <a href="NoteName.fr.html#NoteName">NoteName</a>, <a href="NoteSpacing.fr.html#NoteSpacing">NoteSpacing</a>, <a href="OctavateEight.fr.html#OctavateEight">OctavateEight</a>, <a href="OttavaBracket.fr.html#OttavaBracket">OttavaBracket</a>, <a href="PaperColumn.fr.html#PaperColumn">PaperColumn</a>, <a href="ParenthesesItem.fr.html#ParenthesesItem">ParenthesesItem</a>, <a href="PercentRepeat.fr.html#PercentRepeat">PercentRepeat</a>, <a href="PercentRepeatCounter.fr.html#PercentRepeatCounter">PercentRepeatCounter</a>, <a href="PhrasingSlur.fr.html#PhrasingSlur">PhrasingSlur</a>, <a href="PianoPedalBracket.fr.html#PianoPedalBracket">PianoPedalBracket</a>, <a href="RehearsalMark.fr.html#RehearsalMark">RehearsalMark</a>, <a href="RepeatSlash.fr.html#RepeatSlash">RepeatSlash</a>, <a href="RepeatTie.fr.html#RepeatTie">RepeatTie</a>, <a href="RepeatTieColumn.fr.html#RepeatTieColumn">RepeatTieColumn</a>, <a href="Rest.fr.html#Rest">Rest</a>, <a href="RestCollision.fr.html#RestCollision">RestCollision</a>, <a href="Script.fr.html#Script">Script</a>, <a href="ScriptColumn.fr.html#ScriptColumn">ScriptColumn</a>, <a href="ScriptRow.fr.html#ScriptRow">ScriptRow</a>, <a href="SeparationItem.fr.html#SeparationItem">SeparationItem</a>, <a href="Slur.fr.html#Slur">Slur</a>, <a href="SostenutoPedal.fr.html#SostenutoPedal">SostenutoPedal</a>, <a href="SostenutoPedalLineSpanner.fr.html#SostenutoPedalLineSpanner">SostenutoPedalLineSpanner</a>, <a href="SpacingSpanner.fr.html#SpacingSpanner">SpacingSpanner</a>, <a href="SpanBar.fr.html#SpanBar">SpanBar</a>, <a href="StaffSpacing.fr.html#StaffSpacing">StaffSpacing</a>, <a href="StaffSymbol.fr.html#StaffSymbol">StaffSymbol</a>, <a href="StanzaNumber.fr.html#StanzaNumber">StanzaNumber</a>, <a href="Stem.fr.html#Stem">Stem</a>, <a href="StemTremolo.fr.html#StemTremolo">StemTremolo</a>, <a href="StringNumber.fr.html#StringNumber">StringNumber</a>, <a href="StrokeFinger.fr.html#StrokeFinger">StrokeFinger</a>, <a href="SustainPedal.fr.html#SustainPedal">SustainPedal</a>, <a href="SustainPedalLineSpanner.fr.html#SustainPedalLineSpanner">SustainPedalLineSpanner</a>, <a href="System.fr.html#System">System</a>, <a href="SystemStartBar.fr.html#SystemStartBar">SystemStartBar</a>, <a href="SystemStartBrace.fr.html#SystemStartBrace">SystemStartBrace</a>, <a href="SystemStartBracket.fr.html#SystemStartBracket">SystemStartBracket</a>, <a href="SystemStartSquare.fr.html#SystemStartSquare">SystemStartSquare</a>, <a href="TabNoteHead.fr.html#TabNoteHead">TabNoteHead</a>, <a href="TextScript.fr.html#TextScript">TextScript</a>, <a href="TextSpanner.fr.html#TextSpanner">TextSpanner</a>, <a href="Tie.fr.html#Tie">Tie</a>, <a href="TieColumn.fr.html#TieColumn">TieColumn</a>, <a href="TimeSignature.fr.html#TimeSignature">TimeSignature</a>, <a href="TrillPitchAccidental.fr.html#TrillPitchAccidental">TrillPitchAccidental</a>, <a href="TrillPitchGroup.fr.html#TrillPitchGroup">TrillPitchGroup</a>, <a href="TrillPitchHead.fr.html#TrillPitchHead">TrillPitchHead</a>, <a href="TrillSpanner.fr.html#TrillSpanner">TrillSpanner</a>, <a href="TupletBracket.fr.html#TupletBracket">TupletBracket</a>, <a href="TupletNumber.fr.html#TupletNumber">TupletNumber</a>, <a href="UnaCordaPedal.fr.html#UnaCordaPedal">UnaCordaPedal</a>, <a href="UnaCordaPedalLineSpanner.fr.html#UnaCordaPedalLineSpanner">UnaCordaPedalLineSpanner</a>, <a href="VaticanaLigature.fr.html#VaticanaLigature">VaticanaLigature</a>, <a href="VerticalAlignment.fr.html#VerticalAlignment">VerticalAlignment</a>, <a href="VerticalAxisGroup.fr.html#VerticalAxisGroup">VerticalAxisGroup</a>, <a href="VoiceFollower.fr.html#VoiceFollower">VoiceFollower</a>, <a href="VoltaBracket.fr.html#VoltaBracket">VoltaBracket</a> and <a href="VoltaBracketSpanner.fr.html#VoltaBracketSpanner">VoltaBracketSpanner</a>. <!-- footer_tag --><br><hr> <div class="node"> <p> <a name="grob_002dinterface"></a> Next: <a rel="next" accesskey="n" href="hairpin_002dinterface.fr.html#hairpin_002dinterface">hairpin-interface</a>, Previous: <a rel="previous" accesskey="p" href="grid_002dpoint_002dinterface.fr.html#grid_002dpoint_002dinterface">grid-point-interface</a>, Up: <a rel="up" accesskey="u" href="Graphical-Object-Interfaces.fr.html#Graphical-Object-Interfaces">Graphical Object Interfaces</a> </div> <div style="background-color: #e8ffe8; padding: 2; border: #c0ffc0 1px solid;"> <p> <font size="-1"> Cette page documente LilyPond-2.11.57 (branche de développement). <br> <address> Rapportez toute anomalie en français à <a href="mailto:lilypond-user-fr@gnu.org">lilypond-user-fr@gnu.org</a> ou en anglais à <a href="http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs">http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs</a> </address> <br> Vos <a href="http://lilypond.org/web/devel/participating/documentation-adding">suggestions à propos de la documentation</a> sont les bienvenues. </font> </p> </div> </BODY></html>