On this page:
canvas: basic<%>
canvas: basic-mixin
canvas: color<%>
canvas: color-mixin
canvas: delegate<%>
canvas: delegate-mixin
on-superwindow-show
canvas: info<%>
canvas: info-mixin
on-focus
set-editor
canvas: wide-snip<%>
recalc-snips
add-wide-snip
add-tall-snip
canvas: wide-snip-mixin
on-size
canvas: basic%
canvas: color%
canvas: info%
canvas: delegate%
canvas: wide-snip%

4 Canvas

canvas:basic-mixin : (class? . -> . class?)
  argument extends/implements: editor-canvas%
  result implements: canvas:basic<%>
Mixins that implement this interface initialize the background color of the canvas to the value of the 'framework:basic-canvas-background preference. Adds a callback so that when that preference is modified, the background color changes.
canvas:color-mixin : (class? . -> . class?)
  argument extends/implements: canvas:basic<%>
  result implements: canvas:color<%>
This class is part of the delegate window implementation.
canvas:delegate-mixin : (class? . -> . class?)
  argument extends/implements: canvas:basic<%>
  result implements: canvas:delegate<%>
Provides an implementation of canvas:delegate<%>.

(send a-canvas:delegate on-superwindow-show shown?)  void?
  shown? : boolean?
Notifies the delegate window when the original window is visible. When invisible, the blue highlighting is erased.

canvas:info-mixin : (class? . -> . class?)
  argument extends/implements: canvas:basic<%>
  result implements: canvas:info<%>

(send a-canvas:info on-focus)  void?
Overrides on-focus in editor-canvas%.
sets the canvas that the frame displays info about.
(send a-canvas:info set-editor)  void?
Calls update-info to update the frame’s info panel.

Any canvas% that matches this interface will automatically resize selected snips when its size changes. Use add-tall-snip and add-wide-snip to specify which snips should be resized.

(send a-canvas:wide-snip recalc-snips)  void?
Recalculates the sizes of the wide snips.

(send a-canvas:wide-snip add-wide-snip snip)  void?
  snip : (is-a?/c snip%)
Snips passed to this method will be resized when the canvas’s size changes. Their width will be set so they take up all of the space from their lefts to the right edge of the canvas.
(send a-canvas:wide-snip add-tall-snip snip)  void?
  snip : (is-a?/c snip%)
Snips passed to this method will be resized when the canvas’s size changes. Their height will be set so they take up all of the space from their tops to the bottom of the canvas.

canvas:wide-snip-mixin : (class? . -> . class?)
  argument extends/implements: canvas:basic<%>
  result implements: canvas:wide-snip<%>
This canvas maintains a list of wide and tall snips and adjusts their heights and widths when the canvas’s size changes.
The result of this mixin uses the same initialization arguments as the mixin’s argument.

(send a-canvas:wide-snip on-size width    
  height)  void?
  width : (integer-in 0 10000)
  height : (integer-in 0 10000)
Overrides on-size in editor-canvas%.
Adjusts the sizes of the marked snips.