include "draw.m";
draw := load Draw Draw->PATH;
Context: adt
{
   display: ref Display;      # frame buffer on which windows reside
   wm:      chan of (string,
               chan of (string, ref Wmcontext)); # wmgr connection
};
# connection to window manager for one or more windows (as Images)
Wmcontext: adt
{
   kbd:     chan of int;         # incoming characters from keyboard
   ptr:     chan of ref Pointer; # incoming stream of mouse positions
   ctl:     chan of string;      # commands from wm to application
   wctl:    chan of string;      # commands from application to wm
   images:  chan of ref Image;   # exchange of images
   connfd:  ref Sys->FD;         # connection control
   ctxt:    ref Draw->Context;
};
include "draw.m"
Command: module
{
	init: fn(nil: ref Draw->Context; nil: list of string);
};
Most programs do not create Contexts but instead inherit one from their parent, typically a shell or window system.
| DRAW-CONTEXT(2 ) | Rev: Thu Feb 15 14:43:27 GMT 2007 |