diff options
| author | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2025-10-15 19:46:13 +0200 |
|---|---|---|
| committer | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2025-10-15 19:46:13 +0200 |
| commit | 184526f3bf90e2948b1d09b9da58d66814181f4d (patch) | |
| tree | d39614e3e29fb89594d1dc52ef07805bc754c4c7 /samterm/flayer.h | |
| parent | fd41e6cc88f98121db5c64a0693e4169962f6c2c (diff) | |
Import sam and samterm sources
Diffstat (limited to 'samterm/flayer.h')
| -rw-r--r-- | samterm/flayer.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/samterm/flayer.h b/samterm/flayer.h new file mode 100644 index 0000000..0939ef5 --- /dev/null +++ b/samterm/flayer.h @@ -0,0 +1,52 @@ +typedef enum Vis{ + None=0, + Some, + All, +}Vis; + +enum{ + Clicktime=500, /* milliseconds */ +}; + +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*, ulong*); +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]; + +extern int sel; |