#include "line-interface.hh"
#include "warn.hh"
+#include "international.hh"
#include "dimensions.hh"
#include "bezier.hh"
#include "file-path.hh"
Stencil
Lookup::round_filled_box (Box b, Real blotdiameter)
{
- if (b.x ().length () < blotdiameter)
- blotdiameter = b.x ().length ();
- if (b.y ().length () < blotdiameter)
- blotdiameter = b.y ().length ();
+ Real width = b.x ().delta ();
+ blotdiameter = min (blotdiameter, width);
+ Real height = b.y ().delta ();
+ blotdiameter = min (blotdiameter, height);
- if (isinf (b.x ().delta ()) || isinf (b.y ().delta ()))
- return Stencil (b, SCM_EOL);
+ if (blotdiameter < 0.0)
+ {
+ if (!isinf (blotdiameter))
+ warning (_f ("Not drawing a box with negative dimension, %.2f by %.2f.",
+ width, height));
+ return Stencil (b, SCM_EOL);
+ }
SCM at = (scm_list_n (ly_symbol2scm ("round-filled-box"),
scm_from_double (-b[X_AXIS][LEFT]),
(stencil-coordinates
end-fret-coordinate end-string-coordinate)))
(ly:round-filled-box
- (cons (car lower-left) (car upper-right))
- (cons (cdr lower-left) (cdr upper-right))
+ ;; Put limits in order, or else the intervals are considered empty
+ (ordered-cons (car lower-left) (car upper-right))
+ (ordered-cons (cdr lower-left) (cdr upper-right))
sth)))
(define (draw-xo xo-list)