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 |