void handle_init(AppContextRef ctx) { (void)ctx; window_init(&s_window, "barwatch"); window_stack_push(&s_window, true /* Animated */); layer_init(&bar_layer, GRect(0,0, s_window.layer.frame.size.w, s_window.layer.frame.size.h)); bar_layer.update_proc = draw_bar_layer; layer_add_child(&s_window.layer, &bar_layer); /* Initialize inverter layer * add one to x and y and subtract bar height by 2 so that the * inverter layer fits inside the rectangle and doesn't invert the rectangle */ inverter_layer_init(&days_in_year_inverter_layer, GRect(BAR_OFFSET + 1, FIRST_BAR_Y + 1 + ((BAR_HEIGHT + BAR_MARGIN) * 0), 0, BAR_HEIGHT - 2)); inverter_layer_init(&days_in_month_inverter_layer,GRect(BAR_OFFSET + 1, FIRST_BAR_Y + 1 + ((BAR_HEIGHT + BAR_MARGIN) * 0), 0, BAR_HEIGHT - 2)); inverter_layer_init(&days_in_week_inverter_layer, GRect(BAR_OFFSET + 1, FIRST_BAR_Y + 1 + ((BAR_HEIGHT + BAR_MARGIN) * 1), 0, BAR_HEIGHT - 2)); inverter_layer_init(&hours_inverter_layer, GRect(BAR_OFFSET + 1, FIRST_BAR_Y + 1 + ((BAR_HEIGHT + BAR_MARGIN) * 1), 0, BAR_HEIGHT - 2)); inverter_layer_init(&minutes_inverter_layer, GRect(BAR_OFFSET + 1, FIRST_BAR_Y + 1 + ((BAR_HEIGHT + BAR_MARGIN) * 2), 0, BAR_HEIGHT - 2)); inverter_layer_init(&seconds_inverter_layer, GRect(BAR_OFFSET + 1, FIRST_BAR_Y + 1 + ((BAR_HEIGHT + BAR_MARGIN) * 2), 0, BAR_HEIGHT - 2)); layer_add_child(&s_window.layer, &days_in_year_inverter_layer.layer); layer_add_child(&s_window.layer, &days_in_month_inverter_layer.layer); layer_add_child(&s_window.layer, &days_in_week_inverter_layer.layer); layer_add_child(&s_window.layer, &hours_inverter_layer.layer); layer_add_child(&s_window.layer, &minutes_inverter_layer.layer); layer_add_child(&s_window.layer, &seconds_inverter_layer.layer); draw_once = true; }
void stop_after_win_init( void ) { stop_after = init_stop_after; window_init( &stop_after_win, "Stop After" ); stop_after_win.window_handlers.appear = (WindowHandler) &stop_after_win_appear; stop_after_win.window_handlers.disappear = (WindowHandler) &stop_after_win_disappear; spinner_init( &stop_after_spin, &stop_after_win, stop_after_up, stop_after_down, SPIN_NO_ADDITIONAL_CLICK_CONFIG, my_ctx ); text_layer_init( &stop_after_title_lay, GRect( 0, 0, SCREEN_WIDTH, 28 ) ); text_layer_set_font( &stop_after_title_lay, fonts_get_system_font( FONT_KEY_ROBOTO_CONDENSED_21 ) ); text_layer_set_text_alignment( &stop_after_title_lay, GTextAlignmentCenter ); text_layer_set_text( &stop_after_title_lay, stop_after_title_str ); layer_add_child( &stop_after_win.layer, &stop_after_title_lay.layer ); inverter_layer_init( &stop_after_title_inverter_lay, GRect( 0, 0, SCREEN_WIDTH, 30 ) ); layer_add_child( &stop_after_win.layer, (Layer*) &stop_after_title_inverter_lay ); text_layer_init( &stop_after_lay, GRect( 0, 55, SCREEN_WIDTH, 30 ) ); text_layer_set_font( &stop_after_lay, fonts_get_system_font( FONT_KEY_BITHAM_30_BLACK ) ); text_layer_set_text_alignment( &stop_after_lay, GTextAlignmentCenter ); text_layer_set_text( &stop_after_lay, get_str_for_stop_after() ); layer_add_child( &stop_after_win.layer, &stop_after_lay.layer ); text_layer_init( &stop_after_bpm_lay, GRect( 0, 85, SCREEN_WIDTH, 25 ) ); text_layer_set_font( &stop_after_bpm_lay, fonts_get_system_font( FONT_KEY_ROBOTO_CONDENSED_21 ) ); text_layer_set_text_alignment( &stop_after_bpm_lay, GTextAlignmentCenter ); text_layer_set_text( &stop_after_bpm_lay, beats_str ); layer_add_child( &stop_after_win.layer, &stop_after_bpm_lay.layer ); }
void vibe_dur_win_init( void ) { vibe_dur = init_vibe_dur; window_init( &vibe_dur_win, "Vibe Dur" ); vibe_dur_win.window_handlers.appear = (WindowHandler) &vibe_dur_win_appear; vibe_dur_win.window_handlers.disappear = (WindowHandler) &vibe_dur_win_disappear; spinner_init( &vibe_dur_spin, &vibe_dur_win, vibe_dur_up, vibe_dur_down, SPIN_NO_ADDITIONAL_CLICK_CONFIG, my_ctx ); text_layer_init( &vibe_dur_title_lay, GRect( 0, 0, SCREEN_WIDTH, 28 ) ); text_layer_set_font( &vibe_dur_title_lay, fonts_get_system_font( FONT_KEY_ROBOTO_CONDENSED_21 ) ); text_layer_set_text_alignment( &vibe_dur_title_lay, GTextAlignmentCenter ); text_layer_set_text( &vibe_dur_title_lay, vibe_dur_title_str ); layer_add_child( &vibe_dur_win.layer, &vibe_dur_title_lay.layer ); inverter_layer_init( &vibe_dur_title_inverter_lay, GRect( 0, 0, SCREEN_WIDTH, 30 ) ); layer_add_child( &vibe_dur_win.layer, (Layer*) &vibe_dur_title_inverter_lay ); text_layer_init( &vibe_dur_lay, GRect( 0, 55, SCREEN_WIDTH, 30 ) ); text_layer_set_font( &vibe_dur_lay, fonts_get_system_font( FONT_KEY_BITHAM_30_BLACK ) ); text_layer_set_text_alignment( &vibe_dur_lay, GTextAlignmentCenter ); snprintf( vibe_dur_str, 4, "%d", vibe_dur ); text_layer_set_text( &vibe_dur_lay, vibe_dur_str ); layer_add_child( &vibe_dur_win.layer, &vibe_dur_lay.layer ); }
void find_tempo_win_init( void ) { window_init( &find_tempo_win, "Find Tempo" ); window_set_click_config_provider( &find_tempo_win, (ClickConfigProvider) &find_tempo_win_config_click_provider ); find_tempo_win.window_handlers.appear = (WindowHandler) find_tempo_win_appear; find_tempo_win.window_handlers.disappear = (WindowHandler) find_tempo_win_disappear; text_layer_init( &find_tempo_title_lay, GRect( 0, 0, SCREEN_WIDTH, 28 ) ); text_layer_set_font( &find_tempo_title_lay, fonts_get_system_font( FONT_KEY_ROBOTO_CONDENSED_21 ) ); text_layer_set_text_alignment( &find_tempo_title_lay, GTextAlignmentCenter ); text_layer_set_text( &find_tempo_title_lay, find_tempo_title_str ); layer_add_child( &find_tempo_win.layer, &find_tempo_title_lay.layer ); inverter_layer_init( &find_tempo_title_inverter_lay, GRect( 0, 0, SCREEN_WIDTH, 30 ) ); layer_add_child( &find_tempo_win.layer, (Layer*) &find_tempo_title_inverter_lay ); text_layer_init( &tap_butt_lay, GRect( SCREEN_WIDTH - 32, SCREEN_HEIGHT - 25, 30, 25 ) ); text_layer_set_font( &tap_butt_lay, fonts_get_system_font( FONT_KEY_ROBOTO_CONDENSED_21 ) ); text_layer_set_text_alignment( &tap_butt_lay, GTextAlignmentRight ); text_layer_set_text( &tap_butt_lay, tap_butt_str ); layer_add_child( &find_tempo_win.layer, &tap_butt_lay.layer ); text_layer_init( &use_butt_lay, GRect( SCREEN_WIDTH - 32, SCREEN_HEIGHT / 2 - 5, 30, 25 ) ); text_layer_set_font( &use_butt_lay, fonts_get_system_font( FONT_KEY_ROBOTO_CONDENSED_21 ) ); text_layer_set_text_alignment( &use_butt_lay, GTextAlignmentRight ); text_layer_set_text( &use_butt_lay, use_butt_str ); layer_add_child( &find_tempo_win.layer, &use_butt_lay.layer ); text_layer_init( &curr_tempo_lay, GRect( 10, 30, 70, 30 ) ); text_layer_set_font( &curr_tempo_lay, fonts_get_system_font( FONT_KEY_BITHAM_30_BLACK ) ); text_layer_set_text_alignment( &curr_tempo_lay, GTextAlignmentRight ); text_layer_set_text( &curr_tempo_lay, "100" ); layer_add_child( &find_tempo_win.layer, &curr_tempo_lay.layer ); text_layer_init( &curr_tempo_name_lay, GRect( 80, 42, 30, 18 ) ); text_layer_set_font( &curr_tempo_name_lay, fonts_get_system_font( FONT_KEY_GOTHIC_18_BOLD ) ); text_layer_set_text_alignment( &curr_tempo_name_lay, GTextAlignmentCenter ); text_layer_set_text( &curr_tempo_name_lay, curr_tempo_name_str ); layer_add_child( &find_tempo_win.layer, &curr_tempo_name_lay.layer ); text_layer_init( &avg_tempo_lay, GRect( 10, 70, 70, 30 ) ); text_layer_set_font( &avg_tempo_lay, fonts_get_system_font( FONT_KEY_BITHAM_30_BLACK ) ); text_layer_set_text_alignment( &avg_tempo_lay, GTextAlignmentRight ); text_layer_set_text( &avg_tempo_lay, "100" ); layer_add_child( &find_tempo_win.layer, &avg_tempo_lay.layer ); text_layer_init( &avg_tempo_name_lay, GRect( 80, 82, 30, 21 ) ); text_layer_set_font( &avg_tempo_name_lay, fonts_get_system_font( FONT_KEY_GOTHIC_18_BOLD ) ); text_layer_set_text_alignment( &avg_tempo_name_lay, GTextAlignmentCenter ); text_layer_set_text( &avg_tempo_name_lay, avg_tempo_name_str ); layer_add_child( &find_tempo_win.layer, &avg_tempo_name_lay.layer ); text_layer_init( &measuring_lay, GRect( 20, 110, 65, 28 ) ); text_layer_set_font( &measuring_lay, fonts_get_system_font( FONT_KEY_GOTHIC_24_BOLD ) ); text_layer_set_text_alignment( &measuring_lay, GTextAlignmentCenter ); text_layer_set_text( &measuring_lay, measuring_inactive_str ); layer_add_child( &find_tempo_win.layer, &measuring_lay.layer ); inverter_layer_init( &measuring_inverter_lay, GRect( 20, 114, 65, 24 ) ); layer_add_child( &find_tempo_win.layer, (Layer*) &measuring_inverter_lay ); layer_set_hidden( (Layer*) &measuring_inverter_lay, true ); }
void handle_init(AppContextRef ctx) { (void)ctx; window_init(&window, "Modern Watch"); window_stack_push(&window, true /* Animated */); resource_init_current_app(&APP_RESOURCES); bmp_init_container(RESOURCE_ID_IMAGE_BACKGROUND, &background_image_container); layer_add_child(&window.layer, &background_image_container.layer.layer); heap_bitmap_init(&icon_status_1, RESOURCE_ID_IMAGE_STATUS_1); heap_bitmap_init(&icon_status_2, RESOURCE_ID_IMAGE_STATUS_2); heap_bitmap_init(&icon_status_3, RESOURCE_ID_IMAGE_STATUS_3); text_layer_init(&date_layer, GRect(27, 112, 90, 21)); text_layer_set_text_color(&date_layer, GColorWhite); text_layer_set_text_alignment(&date_layer, GTextAlignmentCenter); text_layer_set_background_color(&date_layer, GColorClear); text_layer_set_font(&date_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18)); layer_add_child(&window.layer, &date_layer.layer); text_layer_init(&date_layer2, GRect(27, 93, 90, 21)); text_layer_set_text_color(&date_layer2, GColorWhite); text_layer_set_text_alignment(&date_layer2, GTextAlignmentCenter); text_layer_set_background_color(&date_layer2, GColorClear); text_layer_set_font(&date_layer2, fonts_get_system_font(FONT_KEY_GOTHIC_18)); layer_add_child(&window.layer, &date_layer2.layer); draw_date(); GRect sframe; sframe.origin.x = 54; sframe.origin.y = 56; sframe.size.w = 38; sframe.size.h = 9; layer_init(&status_layer, sframe); status_layer.update_proc = &status_layer_update_callback; layer_add_child(&window.layer, &status_layer); layer_init(&hour_display_layer, window.layer.frame); hour_display_layer.update_proc = &hour_display_layer_update_callback; layer_add_child(&window.layer, &hour_display_layer); gpath_init(&hour_hand_path, &HOUR_HAND_PATH_POINTS); gpath_move_to(&hour_hand_path, grect_center_point(&hour_display_layer.frame)); layer_init(&minute_display_layer, window.layer.frame); minute_display_layer.update_proc = &minute_display_layer_update_callback; layer_add_child(&window.layer, &minute_display_layer); gpath_init(&minute_hand_path, &MINUTE_HAND_PATH_POINTS); gpath_move_to(&minute_hand_path, grect_center_point(&minute_display_layer.frame)); layer_init(¢er_display_layer, window.layer.frame); center_display_layer.update_proc = ¢er_display_layer_update_callback; layer_add_child(&window.layer, ¢er_display_layer); layer_init(&second_display_layer, window.layer.frame); second_display_layer.update_proc = &second_display_layer_update_callback; layer_add_child(&window.layer, &second_display_layer); // Configurable inverse #ifdef INVERSE inverter_layer_init(&full_inverse_layer, GRect(0, 0, window.layer.bounds.size.w, window.layer.bounds.size.h)); layer_add_child(&window.layer, &full_inverse_layer.layer); #endif calendar_init(ctx); }