xref: /plan9/sys/src/cmd/samterm/flayer.h (revision 7dd7cddf99dd7472612f1413b4da293630e6b1bc)
13e12c5d1SDavid du Colombier typedef enum Vis{
23e12c5d1SDavid du Colombier 	None=0,
33e12c5d1SDavid du Colombier 	Some,
43e12c5d1SDavid du Colombier 	All,
53e12c5d1SDavid du Colombier }Vis;
63e12c5d1SDavid du Colombier 
73e12c5d1SDavid du Colombier enum{
83e12c5d1SDavid du Colombier 	Clicktime=1000,		/* one second */
93e12c5d1SDavid du Colombier };
103e12c5d1SDavid du Colombier 
113e12c5d1SDavid du Colombier typedef struct Flayer Flayer;
123e12c5d1SDavid du Colombier 
133e12c5d1SDavid du Colombier struct Flayer
143e12c5d1SDavid du Colombier {
153e12c5d1SDavid du Colombier 	Frame		f;
163e12c5d1SDavid du Colombier 	long		origin;	/* offset of first char in flayer */
173e12c5d1SDavid du Colombier 	long		p0, p1;
183e12c5d1SDavid du Colombier 	long		click;	/* time at which selection click occurred, in HZ */
193e12c5d1SDavid du Colombier 	Rune		*(*textfn)(Flayer*, long, ulong*);
203e12c5d1SDavid du Colombier 	int		user0;
213e12c5d1SDavid du Colombier 	void		*user1;
223e12c5d1SDavid du Colombier 	Rectangle	entire;
233e12c5d1SDavid du Colombier 	Rectangle	scroll;
24*7dd7cddfSDavid du Colombier 	Rectangle	lastsr;	/* geometry of scrollbar when last drawn */
253e12c5d1SDavid du Colombier 	Vis		visible;
263e12c5d1SDavid du Colombier };
273e12c5d1SDavid du Colombier 
283e12c5d1SDavid du Colombier void	flborder(Flayer*, int);
293e12c5d1SDavid du Colombier void	flclose(Flayer*);
303e12c5d1SDavid du Colombier void	fldelete(Flayer*, long, long);
313e12c5d1SDavid du Colombier void	flfp0p1(Flayer*, ulong*, ulong*);
32*7dd7cddfSDavid du Colombier void	flinit(Flayer*, Rectangle, Font*, Image**);
333e12c5d1SDavid du Colombier void	flinsert(Flayer*, Rune*, Rune*, long);
343e12c5d1SDavid du Colombier void	flnew(Flayer*, Rune *(*fn)(Flayer*, long, ulong*), int, void*);
353e12c5d1SDavid du Colombier int	flprepare(Flayer*);
363e12c5d1SDavid du Colombier Rectangle flrect(Flayer*, Rectangle);
373e12c5d1SDavid du Colombier void	flrefresh(Flayer*, Rectangle, int);
38*7dd7cddfSDavid du Colombier void	flresize(Rectangle);
393e12c5d1SDavid du Colombier int	flselect(Flayer*);
403e12c5d1SDavid du Colombier void	flsetselect(Flayer*, long, long);
413e12c5d1SDavid du Colombier void	flstart(Rectangle);
423e12c5d1SDavid du Colombier void	flupfront(Flayer*);
433e12c5d1SDavid du Colombier Flayer	*flwhich(Point);
443e12c5d1SDavid du Colombier 
453e12c5d1SDavid du Colombier #define	FLMARGIN	4
463e12c5d1SDavid du Colombier #define	FLSCROLLWID	12
473e12c5d1SDavid du Colombier #define	FLGAP		4
48*7dd7cddfSDavid du Colombier 
49*7dd7cddfSDavid du Colombier extern	Image	*maincols[NCOL];
50*7dd7cddfSDavid du Colombier extern	Image	*cmdcols[NCOL];
51