added yet one more hook to traces/ps

svn: r13236
This commit is contained in:
Robby Findler 2009-01-20 15:31:02 +00:00
parent fce7b22e64
commit 5d7429c25e
3 changed files with 12 additions and 4 deletions

View File

@ -55,7 +55,8 @@
#:edge-label-font (or/c #f (is-a?/c font%)) #:edge-label-font (or/c #f (is-a?/c font%))
#:edge-labels? boolean? #:edge-labels? boolean?
#:filter (-> any/c (or/c #f string?) any/c) #:filter (-> any/c (or/c #f string?) any/c)
#:graph-pasteboard-mixin (make-mixin-contract graph-pasteboard<%>)) #:graph-pasteboard-mixin (make-mixin-contract graph-pasteboard<%>)
#:post-process (-> (is-a?/c graph-pasteboard<%>) any/c))
any)] any)]
[term-node? (-> any/c boolean?)] [term-node? (-> any/c boolean?)]

View File

@ -135,7 +135,8 @@
#:edge-label-font [edge-label-font #f] #:edge-label-font [edge-label-font #f]
#:edge-labels? [edge-labels? #t] #:edge-labels? [edge-labels? #t]
#:graph-pasteboard-mixin [extra-graph-pasteboard-mixin values] #:graph-pasteboard-mixin [extra-graph-pasteboard-mixin values]
#:filter [term-filter (lambda (x y) #t)]) #:filter [term-filter (lambda (x y) #t)]
#:post-process [post-process void])
(let-values ([(graph-pb canvas) (let-values ([(graph-pb canvas)
(traces reductions pre-exprs (traces reductions pre-exprs
#:no-show-frame? #t #:no-show-frame? #t
@ -149,6 +150,7 @@
#:edge-labels? edge-labels? #:edge-labels? edge-labels?
#:graph-pasteboard-mixin extra-graph-pasteboard-mixin #:graph-pasteboard-mixin extra-graph-pasteboard-mixin
#:filter term-filter)]) #:filter term-filter)])
(post-process graph-pb)
(print-to-ps graph-pb canvas filename))) (print-to-ps graph-pb canvas filename)))
(define (print-to-ps graph-pb canvas filename) (define (print-to-ps graph-pb canvas filename)

View File

@ -1267,12 +1267,17 @@ inserted into the editor by this library have a
[#:layout layout (-> (listof term-node?) void) void] [#:layout layout (-> (listof term-node?) void) void]
[#:edge-labels? edge-label-font boolean? #t] [#:edge-labels? edge-label-font boolean? #t]
[#:edge-label-font edge-label-font (or/c #f (is-a?/c font%)) #f] [#:edge-label-font edge-label-font (or/c #f (is-a?/c font%)) #f]
[#:graph-pasteboard-mixin graph-pasteboard-mixin (make-mixin-contract graph-pasteboard<%>) values]) [#:graph-pasteboard-mixin graph-pasteboard-mixin (make-mixin-contract graph-pasteboard<%>) values]
[#:post-process post-process (-> (is-a?/c graph-pasteboard<%>) any/c)])
void?]{ void?]{
The arguments behave just like the function @scheme[traces], but This function behaves just like the function @scheme[traces], but
instead of opening a window to show the reduction graph, it just saves instead of opening a window to show the reduction graph, it just saves
the reduction graph to the specified @scheme[file]. the reduction graph to the specified @scheme[file].
All of the arguments behave like the arguments to @scheme[traces],
with the exception of the @scheme[post-process] argument. It is called
just before the PostScript is created with the graph pasteboard.
} }
@defproc[(stepper [reductions reduction-relation?] @defproc[(stepper [reductions reduction-relation?]