source file of the GNU LilyPond music typesetter
- (c) 2005--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2005--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
struct Enclosing_bracket
{
- static bool has_interface (Grob*);
+ DECLARE_GROB_INTERFACE ();
public:
- DECLARE_SCHEME_CALLBACK(print, (SCM));
- DECLARE_SCHEME_CALLBACK(width, (SCM));
+ DECLARE_SCHEME_CALLBACK (print, (SCM));
+ DECLARE_SCHEME_CALLBACK (width, (SCM));
};
-ADD_INTERFACE(Enclosing_bracket,
- "enclosing-bracket-interface",
-
+ADD_INTERFACE (Enclosing_bracket,
"Brackets alongside bass figures.",
- /* props */
+ /* properties */
"bracket-flare "
"edge-height "
"elements "
Grob *common_x = common_refpoint_of_array (elements, me, X_AXIS);
Interval xext = Axis_group_interface::relative_group_extent (elements, common_x, X_AXIS);
-
+ if (xext.is_empty ())
+ {
+ me->programming_error ("elements have no X extent.");
+ xext = Interval (0, 0);
+ }
Stencil left_br = Horizontal_bracket::make_enclosing_bracket (me, me, elements,
Y_AXIS, LEFT);