From c25bf68c4702b20aea6ca99eb1edd5aca5f6d391 Mon Sep 17 00:00:00 2001 From: Uros Majstorovic Date: Thu, 2 Jul 2020 21:06:02 +0200 Subject: string widget implemented --- code/fe310/eos/eve/widget/str.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 code/fe310/eos/eve/widget/str.h (limited to 'code/fe310/eos/eve/widget/str.h') diff --git a/code/fe310/eos/eve/widget/str.h b/code/fe310/eos/eve/widget/str.h new file mode 100644 index 0000000..04a813e --- /dev/null +++ b/code/fe310/eos/eve/widget/str.h @@ -0,0 +1,35 @@ +#include + +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 -- cgit v1.2.3