12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- Wmclient: module
- {
- PATH: con "/dis/lib/wmclient.dis";
- Resize,
- Hide,
- Help,
- OK,
- Popup,
- Plain: con 1 << iota;
- Appl: con Resize | Hide;
- init: fn();
- makedrawcontext: fn(): ref Draw->Context;
- window: fn(ctxt: ref Draw->Context, title: string, buts: int): ref Window;
- snarfput: fn(buf: string);
- snarfget: fn(): string;
- cursorspec: fn(img: ref Draw->Image): string;
- Window: adt{
- display: ref Draw->Display;
- r: Draw->Rect; # full rectangle of window, including titlebar.
- image: ref Draw->Image;
- displayr: Draw->Rect;
- ctxt: ref Draw->Wmcontext;
- bd: int;
- focused: int;
- ctl: chan of string;
- # private from here:
- titlebar: ref Tk->Toplevel; # XXX i wish this didn't have to be visible to the application...
- tbsize: Draw->Point; # size requested by titlebar.
- tbrect: Draw->Rect;
- screen: ref Draw->Screen;
- buttons: int;
- ptrfocus: int;
- saved: Draw->Point; # saved origin before task
- startinput: fn(w: self ref Window, devs: list of string);
- wmctl: fn(w: self ref Window, request: string): string;
- settitle: fn(w: self ref Window, name: string): string;
- reshape: fn(w: self ref Window, r: Draw->Rect);
- onscreen: fn(w: self ref Window, how: string);
- screenr: fn(w: self ref Window, sr: Draw->Rect): Draw->Rect;
- imager: fn(w: self ref Window, ir: Draw->Rect): Draw->Rect;
- pointer: fn(w: self ref Window, p: Draw->Pointer): int;
- };
- };
|