summaryrefslogtreecommitdiff
path: root/code/fe310/eos/eve/screen
diff options
context:
space:
mode:
authorUros Majstorovic <majstor@majstor.org>2020-06-25 17:43:03 +0200
committerUros Majstorovic <majstor@majstor.org>2020-06-25 17:43:03 +0200
commitd3d239fa9cb25b4a3656c09dbb38f5743d51a213 (patch)
treeb11e3883b19a3c253cd57c44482c6e50ca5dd2e7 /code/fe310/eos/eve/screen
parent12a52cf1e334e8d2000be671f30fa243542a056f (diff)
text widget fixed
Diffstat (limited to 'code/fe310/eos/eve/screen')
-rw-r--r--code/fe310/eos/eve/screen/font.c1
-rw-r--r--code/fe310/eos/eve/screen/page.c8
-rw-r--r--code/fe310/eos/eve/screen/page.h3
3 files changed, 12 insertions, 0 deletions
diff --git a/code/fe310/eos/eve/screen/font.c b/code/fe310/eos/eve/screen/font.c
index 1be462d..1441961 100644
--- a/code/fe310/eos/eve/screen/font.c
+++ b/code/fe310/eos/eve/screen/font.c
@@ -21,6 +21,7 @@ uint16_t eve_font_string_width(EVEFont *font, char *s) {
r += font->w_ch[*s];
s++;
}
+
return r;
}
diff --git a/code/fe310/eos/eve/screen/page.c b/code/fe310/eos/eve/screen/page.c
index 4c72243..25acc49 100644
--- a/code/fe310/eos/eve/screen/page.c
+++ b/code/fe310/eos/eve/screen/page.c
@@ -24,6 +24,14 @@ void eve_page_init(EVEPage *page, eve_view_touch_t touch, eve_view_draw_t draw,
page->window = window;
}
+int16_t eve_page_x(EVEPage *page, int16_t x) {
+ x + page->win_x - page->window->g.x;
+}
+
+int16_t eve_page_y(EVEPage *page, int16_t y) {
+ y + page->win_y - page->window->g.y;
+}
+
void eve_page_set_focus(EVEPage *page, EVEWidget *widget, EVERect *f) {
EVERect g;
diff --git a/code/fe310/eos/eve/screen/page.h b/code/fe310/eos/eve/screen/page.h
index a2e5898..eb8dabc 100644
--- a/code/fe310/eos/eve/screen/page.h
+++ b/code/fe310/eos/eve/screen/page.h
@@ -21,6 +21,9 @@ typedef struct EVEPage {
} EVEPage;
void eve_page_init(EVEPage *page, eve_view_touch_t touch, eve_view_draw_t draw, eve_page_open_t open, eve_page_close_t close, eve_page_evt_handler_t handle_evt, eve_page_g_updater_t update_g, EVEWindow *window);
+int16_t eve_page_x(EVEPage *page, int16_t x);
+int16_t eve_page_y(EVEPage *page, int16_t y);
+
void eve_page_set_focus(EVEPage *page, struct EVEWidget *widget, EVERect *focus);
struct EVEWidget *eve_page_get_focus(EVEPage *page);
int eve_page_rect_visible(EVEPage *page, EVERect *g);