From 184526f3bf90e2948b1d09b9da58d66814181f4d Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Wed, 15 Oct 2025 19:46:13 +0200 Subject: Import sam and samterm sources --- samterm/flayer.h | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 samterm/flayer.h (limited to 'samterm/flayer.h') 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; -- cgit v1.2.3