]> git.donarmstrong.com Git - lilypond.git/commit
Adds outside-staff-interface and outside-staff-axis-group-interface
authorMike Solomon <mike@mikesolomon.org>
Mon, 16 Dec 2013 08:11:10 +0000 (10:11 +0200)
committerMike Solomon <mike@mikesolomon.org>
Tue, 31 Dec 2013 06:43:53 +0000 (08:43 +0200)
commit9bac5472e52293d213b698a251035a1f1d9c5e0d
tree4c401dc55cb2732e01949fcdf0c7835a8604c6a2
parent2a3f532ed055b175903cad2a1cdb40b7a54e60f4
Adds outside-staff-interface and outside-staff-axis-group-interface

When a property exists in an interface, the property should make sense for
a sensible of grobs that implement that interface.  Otherwise, the property
should be part of a separate interface that applies to a sensibly-sized
group of grobs.

Various properties having to do with outside-staff calculations belong to
grob-interface.  This does not make sense for many grobs (StaffSpacing,
NoteSpacing, SpacingSpanner, StaffSymbol just to name a few).  There is a
limited collection of grobs for which outside-staff properties make sense.
The outside-staff-interface provides a separate interface to be implemented
by these grobs.

The same is true for axis groups that place outside-staff grobs, which form
a limited subset of grobs implementing the axis-group-interface.  Rather than
putting the relevant properties in the axis-group-interface, we move
them to an outside-staff-axis-group-interface.
input/regression/scheme-text-spanner.ly
lily/axis-group-interface.cc
lily/grob.cc
scm/define-grob-interfaces.scm
scm/define-grobs.scm