Blob


1 typedef enum Vis{
2 None=0,
3 Some,
4 All
5 }Vis;
7 enum{
8 Clicktime=1000 /* one second */
9 };
11 typedef struct Flayer Flayer;
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 };
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);
46 #define FLMARGIN(l) flscale(l, 4)
47 #define FLSCROLLWID(l) flscale(l, 12)
48 #define FLGAP(l) flscale(l, 4)
50 extern Image *maincols[NCOL];
51 extern Image *cmdcols[NCOL];