Subversion Repositories planix.SVN

Rev

Blame | Last modification | View Log | RSS feed

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*);
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);

#define FLMARGIN        4
#define FLSCROLLWID     12
#define FLGAP           4

extern  Image   *maincols[NCOL];
extern  Image   *cmdcols[NCOL];