void ui_init() { struct Fonts fonts = {}; struct Texts texts = {}; struct Layers layers = {}; ui.layers = layers; ui.texts = texts; ui.fonts = fonts; ui.fonts.time_text = fonts_load_resource_font(RESOURCE_ID_DROIDSANS_BOLD_50); ui.fonts.info_text = fonts_load_resource_font(RESOURCE_ID_DROIDSANS_32); ui.fonts.status_text = fonts_load_resource_font(RESOURCE_ID_DROIDSANS_BOLD_14); ui.fonts.month_text = fonts_load_resource_font(RESOURCE_ID_DROIDSANS_MONO_20); ui.fonts.info_icons = fonts_load_resource_font(RESOURCE_ID_ICONS_32); ui.fonts.status_icons = fonts_load_resource_font(RESOURCE_ID_ICONS_14); strncpy(ui.texts.date, "", sizeof(ui.texts.date)); strncpy(ui.texts.time, "", sizeof(ui.texts.time)); strncpy(ui.texts.month, "", sizeof(ui.texts.month)); strncpy(ui.texts.temperature, "-", sizeof(ui.texts.temperature)); strncpy(ui.texts.aqi, "-", sizeof(ui.texts.aqi)); strncpy(ui.texts.condition, "", sizeof(ui.texts.condition)); strncpy(ui.texts.ampm, "", sizeof(ui.texts.ampm)); strncpy(ui.texts.battery_percent, "", sizeof(ui.texts.battery_percent)); strncpy(ui.texts.battery_icon, "", sizeof(ui.texts.battery_icon)); strncpy(ui.texts.bluetooth, "", sizeof(ui.texts.bluetooth)); strncpy(ui.texts.steps_short, "-", sizeof(ui.texts.steps_short)); strncpy(ui.texts.steps, "-", sizeof(ui.texts.steps)); strncpy(ui.texts.distance, "-", sizeof(ui.texts.distance)); strncpy(ui.texts.calories, "-", sizeof(ui.texts.calories)); strncpy(ui.texts.sleep_time, "-", sizeof(ui.texts.sleep_time)); strncpy(ui.texts.restful_sleep_time, "-", sizeof(ui.texts.restful_sleep_time)); ui.window = window_create(); window_set_window_handlers(ui.window, (WindowHandlers) { .load = ui_window_load, .unload = ui_window_unload, });
static void main_window_load(Window *window) { s_white_effect_offset.offset_x = 2; s_white_effect_offset.offset_y = 2; s_white_effect_offset.orig_color = GColorWhite; s_white_effect_offset.offset_color = GColorBlack; s_yellow_effect_offset.offset_x = 2; s_yellow_effect_offset.offset_y = 2; s_yellow_effect_offset.orig_color = GColorYellow; s_yellow_effect_offset.offset_color = GColorBlack; GRect bounds = window_get_bounds(window); window_set_background_color(window, GColorBlack); s_time_font = fonts_load_resource_font(RESOURCE_ID_GASLIGHT_30); s_large_font = fonts_load_resource_font(RESOURCE_ID_GASLIGHT_40); s_small_font = fonts_load_resource_font(RESOURCE_ID_VIPNAGOR_12); s_effect_layer = effect_layer_create(bounds); s_blue_layer = layer_create(GRect(0,-168,144,168)); s_yellow_layer = layer_create(GRect(144,120,144,48)); s_time_layer = layer_create(GRect(144,0,144,168)); s_date_layer = layer_create(GRect(-144,0,144,168)); s_red_parent = layer_create(GRect(-42,0,42,168)); s_red_layer = bitmap_layer_create(GRect(0,0,42,168)); s_time_label = text_layer_create(GRect(0,30,129,40)); s_month_label = text_layer_create(GRect(0,60,64,40)); s_day_label = text_layer_create(GRect(0,60,129,40)); s_brand_label = text_layer_create(GRect(0,5,139,40)); layer_set_update_proc(s_blue_layer, update_blue); layer_set_update_proc(s_yellow_layer, update_yellow); s_red_bitmap = gbitmap_create_with_resource(RESOURCE_ID_SONIC); bitmap_layer_set_bitmap(s_red_layer, s_red_bitmap); bitmap_layer_set_compositing_mode(s_red_layer, GCompOpSet); text_layer_set_colors(s_time_label, GColorWhite, GColorClear); text_layer_set_colors(s_month_label, GColorWhite, GColorClear); text_layer_set_colors(s_day_label, GColorYellow, GColorClear); text_layer_set_colors(s_brand_label, GColorBlack, GColorClear); text_layer_set_text_alignment(s_time_label, GTextAlignmentRight); text_layer_set_text_alignment(s_month_label, GTextAlignmentRight); text_layer_set_text_alignment(s_day_label, GTextAlignmentRight); text_layer_set_text_alignment(s_brand_label, GTextAlignmentRight); text_layer_set_font(s_time_label, s_time_font); text_layer_set_font(s_month_label, s_time_font); text_layer_set_font(s_day_label, s_large_font); text_layer_set_font(s_brand_label, s_small_font); text_layer_set_text(s_brand_label, "PEBBLE TIME"); layer_add_to_window(s_blue_layer, window); layer_add_to_window(s_yellow_layer, window); layer_add_to_window(s_red_parent, window); bitmap_layer_add_to_layer(s_red_layer, s_red_parent); layer_add_to_window(s_time_layer, window); layer_add_to_window(s_date_layer, window); text_layer_add_to_layer(s_time_label, s_time_layer); text_layer_add_to_layer(s_month_label, s_date_layer); text_layer_add_to_layer(s_day_label, s_date_layer); text_layer_add_to_layer(s_brand_label, s_yellow_layer); effect_layer_add_effect(s_effect_layer, effect_shadow, &s_white_effect_offset); effect_layer_add_effect(s_effect_layer, effect_shadow, &s_yellow_effect_offset); layer_add_child(s_time_layer, effect_layer_get_layer(s_effect_layer)); layer_add_child(s_date_layer, effect_layer_get_layer(s_effect_layer)); do_animation(); update_time(); }