21 lines · 730 B · Objective-C
RawDownload
Devpointer: module{	PATH:	con	"/dis/lib/devpointer.dis"; 	Size:		con 1+4*12;	# 'm' plus 4 12-byte decimal integers	# merge events that have the same button state.	Ptrqueue: adt {		last: ref Draw->Pointer;		h, t: list of ref Draw->Pointer;		put:			fn(q: self ref Ptrqueue, s: ref Draw->Pointer);		get:			fn(q: self ref Ptrqueue): ref Draw->Pointer;		peek:		fn(q: self ref Ptrqueue): ref Draw->Pointer;		nonempty:	fn(q: self ref Ptrqueue): int;	}; 	init:		fn();	reader:	fn(file: string, posn: chan of ref Draw->Pointer, pid: chan of (int, string));	bytes2ptr:	fn(b: array of byte): ref Draw->Pointer;	ptr2bytes:	fn(p: ref Draw->Pointer): array of byte;	srv:	fn(c: chan of ref Draw->Pointer, f: ref Sys->FileIO);};