Re: make-line-stencil

2015-12-20 Thread David Kastrup
Andrew Bernard <andrew.bern...@gmail.com> writes:

> The make-line-stencil function appears to be hardwired to draw lines with 
> rounded ends. Is there any way it can be persuaded to make lines with square 
> ends?
>
> This is the code in stencil.scm:
>
> (define-public (make-line-stencil width startx starty endx endy)
>   "Make a line stencil of given linewidth and set its extents accordingly."
>   (let ((xext (cons (min startx endx) (max startx endx)))
> (yext (cons (min starty endy) (max starty endy
> (ly:make-stencil
>  (list 'draw-line width startx starty endx endy)
>  ;; Since the line has rounded edges, we have to / can safely add half the
>  ;; width to all coordinates!
>  (interval-widen xext (/ width 2))
>  (interval-widen yext (/ width 2)
>
> I suspect the answer is buried somewhere in the output drawing routines, but 
> so far my detective work has failed to uncover where.

You can follow the links in
<URL:http://www.lilypond.org/doc/v2.18/input/regression/collated-files.html#markup-path-linecap.ly>.

-- 
David Kastrup

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


make-line-stencil

2015-12-19 Thread Andrew Bernard
The make-line-stencil function appears to be hardwired to draw lines with 
rounded ends. Is there any way it can be persuaded to make lines with square 
ends?

This is the code in stencil.scm:

(define-public (make-line-stencil width startx starty endx endy)
  "Make a line stencil of given linewidth and set its extents accordingly."
  (let ((xext (cons (min startx endx) (max startx endx)))
(yext (cons (min starty endy) (max starty endy
(ly:make-stencil
 (list 'draw-line width startx starty endx endy)
 ;; Since the line has rounded edges, we have to / can safely add half the
 ;; width to all coordinates!
 (interval-widen xext (/ width 2))
 (interval-widen yext (/ width 2)

I suspect the answer is buried somewhere in the output drawing routines, but so 
far my detective work has failed to uncover where.

Andrew


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user