plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

flayer.h (1223B)


      1 typedef enum Vis{
      2 	None=0,
      3 	Some,
      4 	All
      5 }Vis;
      6 
      7 enum{
      8 	Clicktime=1000		/* one second */
      9 };
     10 
     11 typedef struct Flayer Flayer;
     12 
     13 struct Flayer
     14 {
     15 	Frame		f;
     16 	long		origin;	/* offset of first char in flayer */
     17 	long		p0, p1;
     18 	long		click;	/* time at which selection click occurred, in HZ */
     19 	Rune		*(*textfn)(Flayer*, long, ulong*);
     20 	int		user0;
     21 	void		*user1;
     22 	Rectangle	entire;
     23 	Rectangle	scroll;
     24 	Rectangle	lastsr;	/* geometry of scrollbar when last drawn */
     25 	Vis		visible;
     26 };
     27 
     28 void	flborder(Flayer*, int);
     29 void	flclose(Flayer*);
     30 void	fldelete(Flayer*, long, long);
     31 void	flfp0p1(Flayer*, ulong*, ulong*, int*);
     32 void	flinit(Flayer*, Rectangle, Font*, Image**);
     33 void	flinsert(Flayer*, Rune*, Rune*, long);
     34 void	flnew(Flayer*, Rune *(*fn)(Flayer*, long, ulong*), int, void*);
     35 int	flprepare(Flayer*);
     36 Rectangle flrect(Flayer*, Rectangle);
     37 void	flrefresh(Flayer*, Rectangle, int);
     38 void	flresize(Rectangle);
     39 int	flselect(Flayer*);
     40 void	flsetselect(Flayer*, long, long);
     41 void	flstart(Rectangle);
     42 void	flupfront(Flayer*);
     43 Flayer	*flwhich(Point);
     44 int	flscale(Flayer*, int);
     45 
     46 #define	FLMARGIN(l)	flscale(l, 4)
     47 #define	FLSCROLLWID(l)	flscale(l, 12)
     48 #define	FLGAP(l)		flscale(l, 4)
     49 
     50 extern	Image	*maincols[NCOL];
     51 extern	Image	*cmdcols[NCOL];