DECLARE_SCHEME_CALLBACK (print, (SCM));
DECLARE_SCHEME_CALLBACK (width, (SCM));
DECLARE_SCHEME_CALLBACK (height, (SCM));
+ DECLARE_SCHEME_CALLBACK (pure_height, (SCM, SCM, SCM));
};
#endif // REST_HH
SCM m = brew_internal_stencil (me, a != X_AXIS);
return ly_interval2scm (unsmob_stencil (m)->extent (a));
}
+MAKE_SCHEME_CALLBACK (Rest, pure_height, 3);
+SCM
+Rest::pure_height (SCM smob, SCM start, SCM end)
+{
+ (void) start;
+ (void) end;
+
+ Grob *me = unsmob_grob (smob);
+ SCM m = brew_internal_stencil (me, false);
+ return ly_interval2scm (unsmob_stencil (m)->extent (Y_AXIS));
+}
ADD_INTERFACE (Rest, "rest-interface",
"A rest symbol.",
/* properties */
- "style "
"direction "
- "minimum-distance");
+ "minimum-distance "
+ "style "
+ );
(self-alignment-X . 0)
(self-alignment-Y . 0)
(script-priority . 100)
-
- (after-line-breaking . ,(lambda (grob)
- (display (list
- (ly:grob-extent grob (ly:grob-parent grob X) X)
- " "
- (ly:grob-relative-coordinate grob (ly:grob-parent grob X) X) "\n"))))
-
(stencil . ,ly:text-interface::print)
(direction . ,ly:script-interface::calc-direction)
(text . ,fingering::calc-text)
(list
`(,ly:slur::outside-slur-callback . ,ly:slur::pure-outside-slur-callback)
`(,ly:stem::height . ,ly:stem::pure-height)
+ `(,ly:rest::height . ,ly:rest::pure-height)
`(,ly:grob::stencil-height . ,pure-stencil-height)
`(,ly:side-position-interface::y-aligned-side . ,ly:side-position-interface::pure-y-aligned-side)
`(,ly:axis-group-interface::height . ,ly:axis-group-interface::pure-height)
(define pure-functions
(list
- ly:rest::height
ly:staff-symbol-referencer::callback
ly:staff-symbol::height))