Esempio n. 1
0
void win_add_duration_init(void) {
  window = window_create();

  layer = layer_create_fullscreen(window);
  layer_set_update_proc(layer, layer_update);
  layer_add_to_window(layer, window);

  layer_action_bar = action_bar_layer_create();
  action_bar_layer_add_to_window(layer_action_bar, window);
  action_bar_layer_set_click_config_provider(layer_action_bar, layer_action_bar_click_config_provider);
  action_bar_layer_set_icon(layer_action_bar, BUTTON_ID_UP, bitmaps_get_bitmap(RESOURCE_ID_ACTION_INC));
  action_bar_layer_set_icon(layer_action_bar, BUTTON_ID_DOWN, bitmaps_get_bitmap(RESOURCE_ID_ACTION_DEC));
  action_bar_layer_set_icon(layer_action_bar, BUTTON_ID_SELECT, bitmaps_get_bitmap(RESOURCE_ID_ACTION_OK));

  font_duration = fonts_load_custom_font(resource_get_handle(RESOURCE_ID_FONT_AUDI_70_BOLD));
}
Esempio n. 2
0
GBitmap* bitmaps_get_sub_bitmap(uint32_t res_id, GRect rect) {
  if (! bitmaps) {
    return NULL;
  }
  GBitmap* parent = NULL;
  uint8_t count = linked_list_count(bitmaps);
  for (uint8_t b = 0; b < count; b += 1) {
    AppBitmap* bmp = (AppBitmap*)linked_list_get(bitmaps, b);
    if (bmp->res_id == res_id) {
      if (bmp->is_sub) {
        if (grect_equal(bmp->rect, &rect)) {
          return bmp->bitmap;
        }
      }
      else {
        parent = bmp->bitmap;
      }
    }
  }
  if (! parent) {
    parent = bitmaps_get_bitmap(res_id);
    if (! parent) {
      return NULL;
    }
  }
  AppBitmap* app_bmp = malloc(sizeof(AppBitmap));
  if (app_bmp == NULL) {
    return NULL;
  }
  app_bmp->res_id = res_id;
  app_bmp->bitmap = gbitmap_create_as_sub_bitmap(parent, rect);
  if (app_bmp->bitmap == NULL) {
    return NULL;
  }
  app_bmp->rect = malloc(sizeof(GRect));
  app_bmp->rect->origin = rect.origin;
  app_bmp->rect->size = rect.size;
  app_bmp->is_sub = true;
  linked_list_append(bitmaps, app_bmp);
  return app_bmp->bitmap;
}
Esempio n. 3
0
void timer_draw(Timer* timer, GContext* ctx) {
  char* time_left = malloc(32);
  GBitmap* row_bmp = NULL;
  GBitmap* dir_bmp = NULL;

  if (NULL == timer) {
    return;
  }
  timer_duration_str(timer->time_left, settings()->timers_hours, time_left, 32);

  switch (timer->status) {
    case TIMER_STATUS_RUNNING:
      row_bmp = bitmaps_get_bitmap(RESOURCE_ID_MENU_ICON_PLAY);
    break;
    case TIMER_STATUS_PAUSED:
      row_bmp = bitmaps_get_bitmap(RESOURCE_ID_MENU_ICON_PAUSE);
    break;
    case TIMER_STATUS_STOPPED:
      row_bmp = bitmaps_get_bitmap(RESOURCE_ID_MENU_ICON_STOP);
    break;
    case TIMER_STATUS_FINISHED:
      row_bmp = bitmaps_get_bitmap(RESOURCE_ID_MENU_ICON_DONE);
    break;
  }

  switch (timer->direction) {
    case TIMER_DIRECTION_UP:
      dir_bmp = bitmaps_get_bitmap(RESOURCE_ID_ARROW_UP);
    break;
    case TIMER_DIRECTION_DOWN:
      dir_bmp = bitmaps_get_bitmap(RESOURCE_ID_ARROW_DOWN);
    break;
  }

  graphics_context_set_text_color(ctx, GColorBlack);
  if (row_bmp != NULL) {
    graphics_draw_bitmap_in_rect(ctx, row_bmp, GRect(8, 10, 20, 20));
  }
  graphics_draw_text(ctx, time_left, fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD), GRect(36, 1, 110, 32), 0, GTextAlignmentLeft, NULL);
  if (dir_bmp != NULL) {
    graphics_draw_bitmap_in_rect(ctx, dir_bmp, GRect(132, 16, 8, 8));
  }

  free(time_left);
}