From: Thomas Morley Date: Wed, 24 Jul 2013 17:14:16 +0000 (+0200) Subject: Issue 3469: adding markup-commands \oval and \ellipse X-Git-Tag: release/2.17.23-1~12 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=3e6aec8297fe0d4f9adc4c2e3802bcb2135c81c0;p=lilypond.git Issue 3469: adding markup-commands \oval and \ellipse \oval and \ellipse are drawing an oval respectively an ellipse around their argument. Also adding a reg-test for markup-commands framing their argument. Signed-off-by: David Kastrup --- diff --git a/input/regression/markup-frame-text.ly b/input/regression/markup-frame-text.ly new file mode 100644 index 0000000000..b24ab95298 --- /dev/null +++ b/input/regression/markup-frame-text.ly @@ -0,0 +1,15 @@ +\version "2.17.23" + +\header { + + texidoc = "Text is framed properly with @code{\\box}, +@code{\\circle}, @code{\\oval} and @code{\\ellipse}" + +} + +\markup \column { + \line { \box { text in boxes "1" "12" "123" } } + \line { \circle { text in circles "1" "12" "123" } } + \line { \oval { text in ovals "1" "12" "123" } } + \line { \ellipse { text in ellipses "1" "12" "123" } } +} diff --git a/scm/define-markup-commands.scm b/scm/define-markup-commands.scm index ed1ab40420..2f08783d7e 100644 --- a/scm/define-markup-commands.scm +++ b/scm/define-markup-commands.scm @@ -380,6 +380,62 @@ thickness and padding around the markup. (m (interpret-markup layout props arg))) (circle-stencil m th pad))) +(define-markup-command (ellipse layout props arg) + (markup?) + #:category graphic + #:properties ((thickness 1) + (font-size 0) + (x-padding 0.2) + (y-padding 0.2)) + " +@cindex drawing ellipse around text + +Draw an ellipse around @var{arg}. Use @code{thickness}, +@code{x-padding}, @code{y-padding} and @code{font-size} properties to determine +line thickness and padding around the markup. + +@lilypond[verbatim,quote] +\\markup { + \\ellipse { + Hi + } +} +@end lilypond" + (let ((th (* (ly:output-def-lookup layout 'line-thickness) + thickness)) + (pad-x (* (magstep font-size) x-padding)) + (pad-y (* (magstep font-size) y-padding)) + (m (interpret-markup layout props arg))) + (ellipse-stencil m th pad-x pad-y))) + +(define-markup-command (oval layout props arg) + (markup?) + #:category graphic + #:properties ((thickness 1) + (font-size 0) + (x-padding 0.75) + (y-padding 0.75)) + " +@cindex drawing oval around text + +Draw a oval around @var{arg}. Use @code{thickness}, +@code{x-padding}, @code{x-padding} and @code{font-size} properties to determine +line thickness and padding around the markup. + +@lilypond[verbatim,quote] +\\markup { + \\oval { + Hi + } +} +@end lilypond" + (let ((th (* (ly:output-def-lookup layout 'line-thickness) + thickness)) + (pad-x (* (magstep font-size) x-padding)) + (pad-y (* (magstep font-size) y-padding)) + (m (interpret-markup layout props arg))) + (oval-stencil m th pad-x pad-y))) + (define-markup-command (with-url layout props url arg) (string? markup?) #:category graphic