]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/stencil.scm
Update from Andrew.
[lilypond.git] / scm / stencil.scm
index 3256d49f61e6140b229cf0d721548d0966348648..6a4b88d7b2c24a3f0d22e351cb277f2c68d4f2ec 100644 (file)
 
 (define-public (make-circle-stencil radius thickness fill)
   "Make a circle of radius @var{radius} and thickness @var{thickness}"
+  (let*
+      ((out-radius (+ radius (/ thickness 2.0))))
+    
   (ly:make-stencil
    (list 'circle radius thickness fill) 
-   (cons (- radius) radius)
-   (cons (- radius) radius)))
+   (cons (- out-radius) out-radius)
+   (cons (- out-radius) out-radius))))
 
 (define-public (box-grob-stencil grob)
   "Make a box of exactly the extents of the grob.  The box precisely
@@ -91,8 +94,8 @@ encloses the contents.
 "
   (let* ((xext (ly:grob-extent grob grob 0))
         (yext (ly:grob-extent grob grob 1))
-        (thick 0.1))
-    
+        (thick 0.01))
+
     (ly:stencil-add
      (make-filled-box-stencil xext (cons (- (car yext) thick) (car yext)))
      (make-filled-box-stencil xext (cons (cdr yext) (+ (cdr yext) thick)))
@@ -138,13 +141,12 @@ encloses the contents.
    (ideal-blot (min blot (/ min-ext 2)))
    (ideal-thickness (min thickness (/ min-ext 2)))
         (outer (ly:round-filled-box
-                  (interval-widen xext ideal-thickness) 
-       (interval-widen yext ideal-thickness) 
-            ideal-blot))
-        (inner (ly:make-stencil (list 'color (x11-color 'white) (ly:stencil-expr (ly:round-filled-box 
-       (cons (+ (car xext) ideal-thickness) (- (cdr xext) ideal-thickness)) 
-       (cons (+ (car yext) ideal-thickness) (- (cdr yext) ideal-thickness)) 
-            (- ideal-blot (* ideal-thickness 2))))))))
+            (interval-widen xext ideal-thickness) 
+            (interval-widen yext ideal-thickness) 
+               ideal-blot))
+        (inner (ly:make-stencil (list 'color (x11-color 'white) 
+            (ly:stencil-expr (ly:round-filled-box 
+               xext yext (- ideal-blot ideal-thickness)))))))
     (set! stencil (ly:stencil-add outer inner))
     stencil))