From 3e6aec8297fe0d4f9adc4c2e3802bcb2135c81c0 Mon Sep 17 00:00:00 2001 From: Thomas Morley Date: Wed, 24 Jul 2013 19:14:16 +0200 Subject: [PATCH] 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 --- input/regression/markup-frame-text.ly | 15 +++++++ scm/define-markup-commands.scm | 56 +++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 input/regression/markup-frame-text.ly 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 -- 2.39.2