summaryrefslogtreecommitdiff
path: root/samterm/flayer.h
diff options
context:
space:
mode:
authorPeter Mikkelsen <petermikkelsen10@gmail.com>2025-10-15 19:46:13 +0200
committerPeter Mikkelsen <petermikkelsen10@gmail.com>2025-10-15 19:46:13 +0200
commit184526f3bf90e2948b1d09b9da58d66814181f4d (patch)
treed39614e3e29fb89594d1dc52ef07805bc754c4c7 /samterm/flayer.h
parentfd41e6cc88f98121db5c64a0693e4169962f6c2c (diff)
Import sam and samterm sources
Diffstat (limited to 'samterm/flayer.h')
-rw-r--r--samterm/flayer.h52
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;