[ << Changing defaults ] | [Top][Contents][Index] | [ Notation manual tables >> ] |
[ < Rotating markup ] | [ Up : Useful concepts and properties ] | [ Setting X-offset and Y-offset directly > ] |
5.4.9 Aligning objects
Graphical objects which support the self-alignment-interface
and/or the side-position-interface
can be aligned to a previously
placed object in a variety of ways. For a list of these objects, see
self-alignment-interface and side-position-interface.
All graphical objects have a reference point, a horizontal extent and a vertical extent. The horizontal extent is a pair of numbers giving the displacements from the reference point of the left and right edges, displacements to the left being negative. The vertical extent is a pair of numbers giving the displacement from the reference point to the bottom and top edges, displacements down being negative.
An object’s position on a staff is given by the values of the
X-offset
and Y-offset
properties. The value of
X-offset
gives the displacement from the X coordinate of
the reference point of the parent object, and the value of
Y-offset
gives the displacement from the center line of the
staff. The values of X-offset
and Y-offset
may
be set directly or may be set to be calculated by procedures in order
to achieve alignment with the parent object.
Note: Many objects have special positioning considerations which
cause any setting of X-offset
or Y-offset
to be
ignored or modified, even though the object supports the
self-alignment-interface
. Overriding the X-offset
or Y-offset
properties to a fixed value causes the respective
self-alignment
property to be disregarded.
For example, an accidental can be repositioned vertically by setting
Y-offset
but any changes to X-offset
have no effect.
Rehearsal marks may be aligned with breakable objects such as bar
lines, clef symbols, time signature symbols and key signatures. There
are special properties to be found in the break-aligned-interface
for positioning rehearsal marks on such objects.
See also
Notation Reference:
Using the break-alignable-interface
.
Extending LilyPond: Callback functions.
Setting X-offset and Y-offset directly | ||
Using the side-position-interface | ||
Using the self-alignment-interface | ||
Using the break-alignable-interface |
[ << Changing defaults ] | [Top][Contents][Index] | [ Notation manual tables >> ] |
[ < Rotating markup ] | [ Up : Useful concepts and properties ] | [ Setting X-offset and Y-offset directly > ] |