Canvas Draw

Documentation
Login

primitives Module

Synopsis

Racket

(require (planet murphy/canvas-draw:1:0/primitives))
CHICKEN (require-extension canvas-draw-primitives)

Drawing primitives.

Points

(canvas-pixel! [canvas canvas?] [x integer?] [y integer?] [color integer? (canvas-foreground canvas)]) → void?

Draws a single pixel of the given color on the given canvas.

(canvas-mark! [canvas canvas?] [x integer?] [y integer?]) → void?

Draws a marker symbol on the given canvas.

(canvas-mark-type [canvas canvas?]) → symbol?

Retrieves the current marker symbol type for the given canvas. Possible values are

(canvas-mark-type-set! [canvas canvas?] [mark-type symbol?]) → void?
(set! (canvas-mark-type [canvas canvas?]) [mark-type symbol?]) → void?

Sets the current marker symbol type for the given canvas.

(canvas-mark-size [canvas canvas?]) → integer?

Retrieves the current marker symbol size for the given canvas.

(canvas-mark-size-set! [canvas canvas?] [size integer?]) → void?
(set! (canvas-mark-size [canvas canvas?]) [size integer?]) → void?

Sets the current marker symbol size for the given canvas.

Lines

(canvas-line! [canvas canvas?] [x0 real?] [y0 real?] [x1 real?] [y1 real?]) → void?

Draws a line on the given canvas.

(canvas-rectangle! [canvas canvas?] [x0 real?] [x1 real?] [y0 real?] [y1 real?]) → void?

Draws a hollow rectangle on the given canvas.

(canvas-arc! [canvas canvas?] [x real?] [y real?] [width real?] [height real?] [alpha0 real?] [alpha1 real?]) → void?

Draws a hollow ellipsis segment on the given canvas.

(canvas-line-style [canvas canvas?]) → symbol?

Retrieves the current line style of the given canvas. Possible values are

(canvas-line-style-set! [canvas canvas?] [line-style (or/c symbol? list?)]) → symbol?
(set! (canvas-line-style [canvas canvas?]) [line-style (or/c symbol? list?)]) → symbol?

Sets the current line style of the given canvas and returns the previous value.

In addition to the possible return values of canvas-line-style a custom line-style can be fully specified using the form (list 'custom [len integer?] ...).

(canvas-line-width [canvas canvas?]) → integer?

Retrieves the current line width of the given canvas.

(canvas-line-width-set! [canvas canvas?] [line-width integer?]) → integer?
(set! (canvas-line-width [canvas canvas?]) [line-width integer?]) → integer?

Sets the current line width of the given canvas and returns the previous value.

(canvas-line-join [canvas canvas?]) → symbol?

Retrieves the current line join style of the given canvas. Possible values are

(canvas-line-join-set! [canvas canvas?] [line-join symbol?]) → symbol?
(set! (canvas-line-join [canvas canvas?]) [line-join symbol?]) → symbol?

Sets the current line join style of the given canvas and returns the previous value.

(canvas-line-cap [canvas canvas?]) → symbol?

Retrieves the current line cap style of the given canvas.

(canvas-line-cap-set! [canvas canvas?] [line-cap symbol?]) → symbol?
(set! (canvas-line-cap [canvas canvas?]) [line-cap symbol?]) → symbol?

Sets the current line cap style of the given canvas and returns the previous value.

Filled Areas

(canvas-box! [canvas canvas?] [x0 real?] [x1 real?] [y0 real?] [y1 real?]) → void?

Draws a filled rectangle on the given canvas.

(canvas-sector! [canvas canvas?] [x real?] [y real?] [width real?] [height real?] [alpha0 real?] [alpha1 real?]) → void?

Draws a filled ellipsis sector on the given canvas.

(canvas-chord! [canvas canvas?] [x real?] [y real?] [width real?] [height real?] [alpha0 real?] [alpha1 real?]) → void?

Draws a filled ellipsis arc on the given canvas.

(canvas-background-opacity [canvas canvas?]) → symbol?

Retrieves the current background opacity of the given canvas. Possible values are

(canvas-background-opacity-set! [canvas canvas?] [background-opacity symbol?]) → symbol?
(set! (canvas-background-opacity-set! [canvas canvas?]) [background-opacity symbol?]) → symbol?

Sets the current background opacity of the given canvas and returns the previous value.

(canvas-fill-mode [canvas canvas?]) → symbol?

Retrieves the current polygon fill mode of the given canvas. Possible values are

(canvas-fill-mode-set! [canvas canvas?] [fill-mode symbol?]) → symbol?
(set! (canvas-fill-mode [canvas canvas?]) [fill-mode symbol?]) → symbol?

Sets the current polygon fill mode of the given canvas and returns the previous value.

(canvas-interior-style [canvas canvas?]) → (or/c symbol? list?)

Retrieves the current interior style of the given canvas. Possible values are

(canvas-interior-style-set! [canvas canvas?] [interior-style (or/c symbol? list?)]) → void?
(set! (canvas-interior-style [canvas canvas?]) [interior-style (or/c symbol? list?)]) → void?

Sets the current interior style of the given canvas and returns the previous value.

Text

(canvas-text! [canvas canvas?] [x real?] [y real?] [text string?]) → void?

Draws a string of text on the given canvas.

(canvas-font [canvas canvas?]) → string?

Retrieves the current font of the given canvas.

(canvas-font-set! [canvas canvas?] [font string?]) → void?
(set! (canvas-font [canvas canvas?]) [font string?]) → void?

Sets the current font of the given canvas and returns the previous value.

(canvas-text-alignment [canvas canvas?]) → symbol?

Retrieves the current text alignment of the given canvas. Possible values are

(canvas-text-alignment-set! [canvas canvas?] [text-alignment symbol?]) → void?
(set! (canvas-text-alignment [canvas canvas?]) [text-alignment symbol?]) → void?

Sets the current text alignment of the given canvas and returns the previous value.

(canvas-text-orientation [canvas canvas?]) → real?

Retrieves the current text orientation of the given canvas.

(canvas-text-orientation-set! [canvas canvas?] [orientation real?]) → void?
(set! (canvas-text-orientation [canvas canvas?]) [orientation real?]) → void?

Sets the current text orientation of the given canvas and returns the previous value.

(canvas-font-dimensions [canvas canvas?]) → (values integer? integer? integer? integer?)

Returns the maximum width, height, ascent and descent of the current font of the given canvas.

(canvas-text-size [canvas canvas?] [text string?]) → (values integer? integer?)

Computes the width and height of the given text when drawn on the given canvas.

(canvas-text-box [canvas canvas?] [x integer?] [y integer?] [text string?]) → (values integer? integer? integer? integer?)

Computes the bounding box of the given text when drawn on the given canvas. Returns the minimum and maximum x and y coordinates.

Vertices

(call-with-canvas-in-mode [canvas canvas?] [mode symbol?] [proc (-> canvas? any)]) → any

Calls proc with the given canvas and ready to receive vertex data in the given mode. Returns whatever proc returns.

Possible modes are

(canvas-path-set! [canvas canvas?] [path-action symbol?]) → void?

Configures the action between sequences of vertex data sent to the given canvas. Possible actions are

(canvas-vertex! [canvas canvas?] [x real?] [y real?]) → void?

Sends a vertex to the given canvas.