diff options
Diffstat (limited to 'src/c/fastforge.c')
| -rw-r--r-- | src/c/fastforge.c | 68 |
1 files changed, 37 insertions, 31 deletions
diff --git a/src/c/fastforge.c b/src/c/fastforge.c index 8db0492..5ffb912 100644 --- a/src/c/fastforge.c +++ b/src/c/fastforge.c @@ -1,60 +1,66 @@ #include <pebble.h> -static Window *s_window; +static Window *s_main_window; static TextLayer *s_text_layer; -static void prv_select_click_handler(ClickRecognizerRef recognizer, void *context) { - text_layer_set_text(s_text_layer, "Select"); -} +// ==================== BUTTON HANDLERS ==================== -static void prv_up_click_handler(ClickRecognizerRef recognizer, void *context) { - text_layer_set_text(s_text_layer, "Up"); +static void select_click_handler(ClickRecognizerRef recognizer, void *context) { + text_layer_set_text(s_text_layer, "Hello!"); + APP_LOG(APP_LOG_LEVEL_INFO, "SELECT pressed - Hello!"); } -static void prv_down_click_handler(ClickRecognizerRef recognizer, void *context) { - text_layer_set_text(s_text_layer, "Down"); +static void down_click_handler(ClickRecognizerRef recognizer, void *context) { + APP_LOG(APP_LOG_LEVEL_INFO, "DOWN pressed - Quitting app..."); + window_stack_pop_all(false); // Cleanly quit the app } -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); +// ==================== CLICK CONFIG ==================== + +static void click_config_provider(void *context) { + window_single_click_subscribe(BUTTON_ID_SELECT, select_click_handler); + window_single_click_subscribe(BUTTON_ID_DOWN, down_click_handler); } -static void prv_window_load(Window *window) { +// ==================== WINDOW LOAD / UNLOAD ==================== + +static void 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"); + s_text_layer = text_layer_create(GRect(0, 20, bounds.size.w, bounds.size.h - 40)); + text_layer_set_background_color(s_text_layer, GColorClear); + text_layer_set_text_color(s_text_layer, GColorBlack); text_layer_set_text_alignment(s_text_layer, GTextAlignmentCenter); + text_layer_set_font(s_text_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD)); + text_layer_set_text(s_text_layer, "Press SELECT\nfor Hello\n\nDOWN to quit"); + layer_add_child(window_layer, text_layer_get_layer(s_text_layer)); } -static void prv_window_unload(Window *window) { +static void 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, +// ==================== APP INIT / DEINIT ==================== + +static void init(void) { + s_main_window = window_create(); + window_set_click_config_provider(s_main_window, click_config_provider); + window_set_window_handlers(s_main_window, (WindowHandlers) { + .load = window_load, + .unload = window_unload, }); - const bool animated = true; - window_stack_push(s_window, animated); + + window_stack_push(s_main_window, true); } -static void prv_deinit(void) { - window_destroy(s_window); +static void deinit(void) { + window_destroy(s_main_window); } int main(void) { - prv_init(); - - APP_LOG(APP_LOG_LEVEL_DEBUG, "Done initializing, pushed window: %p", s_window); - + init(); app_event_loop(); - prv_deinit(); + deinit(); } |
