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

📄 wgui_categories_mm.c

📁 MTK6226修改平台UI的文件介绍
💻 C
📖 第 1 页 / 共 5 页
字号:
 *  void
 *****************************************************************************/
void wgui_main_menu_next_row(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    main_menu_next_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_previous_column
 * DESCRIPTION
 *  move to main menu previous column
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void wgui_main_menu_previous_column(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    main_menu_previous_column(&_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_column
 * DESCRIPTION
 *  move to main menu next column
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void wgui_main_menu_next_column(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    main_menu_next_column(&_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_goto_item
 * DESCRIPTION
 *  highlight particular menu item
 * PARAMETERS
 *  index       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
void wgui_main_menu_goto_item(S32 index)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    main_menu_highlight_item(&_wgui_main_menu, index);
#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_key_handler
 * DESCRIPTION
 *  set the key handlers of main menu
 * PARAMETERS
 *  vkey_code       [IN]        Key code
 *  key_state       [IN]        Key state
 * RETURNS
 *  void
 *****************************************************************************/
void wgui_main_menu_key_handler(S32 vkey_code, S32 key_state)
{
#if(MMI_BUILD_TYPE == BUILD_TYPE_X86WIN32)
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (key_state)
    {
        switch (vkey_code)
        {
            case 37:
                wgui_main_menu_previous_column();
                break;
            case 39:
                wgui_main_menu_next_column();
                break;
            case 38:
                wgui_main_menu_previous_row();
                break;
            case 40:
                wgui_main_menu_next_row();
                break;
        }
    }
#else /* (MMI_BUILD_TYPE == BUILD_TYPE_X86WIN32) */ 
    UI_UNUSED_PARAMETER(vkey_code);
    UI_UNUSED_PARAMETER(key_state);
#endif /* (MMI_BUILD_TYPE == BUILD_TYPE_X86WIN32) */ 
}


/*****************************************************************************
 * FUNCTION
 *  wgui_register_main_menu_keys
 * DESCRIPTION
 *  register main menu keys handlers
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void wgui_register_main_menu_keys(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    SetKeyHandler(wgui_main_menu_previous_row, KEY_UP_ARROW, KEY_EVENT_DOWN);
    SetKeyHandler(wgui_main_menu_next_row, KEY_DOWN_ARROW, KEY_EVENT_DOWN);
    SetKeyHandler(wgui_main_menu_previous_column, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
    SetKeyHandler(wgui_main_menu_next_column, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
    SetKeyHandler(wgui_main_menu_previous_column, KEY_VOL_UP, KEY_EVENT_DOWN);
    SetKeyHandler(wgui_main_menu_next_column, KEY_VOL_DOWN, KEY_EVENT_DOWN);
    register_keyboard_key_handler(wgui_main_menu_key_handler);
}


/*****************************************************************************
 * FUNCTION
 *  wgui_clear_main_menu_keys
 * DESCRIPTION
 *  clear key handlers of main menu
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void wgui_clear_main_menu_keys(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    ClearKeyHandler(KEY_UP_ARROW, KEY_EVENT_DOWN);
    ClearKeyHandler(KEY_DOWN_ARROW, KEY_EVENT_DOWN);
    ClearKeyHandler(KEY_LEFT_ARROW, KEY_EVENT_DOWN);
    ClearKeyHandler(KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
}


/*****************************************************************************
 * FUNCTION
 *  wgui_main_menu_highlight_handler
 * DESCRIPTION
 *  main menu highlight handler
 * PARAMETERS
 *  index       [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
void wgui_main_menu_highlight_handler(S32 index)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    MMI_menu_shortcut_number = index + 1;
    if (index >= 0 && index <= (_wgui_main_menu.n_items))
    {
        MMI_highlighted_item_text = _wgui_main_menu_item_strings[index];
        MMI_title_string = MMI_highlighted_item_text;
    }
#if(!DISABLE_MAIN_MENU_HIGHLIGHT_TITLE_UPDATE)
    draw_title();
#endif 
    MMI_matrix_highlight_handler(index);
}


/*****************************************************************************
 * FUNCTION
 *  wgui_register_main_menu_shortcut_handler
 * DESCRIPTION
 *  main menu shorcut  handler
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void wgui_register_main_menu_shortcut_handler(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    register_menu_shortcut_keys();
    register_menu_shortcut_handler(wgui_main_menu_goto_item);
}


/*****************************************************************************
 * FUNCTION
 *  wgui_setup_main_menu
 * DESCRIPTION
 *  Create main menu
 * PARAMETERS
 *  n_items                 [IN]        Number of items
 *  item_list               [IN]        Item list
 *  image_list              [IN]        Image list
 *  highlighted_item        [IN]        Highlighted item
 * RETURNS
 *  void
 *****************************************************************************/
void wgui_setup_main_menu(S32 n_items, U16 *item_list, U16 *image_list, S32 highlighted_item)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S32 i;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    for (i = 0; (i < n_items) && (i < MAIN_MENU_MAX_ITEMS); i++)
    {
        _wgui_main_menu_items[i] = (PU8) GetImage(image_list[i]);
        _wgui_main_menu_item_strings[i] = (UI_string_type) GetString(item_list[i]);
    }

#ifdef __MMI_MERGE_SAT_TO_MAINMENU__
#ifndef WAP_SUPPORT
    if (IsSATPresent())
    {
        _wgui_main_menu_item_strings[7] = (UI_string_type) GetSATMainMenuAlphaID();
    }
#endif /* WAP_SUPPORT */ 
#endif /* __MMI_MERGE_SAT_TO_MAINMENU__ */ 

    setup_main_menu(&_wgui_main_menu, 1, (MMI_title_y + MMI_title_height) + 1, n_items, _wgui_main_menu_items);
    _wgui_main_menu.flags |= MAIN_MENU_LOOP;
    _wgui_main_menu.highlighted_item = highlighted_item;
    _wgui_main_menu.item_highlighted = wgui_main_menu_highlight_handler;
    wgui_main_menu_highlight_handler(highlighted_item);
#if((UI_ENABLE_FRAME_SKIPPING) && (ENABLE_DIRECT_MAIN_MENU_FRAME_SKIPPING))
    wgui_matrix_main_menu_frame_counter = 0;
#endif 
}


/*****************************************************************************
 * FUNCTION
 *  wgui_redraw_main_menu
 * DESCRIPTION
 *  redraw main menu
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void wgui_redraw_main_menu(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    refresh_main_menu(&_wgui_main_menu);
}


/*****************************************************************************
 * FUNCTION
 *  set_matrix_main_menu_category_history
 * DESCRIPTION
 *  set main menu matirx history
 * PARAMETERS
 *  history_ID          [IN]        
 *  history_buffer      [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
U8 set_matrix_main_menu_category_history(U16 history_ID, U8 *history_buffer)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (history_buffer != NULL)
    {
        matrix_main_menu_category_history *h = (matrix_main_menu_category_history*) history_buffer;

        if (history_valid(h->history_ID, history_ID))
        {
            _wgui_main_menu.highlighted_item = h->highlighted_item;
            _wgui_main_menu.flags = h->flags;
            return (1);
        }
    }
    return (0);
}


/*****************************************************************************
 * FUNCTION
 *  get_matrix_main_menu_category_history
 * DESCRIPTION
 *  get main menu matirx history
 * PARAMETERS
 *  history_ID          [IN]        
 *  history_buffer      [IN]        
 * RETURNS

⌨️ 快捷键说明

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