diff options
Diffstat (limited to 'module/dividers.m')
| -rw-r--r-- | module/dividers.m | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/module/dividers.m b/module/dividers.m new file mode 100644 index 00000000..f14a6405 --- /dev/null +++ b/module/dividers.m @@ -0,0 +1,33 @@ +Dividers: module { + init: fn(); + Divider: adt { + new: fn(win: ref Tk->Toplevel, w: string, wl: list of string, dir: int): (ref Divider, chan of string); + event: fn(d: self ref Divider, e: string); + + # private from here. + win: ref Tk->Toplevel; + w: string; + state: ref DState; + + dir: int; # NS or EW + widgets: array of ref DWidget; + canvsize: Draw->Point; + }; + + EW, NS: con iota; + PATH: con "/dis/lib/dividers.dis"; + + # private from here + DWidget: adt { + w: string; + r: Draw->Rect; + size: Draw->Point; + }; + + DState: adt { + dragdiv: int; + dy: int; + maxy, miny: int; + }; + +}; |
