blob: b0b2507a7ecfdb83ec96b1faf71f7f9ac38ab8ee [file] [log] [blame]
typedef enum Vis{
None=0,
Some,
All
}Vis;
enum{
Clicktime=1000 /* one second */
};
typedef struct Flayer Flayer;
struct Flayer
{
Frame f;
long origin; /* offset of first char in flayer */
long p0, p1;
long click; /* time at which selection click occurred, in HZ */
Rune *(*textfn)(Flayer*, long, ulong*);
int user0;
void *user1;
Rectangle entire;
Rectangle scroll;
Rectangle lastsr; /* geometry of scrollbar when last drawn */
Vis visible;
};
void flborder(Flayer*, int);
void flclose(Flayer*);
void fldelete(Flayer*, long, long);
void flfp0p1(Flayer*, ulong*, ulong*, int*);
void flinit(Flayer*, Rectangle, Font*, Image**);
void flinsert(Flayer*, Rune*, Rune*, long);
void flnew(Flayer*, Rune *(*fn)(Flayer*, long, ulong*), int, void*);
int flprepare(Flayer*);
Rectangle flrect(Flayer*, Rectangle);
void flrefresh(Flayer*, Rectangle, int);
void flresize(Rectangle);
int flselect(Flayer*);
void flsetselect(Flayer*, long, long);
void flstart(Rectangle);
void flupfront(Flayer*);
Flayer *flwhich(Point);
int flscale(Flayer*, int);
#define FLMARGIN(l) flscale(l, 4)
#define FLSCROLLWID(l) flscale(l, 12)
#define FLGAP(l) flscale(l, 4)
extern Image *maincols[NCOL];
extern Image *cmdcols[NCOL];