summaryrefslogtreecommitdiff
path: root/code/fe310/eos/eve/widget/strw.h
diff options
context:
space:
mode:
authorUros Majstorovic <majstor@majstor.org>2020-07-11 04:02:22 +0200
committerUros Majstorovic <majstor@majstor.org>2020-07-11 04:02:22 +0200
commit7dcaf1f395a5720bb5c3d02f09a214cb3440023e (patch)
tree4309156fcc05ff8077276b4226b89919e28ed3ec /code/fe310/eos/eve/widget/strw.h
parent86aa553093084f9c2f04a5fb3d744b56b656ea3a (diff)
widget source renamed
Diffstat (limited to 'code/fe310/eos/eve/widget/strw.h')
-rw-r--r--code/fe310/eos/eve/widget/strw.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/code/fe310/eos/eve/widget/strw.h b/code/fe310/eos/eve/widget/strw.h
new file mode 100644
index 0000000..04a813e
--- /dev/null
+++ b/code/fe310/eos/eve/widget/strw.h
@@ -0,0 +1,35 @@
+#include <stdint.h>
+
+typedef struct EVEStrCursor {
+ char on;
+ uint16_t x;
+ uint16_t ch;
+} EVEStrCursor;
+
+typedef struct EVEStrWidget {
+ EVEWidget w;
+ EVEFont *font;
+ char *str;
+ uint16_t str_size;
+ uint16_t str_len;
+ struct {
+ int16_t x;
+ int16_t x0;
+ uint16_t w;
+ } str_g;
+ EVEStrCursor cursor1;
+ EVEStrCursor cursor2;
+ uint8_t tag;
+ struct {
+ EVEStrCursor *cursor;
+ short dx;
+ char mode;
+ } track;
+} EVEStrWidget;
+
+void eve_strw_init(EVEStrWidget *widget, EVERect *g, EVEFont *font, char *str, uint16_t str_size);
+int eve_strw_touch(EVEWidget *_widget, EVEPage *page, uint8_t tag0, int touch_idx, EVERect *focus);
+uint8_t eve_strw_draw(EVEWidget *_widget, EVEPage *page, uint8_t tag0);
+void eve_strw_putc(void *_page, int c);
+void eve_strw_cursor_set(EVEStrWidget *widget, EVEStrCursor *cursor, int16_t x);
+void eve_strw_cursor_clear(EVEStrWidget *widget, EVEStrCursor *cursor); \ No newline at end of file