shorten printer

main
Matthew Butterick 5 years ago
parent e068063a4b
commit c31121ba2a

@ -1,8 +1,9 @@
#lang racket/base
(require racket/match racket/port racket/dict)
(require racket/match racket/port racket/dict racket/struct)
(provide (all-defined-out))
;; structs
(define verbose-pitfall-printing? (make-parameter #f))
(struct pdf (width
height
@ -24,7 +25,16 @@
x
y
image-registry
output-path) #:transparent #:mutable)
output-path) #:transparent #:mutable
#:methods gen:custom-write
[(define write-proc
(make-constructor-style-printer
(λ (obj) 'pitfall-pdf)
(λ (obj) (append
(list (pdf-output-path obj))
(if (verbose-pitfall-printing?)
(list 'other-pdf-fields)
null)))))])
(struct pdf-font (name
id
@ -36,7 +46,16 @@
embedded
embed
encode
measure-string) #:transparent #:mutable)
measure-string) #:transparent #:mutable
#:methods gen:custom-write
[(define write-proc
(make-constructor-style-printer
(λ (obj) 'pitfall-font)
(λ (obj) (append
(list (pdf-font-name obj))
(if (verbose-pitfall-printing?)
(list 'other-pdf-font-fields)
null)))))])
;; for JPEG and PNG
(struct $img (data label width height ref embed-proc) #:transparent #:mutable)

Loading…
Cancel
Save