diff options
| author | Uros Majstorovic <majstor@majstor.org> | 2020-07-11 04:02:22 +0200 | 
|---|---|---|
| committer | Uros Majstorovic <majstor@majstor.org> | 2020-07-11 04:02:22 +0200 | 
| commit | 7dcaf1f395a5720bb5c3d02f09a214cb3440023e (patch) | |
| tree | 4309156fcc05ff8077276b4226b89919e28ed3ec /code/fe310/eos/eve/widget/textw.h | |
| parent | 86aa553093084f9c2f04a5fb3d744b56b656ea3a (diff) | |
widget source renamed
Diffstat (limited to 'code/fe310/eos/eve/widget/textw.h')
| -rw-r--r-- | code/fe310/eos/eve/widget/textw.h | 40 | 
1 files changed, 40 insertions, 0 deletions
| diff --git a/code/fe310/eos/eve/widget/textw.h b/code/fe310/eos/eve/widget/textw.h new file mode 100644 index 0000000..68176f1 --- /dev/null +++ b/code/fe310/eos/eve/widget/textw.h @@ -0,0 +1,40 @@ +#include <stdint.h> + +typedef struct EVETextCursor { +    char on; +    uint16_t x; +    uint16_t line; +    uint16_t ch; +} EVETextCursor; + +typedef struct EVETextWidget { +    EVEWidget w; +    EVEFont *font; +    char *text; +    uint16_t text_size; +    uint16_t text_len; +    uint16_t *line; +    uint16_t line_size; +    uint16_t line_len; +    EVETextCursor cursor1; +    EVETextCursor cursor2; +    EVETextCursor *cursor_f; +    uint16_t line0; +    uint8_t tag0; +    uint8_t tagN; +    struct { +        EVETextCursor *cursor; +        short dx; +        short dl; +        char mode; +    } track; +} EVETextWidget; + +void eve_textw_init(EVETextWidget *widget, EVERect *g, EVEFont *font, char *text, uint16_t text_size, uint16_t *line, uint16_t line_size); +int eve_textw_touch(EVEWidget *_widget, EVEPage *page, uint8_t tag0, int touch_idx, EVERect *focus); +uint8_t eve_textw_draw(EVEWidget *_widget, EVEPage *page, uint8_t tag0); +void eve_textw_putc(void *_w, int c); +int eve_textw_update(EVETextWidget *widget, EVEPage *page, uint16_t line); +void eve_textw_cursor_update(EVETextWidget *widget, EVETextCursor *cursor); +void eve_textw_cursor_set(EVETextWidget *widget, EVETextCursor *cursor, uint8_t tag, int16_t x); +void eve_textw_cursor_clear(EVETextWidget *widget, EVETextCursor *cursor); | 
