Exemple #1
0
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;
}
Exemple #2
0
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 );
 }
Exemple #3
0
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 );
 }
Exemple #4
0
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 );
}
Exemple #5
0
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(&center_display_layer, window.layer.frame);
  center_display_layer.update_proc = &center_display_layer_update_callback;
  layer_add_child(&window.layer, &center_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);
}