diff options
Diffstat (limited to 'src/c/fastforge.c')
| -rw-r--r-- | src/c/fastforge.c | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/c/fastforge.c b/src/c/fastforge.c new file mode 100644 index 0000000..8db0492 --- /dev/null +++ b/src/c/fastforge.c @@ -0,0 +1,60 @@ +#include <pebble.h> + +static Window *s_window; +static TextLayer *s_text_layer; + +static void prv_select_click_handler(ClickRecognizerRef recognizer, void *context) { + text_layer_set_text(s_text_layer, "Select"); +} + +static void prv_up_click_handler(ClickRecognizerRef recognizer, void *context) { + text_layer_set_text(s_text_layer, "Up"); +} + +static void prv_down_click_handler(ClickRecognizerRef recognizer, void *context) { + text_layer_set_text(s_text_layer, "Down"); +} + +static void prv_click_config_provider(void *context) { + window_single_click_subscribe(BUTTON_ID_SELECT, prv_select_click_handler); + window_single_click_subscribe(BUTTON_ID_UP, prv_up_click_handler); + window_single_click_subscribe(BUTTON_ID_DOWN, prv_down_click_handler); +} + +static void prv_window_load(Window *window) { + Layer *window_layer = window_get_root_layer(window); + GRect bounds = layer_get_bounds(window_layer); + + s_text_layer = text_layer_create(GRect(0, 72, bounds.size.w, 20)); + text_layer_set_text(s_text_layer, "Press a button"); + text_layer_set_text_alignment(s_text_layer, GTextAlignmentCenter); + layer_add_child(window_layer, text_layer_get_layer(s_text_layer)); +} + +static void prv_window_unload(Window *window) { + text_layer_destroy(s_text_layer); +} + +static void prv_init(void) { + s_window = window_create(); + window_set_click_config_provider(s_window, prv_click_config_provider); + window_set_window_handlers(s_window, (WindowHandlers) { + .load = prv_window_load, + .unload = prv_window_unload, + }); + const bool animated = true; + window_stack_push(s_window, animated); +} + +static void prv_deinit(void) { + window_destroy(s_window); +} + +int main(void) { + prv_init(); + + APP_LOG(APP_LOG_LEVEL_DEBUG, "Done initializing, pushed window: %p", s_window); + + app_event_loop(); + prv_deinit(); +} |
