diff options
author | Uros Majstorovic <majstor@majstor.org> | 2020-07-02 21:06:02 +0200 |
---|---|---|
committer | Uros Majstorovic <majstor@majstor.org> | 2020-07-02 21:06:02 +0200 |
commit | c25bf68c4702b20aea6ca99eb1edd5aca5f6d391 (patch) | |
tree | 9fe2729ae6024320dd0bd8b2882f746710baa906 /code/fe310/eos/eve/widget/str.h | |
parent | dabbf944711eef384dcc87b2d49843bedcb1e84a (diff) |
string widget implemented
Diffstat (limited to 'code/fe310/eos/eve/widget/str.h')
-rw-r--r-- | code/fe310/eos/eve/widget/str.h | 35 |
1 files changed, 35 insertions, 0 deletions
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 <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 |