On this page:
new
Inherited methods:
from dc<%>
cache-font-metrics-key
clear
copy
draw-arc
draw-bitmap
draw-bitmap-section
draw-ellipse
draw-line
draw-lines
draw-path
draw-point
draw-polygon
draw-rectangle
draw-rounded-rectangle
draw-spline
draw-text
end-doc
end-page
erase
flush
get-alpha
get-background
get-backing-scale
get-brush
get-char-height
get-char-width
get-clipping-region
get-device-scale
get-font
get-gl-context
get-initial-matrix
get-origin
get-path-bounding-box
get-pen
get-rotation
get-scale
get-size
get-smoothing
get-text-background
get-text-extent
get-text-foreground
get-text-mode
get-transformation
glyph-exists?
ok?
resume-flush
rotate
scale
set-alignment-scale
set-alpha
set-background
set-brush
set-clipping-rect
set-clipping-region
set-font
set-initial-matrix
set-origin
set-pen
set-rotation
set-scale
set-smoothing
set-text-background
set-text-foreground
set-text-mode
set-transformation
start-doc
start-page
suspend-flush
transform
translate
try-color

class

post-script-dc% : class?

  superclass: object%

  extends: dc<%>
A post-script-dc% object is a PostScript device context, that can write PostScript files on any platform. See also ps-setup% and pdf-dc%.

Be sure to use the following methods to start/end drawing:
Attempts to use a drawing method outside of an active page raises an exception.

See also printer-dc%.

constructor

(new post-script-dc% 
    [[interactive interactive] 
    [parent parent] 
    [use-paper-bbox use-paper-bbox] 
    [as-eps as-eps] 
    [width width] 
    [height height] 
    [output output]]) 
  (is-a?/c post-script-dc%)
  interactive : any/c = #t
  parent : (or/c (is-a?/c frame%) (is-a?/c dialog%) #f) = #f
  use-paper-bbox : any/c = #f
  as-eps : any/c = #t
  width : (or/c (and/c real? (not/c negative?)) #f) = #f
  height : (or/c (and/c real? (not/c negative?)) #f) = #f
  output : (or/c path-string? output-port? #f) = #f
If interactive is true, the user is given a dialog for setting printing parameters (see get-ps-setup-from-user); the resulting configuration is installed as the current configuration). If the user chooses to print to a file (the only possibility on Windows and Mac OS), another dialog is given to select the filename. If the user hits cancel in either of these dialogs, then ok? returns #f.

If parent is not #f, it is used as the parent window of the configuration dialog.

If interactive is #f, then the settings returned by current-ps-setup are used. A file dialog is still presented to the user if the get-file method returns #f and output is #f, and the user may hit Cancel in that case so that ok? returns #f.

If use-paper-bbox is #f, then the PostScript bounding box for the output is determined by width and height (which are rounded upward using ceiling). If use-paper-bbox is not #f, then the bounding box is determined by the current paper size (as specified by current-ps-setup). When width or height is #f, then the corresponding dimension is determined by the paper size, even if use-paper-bbox is #f.

If as-eps is #f, then the generated PostScript does not include an Encapsulated PostScript (EPS) header, and instead includes a generic PostScript header. The margin and translation factors specified by current-ps-setup are used only when as-eps is #f. If as-eps is true, then the generated PostScript includes a header that identifiers it as EPS.

When output is not #f, then file-mode output is written to output. If output is #f, then the destination is determined via current-ps-setup or by prompting the user for a pathname. When output is a port, then data is written to port by a thread that is created with the post-script-dc% instance; in case that writing thread’s custodian is shut down, calling end-doc resumes the port-writing thread with thread-resume and (current-thread) as the second argument.

See also ps-setup% and current-ps-setup. The settings for a particular post-script-dc% object are fixed to the values in the current configuration when the object is created (after the user has interactively adjusted them when interactive is true).