Пример #1
0
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,
    });
Пример #2
0
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();
}