Plan 9 from Bell Labs’s /usr/web/sources/contrib/nemo/octopus/port/live/gui.m

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


Gui: module {
	PATH: con "/dis/o/gui.dis";

	# Sizes
	Inset:	con 3;	# empty space for inner elements
	Tagwid:	con 10;	# size of the window tag box
	Taght:	con 10;

	# Color ids. indexes in cols[]
	# See gui.b for actual colors used.
	BACK, HIGH, BORD,			# these are from Frame,
	TEXT, HTEXT, NCOL : con iota;	# to use for text panels

	BACK2,					# Panels use backgrounds
	BACK1,					# back2, back1, back0, back, back, ...
	BACK0,					# to emphasize container nesting

	HBORD,					# highlight border (modified tag)

	SET,						# gauges set color
	CLEAR,					# gauges clear color
	MSET,					# menu set color (text)
	MCLEAR,					# menu clear color (text)
	MBACK,					# menu back color

	WS1,						# Workspace #1 tag line
	WS2,						# Workspace #2 tag line
	WS3,						# Workspace #3 tag line

	SHAD,					# Shadow
	MAXCOL:	con iota + NCOL;

	# border (and tag) image ids and depth ids
	# These are precomputed to get images ready to be put in place.
	# bord[image id][depth id] == image for the border at that level in tree.

	Bback,	# background
	Btag,		# tag image
	Bdtag,	# dirty tag
	Bmtag,	# maximized tag
	Bdmtag,	# maximized dirty tag
	Bn,		# north border...
	Bs,
	Be,
	Bw,
	Bnw,
	Bne,
	Bse,
	Bsw,
	Bws1,	# workspace #1 tag line...
	Bws2,
	Bws3,
	NBORD:	con iota;

	# border and tag depth ids, to change them depending on panel depth in the tree
	B0,
	B1,
	B2,
	Bany,
	NBKIND:	con iota;

	# Font ids
	FR,		# regular font
	FB,		# bold font
	FT,		# teletype
	FL,		# large
	FS,		# small
	FI,		# italics
	NFONT:	con iota;


	CMdouble,
	CMtriple:	con 1 + iota;

	Cpointer: adt {
		buttons:	int;
		xy:		Draw->Point;
		msec:	int;
		flags:	int;

		text:		fn(p: self ref Cpointer): string;
	};

	# Args to setcursor
	Arrow, Drag, Waiting: con iota;

	init:	fn(dat: Livedat, ctx: ref Draw->Context):  (chan of int, chan of ref Cpointer, chan of int);
	terminate: fn();
	cookclick:	fn(m: ref Cpointer, mc: chan of ref Cpointer): int;
	setcursor:	fn(c: int);
	drawtag:	fn(p: ref Wpanel->Panel);
	getfont:	fn(name: string): ref Draw->Font;
	borderkind:	fn(p: ref Wpanel->Panel): int;
	panelback:	fn(p: ref Wpanel->Panel): ref Draw->Image;
	maxpt:		fn(p1, p2: Draw->Point): Draw->Point;
	readsnarf:		fn(): string;
	writesnarf:		fn(s: string);
	cols: array of ref Draw->Image;
	bord: array of array of ref Draw->Image;
};

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.