+(define-builtin-markup-command (rounded-box layout props arg) (markup?)
+ "@cindex enclosing text in a bow with rounded corners
+ @cindex drawing boxes with rounded corners around text
+Draw a box with rounded corners around @var{arg}. Looks at @code{thickness},
+@code{box-padding} and @code{font-size} properties to determine line
+thickness and padding around the markup; the @code{corner-radius} property
+makes possible to define another shape for the corners (default is 1).
+
+@lilypond[quote,verbatim,fragment,relative=2]
+c^\\markup{ \\rounded-box Overtura }
+c,8. c16 c4 r
+@end lilypond"
+ (let* ((th (*
+ (ly:output-def-lookup layout 'line-thickness)
+ (chain-assoc-get 'thickness props 1)))
+ (rad (chain-assoc-get 'corner-radius props 1))
+ (size (chain-assoc-get 'font-size props 0))
+ (pad (* (magstep size)
+ (chain-assoc-get 'box-padding props 0.5)))
+ (m (interpret-markup layout props arg)))
+ (ly:stencil-add (rounded-box-stencil m th pad rad)
+ m)))
+