void handle_minute_tick(AppContextRef ctx, PebbleTickEvent *t) { PblTm currentTime; get_time(¤tTime); if (current_year != currentTime.tm_year) { current_year = currentTime.tm_year - 88; calculate_digit_positions(current_year); for (int i = 0; i < 3; ++i) { if (i < digit_used){ layer_set_hidden(&bml_year[i].layer, false); bitmap_layer_set_bitmap(&bml_year[i], &image_numbers_small[digit_pos[i]].bmp); layer_set_frame(&bml_year[i].layer, GRect(SCREENW - SMALL_W, (2+i)*SMALL_H, SMALL_W, SMALL_H)); layer_mark_dirty(&bml_year[i].layer); } else { layer_set_hidden(&bml_year[i].layer, true); } } layer_set_frame(&image_lbl_yr.layer.layer, GRect(SCREENW - SMALL_W, (2+digit_used)*SMALL_H, SMALL_W, SMALL_H)); layer_mark_dirty(&image_lbl_yr.layer.layer); } if(current_month != currentTime.tm_mon) { current_month = currentTime.tm_mon; calculate_digit_positions(current_month+1); for (int i = 0; i < 3; ++i) { if (i < digit_used){ layer_set_hidden(&bml_month[i].layer, false); bitmap_layer_set_bitmap(&bml_month[i], &image_numbers_small[digit_pos[i]].bmp); layer_set_frame(&bml_month[i].layer, GRect(SCREENW - 2*SMALL_W, i*SMALL_H, SMALL_W, SMALL_H)); layer_mark_dirty(&bml_month[i].layer); } else { layer_set_hidden(&bml_month[i].layer, true); } } layer_set_frame(&image_lbl_mt.layer.layer, GRect(SCREENW - 2*SMALL_W, digit_used*SMALL_H, SMALL_W, SMALL_H)); layer_mark_dirty(&image_lbl_mt.layer.layer); } if (current_day != currentTime.tm_mday) { current_day = currentTime.tm_mday; calculate_digit_positions(current_day); for (int i = 0; i < 3; ++i) { if (i < digit_used){ layer_set_hidden(&bml_day[i].layer, false); bitmap_layer_set_bitmap(&bml_day[i], &image_numbers_small[digit_pos[i]].bmp); layer_set_frame(&bml_day[i].layer, GRect(SCREENW - 3*SMALL_W, i*SMALL_H, SMALL_W, SMALL_H)); layer_mark_dirty(&bml_day[i].layer); } else { layer_set_hidden(&bml_day[i].layer, true); } } layer_set_frame(&image_lbl_dy.layer.layer, GRect(SCREENW - 3*SMALL_W, digit_used*SMALL_H, SMALL_W, SMALL_H)); layer_mark_dirty(&image_lbl_dy.layer.layer); } if (current_wday != currentTime.tm_wday) { current_wday = currentTime.tm_wday; layer_set_hidden(&bml_weekday.layer, false); bitmap_layer_set_bitmap(&bml_weekday, &image_week_days[current_wday].bmp); layer_set_frame(&bml_weekday.layer, GRect(SCREENW - 4*SMALL_W, 0, SMALL_W, SMALL_H)); layer_mark_dirty(&bml_weekday.layer); } if (current_hour != currentTime.tm_hour) { current_hour = currentTime.tm_hour; calculate_digit_positions(calculate_12_format(current_hour)); if (current_hour >= 5 && current_hour < 12) { layer_set_hidden(&img_morning.layer.layer, false); layer_set_hidden(&img_noon.layer.layer, true); layer_set_hidden(&img_night.layer.layer, true); } else if (current_hour >= 12 && current_hour < 19) { layer_set_hidden(&img_morning.layer.layer, true); layer_set_hidden(&img_noon.layer.layer, false); layer_set_hidden(&img_night.layer.layer, true); } else { layer_set_hidden(&img_morning.layer.layer, true); layer_set_hidden(&img_noon.layer.layer, true); layer_set_hidden(&img_night.layer.layer, false); } for (int i = 0; i < 3; ++i) { if (i < digit_used){ layer_set_hidden(&bml_hour[i].layer, false); bitmap_layer_set_bitmap(&bml_hour[i], &image_numbers_small[digit_pos[i]].bmp); layer_set_frame(&bml_hour[i].layer, GRect(SCREENW - 6*SMALL_W, i*SMALL_H, SMALL_W, SMALL_H)); layer_mark_dirty(&bml_hour[i].layer); } else { layer_set_hidden(&bml_hour[i].layer, true); } } layer_set_frame(&image_lbl_hr.layer.layer, GRect(SCREENW - 6*SMALL_W, digit_used*SMALL_H, SMALL_W, SMALL_H)); layer_mark_dirty(&image_lbl_hr.layer.layer); } if (current_minute != currentTime.tm_min) { current_minute = currentTime.tm_min; calculate_digit_positions(current_minute); for (int i = 0; i < 3; ++i) { if (i < digit_used){ layer_set_hidden(&bml_minute[i].layer, false); bitmap_layer_set_bitmap(&bml_minute[i], &image_numbers_small[digit_pos[i]].bmp); layer_set_frame(&bml_minute[i].layer, GRect(SCREENW - 7*SMALL_W, i*SMALL_H, SMALL_W, SMALL_H)); layer_mark_dirty(&bml_minute[i].layer); } else { layer_set_hidden(&bml_minute[i].layer, true); } } layer_set_frame(&image_lbl_mn.layer.layer, GRect(SCREENW - 7*SMALL_W, digit_used*SMALL_H, SMALL_W, SMALL_H)); layer_mark_dirty(&image_lbl_mn.layer.layer); } }
static void handle_minute_tick(struct tm* time, TimeUnits units_changed) { Layer* window_layer = window_get_root_layer(window); GRect bounds = layer_get_frame(window_layer); Layer* layer; if (current_hr != time->tm_hour) { current_hr = time->tm_hour; // layer = bitmap_layer_get_layer(period_layer); if (current_hr >= 5 && current_hr < 12) bitmap_layer_set_bitmap(period_layer, img_morning); else if (current_hr >= 12 && current_hr < 19) bitmap_layer_set_bitmap(period_layer, img_noon); else bitmap_layer_set_bitmap(period_layer, img_night); layer_mark_dirty(layer); // calulate_digit_idxs(calculate_12_format(current_hr)); for (int i = 0; i < 3; ++i) { layer = bitmap_layer_get_layer(hr_digits[i]); if (i < digit_used) { layer_set_hidden(layer, false); bitmap_layer_set_bitmap(hr_digits[i], img_hr_numbers[digit_idxs[i]]); // layer_set_frame(layer, GRect(bounds.size.w - BIG_W * (2 - i), 0, BIG_W, BIG_H)); layer_set_frame(layer, GRect(bounds.size.w - BIG_W, BIG_H*i, BIG_W, BIG_H)); layer_mark_dirty(layer); } else { layer_set_hidden(layer, true); } } // layer = bitmap_layer_get_layer(hr_layer); layer_set_frame(layer, GRect(bounds.size.w - BIG_W, digit_used > 1 ? BIG_H*2 : BIG_H, BIG_W, BIG_H)); layer_mark_dirty(layer); } // if (current_min != time->tm_min) { current_min = time->tm_min; // calulate_digit_idxs(time->tm_min); for (int i = 0; i < 3; ++i) { layer = bitmap_layer_get_layer(min_digits[i]); if (i < digit_used) { layer_set_hidden(layer, false); bitmap_layer_set_bitmap(min_digits[i], img_min_numbers[digit_idxs[i]]); layer_set_frame(layer, GRect(SMALL_W * (1 + i), bounds.size.h - SMALL_H, SMALL_W, SMALL_H)); layer_mark_dirty(layer); } else { layer_set_hidden(layer, true); } } // layer = bitmap_layer_get_layer(min_layer); layer_set_frame(layer, GRect(SMALL_W * (1 + digit_used), bounds.size.h - SMALL_H, SMALL_W, SMALL_H)); layer_mark_dirty(layer); } }