Initial stab at WIDGET_LOADSCREEN and navigation
This commit is contained in:
41
src/main.c
41
src/main.c
@ -7,7 +7,7 @@
|
||||
#include "fonts/FreeSerifBold9pt7b.h"
|
||||
#include "fonts/FreeMonoBold9pt7b.h"
|
||||
|
||||
struct screen_t *screen = NULL;
|
||||
struct screen_t *s_screen = NULL;
|
||||
|
||||
static void touch_handler(struct mgos_stmpe610_event_data *ed) {
|
||||
struct widget_t *widget;
|
||||
@ -31,7 +31,7 @@ static void touch_handler(struct mgos_stmpe610_event_data *ed) {
|
||||
|
||||
backlight_keepalive();
|
||||
|
||||
widget = screen_widget_find_by_xy(screen, ed->x, ed->y);
|
||||
widget = screen_widget_find_by_xy(s_screen, ed->x, ed->y);
|
||||
|
||||
if (ed->direction==TOUCH_DOWN) {
|
||||
widget_network_recv();
|
||||
@ -46,8 +46,6 @@ static void touch_handler(struct mgos_stmpe610_event_data *ed) {
|
||||
|
||||
void tft_demo(void)
|
||||
{
|
||||
struct widget_t *w;
|
||||
|
||||
// mgos_ili9341_setRotation(mgos_sys_config_get_tft_orientation());
|
||||
mgos_stmpe610_set_rotation(mgos_sys_config_get_tft_orientation());
|
||||
mgos_stmpe610_set_handler(touch_handler);
|
||||
@ -56,40 +54,13 @@ void tft_demo(void)
|
||||
mgos_ili9341_set_fgcolor(0,0,0);
|
||||
mgos_ili9341_fillScreen();
|
||||
|
||||
screen = screen_create_from_file("/screen_main.json", widget_default_ev, NULL);
|
||||
if (!screen) {
|
||||
s_screen = screen_create_from_file("/screen_main.json", widget_default_ev, NULL);
|
||||
if (!s_screen) {
|
||||
LOG(LL_ERROR, ("Could not load screen"));
|
||||
return;
|
||||
}
|
||||
|
||||
w = widget_create("name", 0, 0, 185, 20);
|
||||
widget_set_handler(w, widget_name_ev);
|
||||
screen_widget_add(screen, w);
|
||||
|
||||
w = widget_create("network", 185, 0, 22, 20);
|
||||
widget_set_handler(w, widget_network_ev);
|
||||
screen_widget_add(screen, w);
|
||||
|
||||
w = widget_create("wifi", 207, 0, 20, 20);
|
||||
widget_set_handler(w, widget_wifi_ev);
|
||||
widget_set_timer(w, 5000);
|
||||
screen_widget_add(screen, w);
|
||||
|
||||
w = widget_create("battery", 227, 0, 13, 20);
|
||||
widget_set_handler(w, widget_battery_ev);
|
||||
widget_set_timer(w, 10000);
|
||||
screen_widget_add(screen, w);
|
||||
|
||||
w = widget_create("time", 240, 0, 80, 20);
|
||||
widget_set_handler(w, widget_time_ev);
|
||||
widget_set_timer(w, 1000);
|
||||
screen_widget_add(screen, w);
|
||||
|
||||
w = widget_create("topbar", 0, 21, 320, 2);
|
||||
widget_set_handler(w, widget_topbar_ev);
|
||||
screen_widget_add(screen, w);
|
||||
|
||||
LOG(LL_INFO, ("Screen '%s' has %d widgets", screen->name, screen_get_num_widgets(screen)));
|
||||
screen_add_default_widgets(s_screen);
|
||||
LOG(LL_INFO, ("Screen '%s' has %d widgets", s_screen->name, screen_get_num_widgets(s_screen)));
|
||||
}
|
||||
|
||||
enum mgos_app_init_result mgos_app_init(void)
|
||||
|
Reference in New Issue
Block a user