Example #1
0
static void lakka_draw_items(lakka_handle_t *lakka, int i)
{
   int j;
   menu_category_t *category = (menu_category_t*)&lakka->categories[i];
   menu_category_t *active_category = (menu_category_t*)
      &lakka->categories[lakka->menu_active_category];
   menu_item_t *active_item = (menu_item_t*)
      &active_category->items[active_category->active_item];
    
   (void)active_item;

   if (!lakka)
      return;

   for(j = 0; j < category->num_items; j++)
   {
      menu_item_t *item = (menu_item_t*)&category->items[j];

      if (!item)
         continue;

      if ((i >= (lakka->menu_active_category - 1)) &&
         (i <= (lakka->menu_active_category + 1))) /* performance improvement */
      {
         lakka_draw_icon(lakka, category->item_icon,
            lakka->margin_left + lakka->hspacing * (i+1) +
            lakka->all_categories_x - lakka->icon_size / 2.0, 
            lakka->margin_top + item->y + lakka->icon_size / 2.0, 
            item->alpha, 
            0, 
            item->zoom);

         if (lakka->depth == 0)
            lakka_draw_text(lakka, item->name,
               lakka->margin_left + lakka->hspacing * (i+1) +
               lakka->all_categories_x + lakka->label_margin_left, 
               lakka->margin_top + item->y + lakka->label_margin_top, 
               1, 
               item->alpha);
      }

      /* performance improvement */
      if (i == lakka->menu_active_category && j == category->active_item)
         lakka_draw_subitems(lakka, i, j);
   }
}
Example #2
0
static void lakka_draw_items(int i)
{
   int j;
   menu_category_t *category = (menu_category_t*)&categories[i];
   menu_category_t *active_category = (menu_category_t*)&categories[menu_active_category];
   menu_item_t *active_item = (menu_item_t*)&active_category->items[active_category->active_item];

   for(j = 0; j < category->num_items; j++)
   {
      menu_item_t *item = (menu_item_t*)&category->items[j];

      if (!item)
         continue;

      if (i == menu_active_category &&
         j > active_category->active_item - 4 &&
         j < active_category->active_item + 10) // performance improvement
      {
         lakka_draw_icon(category->item_icon, 
            156 + HSPACING*(i+1) + all_categories_x - dim/2.0, 
            300 + item->y + dim/2.0, 
            item->alpha, 
            0, 
            item->zoom);

         if (depth == 0)
            lakka_draw_text(&item->out, 
               156 + HSPACING * (i+1) + all_categories_x + dim/2.0, 
               300 + item->y + 15, 
               1, 
               item->alpha);
      }

      if (i == menu_active_category && j == category->active_item && depth == 1) // performance improvement
         lakka_draw_subitems(i, j);
   }
}
Example #3
0
static void lakka_draw_items(int i)
{
   int j;
   menu_category_t *category = (menu_category_t*)&categories[i];
   menu_category_t *active_category = (menu_category_t*)&categories[menu_active_category];
   menu_item_t *active_item = (menu_item_t*)&active_category->items[active_category->active_item];

   for(j = 0; j < category->num_items; j++)
   {
      menu_item_t *item = (menu_item_t*)&category->items[j];

      if (!item)
         continue;

      if (i >= menu_active_category - 1 &&
	 i <= menu_active_category + 1) // performance improvement
      {
         lakka_draw_icon(category->item_icon,
            margin_left + hspacing*(i+1) + all_categories_x - icon_size/2.0, 
            margin_top + item->y + icon_size/2.0, 
            item->alpha, 
            0, 
            item->zoom);

         if (depth == 0)
            lakka_draw_text(item->name,
               margin_left + hspacing * (i+1) + all_categories_x + label_margin_left, 
               margin_top + item->y + label_margin_top, 
               1, 
               item->alpha);
      }

      if (i == menu_active_category && j == category->active_item && depth == 1) // performance improvement
         lakka_draw_subitems(i, j);
   }
}