test for booleans only

main
Matthew Butterick 5 years ago
parent 6e79ef8369
commit 5f0dd4e0f2

@ -10,7 +10,8 @@
racket/unsafe/ops racket/unsafe/ops
"attrs.rkt" "attrs.rkt"
"param.rkt" "param.rkt"
"font.rkt") "font.rkt"
"log.rkt")
(provide (all-defined-out)) (provide (all-defined-out))
@ -369,7 +370,7 @@
#:soft-break soft-break-for-line? #:soft-break soft-break-for-line?
#:finish-wrap (finish-line-wrap line-q))))])) #:finish-wrap (finish-line-wrap line-q))))]))
(define (make-nobreak! q) (quad-set! q :no-colbr "true")) ; cooperates with col-wrap (define (make-nobreak! q) (quad-set! q :no-colbr #true)) ; cooperates with col-wrap
(define (do-keep-with-next! reversed-lines) (define (do-keep-with-next! reversed-lines)
;; paints nobreak onto spacers that follow keep-with-next lines ;; paints nobreak onto spacers that follow keep-with-next lines
@ -495,15 +496,26 @@
(quad-ref first-line :border-color-bottom) bw-bottom) (quad-ref first-line :border-color-bottom) bw-bottom)
(box-side left (+ bottom (half bw-bottom)) left (- top (half bw-top)) (box-side left (+ bottom (half bw-bottom)) left (- top (half bw-top))
(quad-ref first-line :border-color-left) bw-left) (quad-ref first-line :border-color-left) bw-left)
(case (quad-ref first-line :block-clip #false) (case (quad-ref first-line :block-clip)
[(#true "true") [(#true)
(when (eq? (log-clipping?) 'warn)
(for ([line (in-list (quad-elems q))])
(define line-width (pt-x (size line)))
(define line-elem-width (for/sum ([q (in-list (quad-elems line))])
(pt-x (size q))))
(when (< line-width line-elem-width)
(define error-str (apply string-append (for/list ([q (in-list (quad-elems line))])
(match (quad-elems q)
[(list (? string? str)) str]
[_ ""]))))
(log-quadwriter-warning (format "clipping overfull line: ~v" error-str)))))
(save doc) (save doc)
(rect doc left top width height) (rect doc left top width height)
(clip doc)])) (clip doc)]))
(define ((block-draw-end first-line) q doc) (define ((block-draw-end first-line) q doc)
(case (quad-ref first-line :block-clip #false) (case (quad-ref first-line :block-clip)
[(#true "true") (restore doc)]) [(#true) (restore doc)])
(when (draw-debug-block?) (when (draw-debug-block?)
(draw-debug q doc "#6c6" "#9c9"))) (draw-debug q doc "#6c6" "#9c9")))
@ -561,8 +573,8 @@
(define ((page-finish-wrap page-quad path) cols q0 q page-idx) (define ((page-finish-wrap page-quad path) cols q0 q page-idx)
(define elems (define elems
(match (quad-ref (car cols) :footer-display "true") (match (quad-ref (car cols) :footer-display #true)
[(or "false" "none") (from-parent cols 'nw)] [(or #false "none") (from-parent cols 'nw)]
[_ (cons (make-footer-quad page-idx path) (from-parent cols 'nw))])) [_ (cons (make-footer-quad page-idx path) (from-parent cols 'nw))]))
(list (quad-copy page-quad [elems elems]))) (list (quad-copy page-quad [elems elems])))

Loading…
Cancel
Save