⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wgui_categories_mm.c

📁 MTK6226修改平台UI的文件介绍
💻 C
📖 第 1 页 / 共 5 页
字号:
            x + MAIN_MENU_HIGHLIGHTED_IMAGE_WIDTH - 1,
            y + MAIN_MENU_HIGHLIGHTED_IMAGE_HEIGHT - 1,
            &m->highlight_area);
        m->save_x = x;
        m->save_y = y;
        /* Display the highlighted item                          */
        mtk_show_animation_frames(x, y, m->list_of_items[m->highlighted_item], 1);
    }
    m->flags |= MAIN_MENU_ITEM_HIGHLIGHTED;
}

#endif /* ((UI_ENABLE_FRAME_SKIPPING) && (ENABLE_DIRECT_MAIN_MENU_FRAME_SKIPPING)) */ 


/*****************************************************************************
 * FUNCTION
 *  main_menu_previous_row
 * DESCRIPTION
 *  move to previous row of main menu item
 * PARAMETERS
 *  m       [IN]        Menu
 * RETURNS
 *  void
 *****************************************************************************/
void main_menu_previous_row(matrix_main_menu *m)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S32 row, column;
    S32 old_highlighted_item = m->highlighted_item;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    row = old_highlighted_item / MAIN_MENU_N_COLUMNS;
    column = old_highlighted_item % MAIN_MENU_N_COLUMNS;
    if (m->flags & MAIN_MENU_LOOP)
    {
        if (row <= 0)
        {
            row = MAIN_MENU_N_ROWS - 1;
        }
        else
        {
            row--;
        }

    #ifdef __MMI_MAIN_MENU_CYCLE__
        if (row == (MAIN_MENU_N_ROWS - 1))
            if (column > 0)
            {
                column--;
            }
            else
            {
                column = MAIN_MENU_N_COLUMNS - 1;
            }
    #endif /* __MMI_MAIN_MENU_CYCLE__ */ 
    }
    else
    {
        if (row > 0)
        {
            row--;
        }
    }
    m->highlighted_item = row * MAIN_MENU_N_COLUMNS + column;
    if (m->highlighted_item > (m->n_items - 1))
    {
        m->highlighted_item = m->n_items - 1;
    }
    if (old_highlighted_item != m->highlighted_item)
    {
        m->item_unhighlighted(old_highlighted_item);
        m->item_highlighted(m->highlighted_item);
        gui_hide_animations();
        show_main_menu_highlight(m);
    }
}


/*****************************************************************************
 * FUNCTION
 *  main_menu_next_row
 * DESCRIPTION
 *  move to next  row of main menu item
 * PARAMETERS
 *  m       [IN]        Menu
 * RETURNS
 *  void
 *****************************************************************************/
void main_menu_next_row(matrix_main_menu *m)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S32 row, column;
    S32 old_highlighted_item = m->highlighted_item;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    row = old_highlighted_item / MAIN_MENU_N_COLUMNS;
    column = old_highlighted_item % MAIN_MENU_N_COLUMNS;
    if (m->flags & MAIN_MENU_LOOP)
    {
        if (row >= (MAIN_MENU_N_ROWS - 1))
        {
            row = 0;
        }
        else
        {
            row++;
        }
    #ifdef __MMI_MAIN_MENU_CYCLE__
        if (row == 0)
        {
            column = (column + 1) % MAIN_MENU_N_COLUMNS;
        }
    #endif /* __MMI_MAIN_MENU_CYCLE__ */ 
    }
    else
    {
        if (row < (MAIN_MENU_N_ROWS - 1))
        {
            row++;
        }
    }
    m->highlighted_item = row * MAIN_MENU_N_COLUMNS + column;
    if (m->highlighted_item > (m->n_items - 1))
    {
        m->highlighted_item = m->n_items - 1;
    }
    if (old_highlighted_item != m->highlighted_item)
    {
        m->item_unhighlighted(old_highlighted_item);
        m->item_highlighted(m->highlighted_item);
        gui_hide_animations();
        show_main_menu_highlight(m);
    }
}


/*****************************************************************************
 * FUNCTION
 *  main_menu_previous_column
 * DESCRIPTION
 *  move to previous column of main menu item
 * PARAMETERS
 *  m       [IN]        Menu
 * RETURNS
 *  void
 *****************************************************************************/
void main_menu_previous_column(matrix_main_menu *m)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S32 row, column;
    S32 old_highlighted_item = m->highlighted_item;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    row = old_highlighted_item / MAIN_MENU_N_COLUMNS;
    column = old_highlighted_item % MAIN_MENU_N_COLUMNS;
    if (m->flags & MAIN_MENU_LOOP)
    {
        if (column <= 0)
        {
            column = MAIN_MENU_N_COLUMNS - 1;
            if (row <= 0)
            {
                row = MAIN_MENU_N_ROWS - 1;
            }
            else
            {
                row--;
            }
        }
        else
        {
            column--;
        }
    }
    else
    {
        if (column > 0)
        {
            column--;
        }
    }
    m->highlighted_item = row * MAIN_MENU_N_COLUMNS + column;
    if (m->highlighted_item > (m->n_items - 1))
    {
        m->highlighted_item = m->n_items - 1;
    }
    if (old_highlighted_item != m->highlighted_item)
    {
        m->item_unhighlighted(old_highlighted_item);
        m->item_highlighted(m->highlighted_item);
        gui_hide_animations();
        show_main_menu_highlight(m);
    }
}


/*****************************************************************************
 * FUNCTION
 *  main_menu_next_column
 * DESCRIPTION
 *  move to next  column of main menu item
 * PARAMETERS
 *  m       [IN]        Menu
 * RETURNS
 *  void
 *****************************************************************************/
void main_menu_next_column(matrix_main_menu *m)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S32 row, column;
    S32 old_highlighted_item = m->highlighted_item;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    row = old_highlighted_item / MAIN_MENU_N_COLUMNS;
    column = old_highlighted_item % MAIN_MENU_N_COLUMNS;
    if (m->flags & MAIN_MENU_LOOP)
    {
        if (column >= (MAIN_MENU_N_COLUMNS - 1))
        {
            column = 0;
            if (row >= (MAIN_MENU_N_ROWS - 1))
            {
                row = 0;
            }
            else
            {
                row++;
            }
        }
        else
        {
            column++;
        }
    }
    else
    {
        if (column < (MAIN_MENU_N_COLUMNS - 1))
        {
            column++;
        }
    }
    m->highlighted_item = row * MAIN_MENU_N_COLUMNS + column;
    if (m->highlighted_item > (m->n_items - 1))
    {
        m->highlighted_item = m->n_items - 1;
    }
    if (old_highlighted_item != m->highlighted_item)
    {
        m->item_unhighlighted(old_highlighted_item);
        m->item_highlighted(m->highlighted_item);
        gui_hide_animations();
        show_main_menu_highlight(m);
    }
}


/*****************************************************************************
 * FUNCTION
 *  main_menu_highlight_item
 * DESCRIPTION
 *  handle main menu highlighted item
 * PARAMETERS
 *  m           [IN]        Index of highlighted item
 *  index       [IN]        Index of highlighted item
 *  menu(?)     [IN]        Index of highlighted item
 * RETURNS
 *  void
 *****************************************************************************/
void main_menu_highlight_item(matrix_main_menu *m, S32 index)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S32 old_highlighted_item;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if ((index < 0) || (index >= m->n_items))
    {
        return;
    }
    if (index == m->highlighted_item)
    {
        return;
    }
    old_highlighted_item = m->highlighted_item;
    m->highlighted_item = index;
    m->item_unhighlighted(old_highlighted_item);
    m->item_highlighted(m->highlighted_item);
    gui_hide_animations();
    show_main_menu_highlight(m);
}


/*****************************************************************************
 * FUNCTION
 *  refresh_main_menu
 * DESCRIPTION
 *  refresh main menu
 * PARAMETERS
 *  m       [IN]        Menu
 * RETURNS
 *  void
 *****************************************************************************/
void refresh_main_menu(matrix_main_menu *m)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    gui_hide_animations();
    show_main_menu(m);
    show_main_menu_highlight(m);
}

/* Main menu wrappers   */


/*****************************************************************************
 * FUNCTION
 *  wgui_main_menu_previous_row
 * DESCRIPTION
 *  move to main enu previous row
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void wgui_main_menu_previous_row(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    main_menu_previous_row(&_wgui_main_menu);
#if((UI_ENABLE_FRAME_SKIPPING) && (ENABLE_DIRECT_MAIN_MENU_FRAME_SKIPPING))
#else /* ((UI_ENABLE_FRAME_SKIPPING) && (ENABLE_DIRECT_MAIN_MENU_FRAME_SKIPPING)) */ 
    gdi_layer_blt_previous(MAIN_MENU_X1, MAIN_MENU_Y1, MAIN_MENU_X2, MAIN_MENU_Y2);
#endif /* ((UI_ENABLE_FRAME_SKIPPING) && (ENABLE_DIRECT_MAIN_MENU_FRAME_SKIPPING)) */ 
}


/*****************************************************************************
 * FUNCTION
 *  wgui_main_menu_next_row
 * DESCRIPTION
 *  move to main menu next row
 * PARAMETERS
 *  void
 * RETURNS

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -