(define-public (make-transparent-box-stencil xext yext)
"Make a transparent box."
- (ly:make-stencil
- (list 'transparent-stencil
- (ly:stencil-expr (make-filled-box-stencil xext yext)))
- xext yext))
+ (ly:stencil-outline empty-stencil (make-filled-box-stencil xext yext)))
(define-public (make-filled-box-stencil xext yext)
"Make a filled box."
replaced-stil))
(define-public (stencil-with-color stencil color)
- (ly:make-stencil
- (list 'color color (ly:stencil-expr stencil))
- (ly:stencil-extent stencil X)
- (ly:stencil-extent stencil Y)))
+ (if (color? color)
+ (ly:make-stencil
+ (list 'color color (ly:stencil-expr stencil))
+ (ly:stencil-extent stencil X)
+ (ly:stencil-extent stencil Y))
+ stencil))
(define*-public (stencil-whiteout-outline
stil #:optional (thickness 0.3) (color white)
((eq? style 'rounded-box) 3)
(else 0))))))
(cond
+ ((eq? style 'special) stil)
((eq? style 'outline) (stencil-whiteout-outline stil thick))
((eq? style 'rounded-box) (stencil-whiteout-box stil thick (* 2 thick)))
(else (stencil-whiteout-box stil thick)))))
((eq? head 'color) (interpret (caddr expr)))
((eq? head 'rotate-stencil) (interpret (caddr expr)))
((eq? head 'translate-stencil) (interpret (caddr expr)))
+ ;; for signatures, we indeed want the _outline_ rather than
+ ;; the expression interpreted. Right?
+ ((eq? head 'with-outline) (interpret (cadr expr)))
((eq? head 'combine-stencil)
(for-each interpret (cdr expr)))
(else