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

📄 wgui_categories_popup.c

📁 MTK6226修改平台UI的文件介绍
💻 C
📖 第 1 页 / 共 5 页
字号:
 *  MMI_ID_TYPE(?)      [IN]        Icon        Message icon
 * RETURNS
 *  void
 *****************************************************************************/
void ShowCommonCategoryPopupScreen(UI_string_type message, U8 *history_buffer)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S32 l;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    UI_UNUSED_PARAMETER(history_buffer);
    gui_lock_double_buffer();
    entry_full_screen();
    clear_category_screen_key_handlers();
    clear_left_softkey();
    clear_right_softkey();
    MMI_message_string = message;
    l = gui_strlen(MMI_message_string);
    create_multiline_inputbox_set_buffer(MMI_message_string, l, l, 0);
    MMI_multiline_inputbox.flags |= UI_MULTI_LINE_INPUT_BOX_DISABLE_CURSOR_DRAW
        | UI_MULTI_LINE_INPUT_BOX_CENTER_JUSTIFY
        | UI_MULTI_LINE_INPUT_BOX_DISABLE_BACKGROUND
        | UI_MULTI_LINE_INPUT_BOX_DISABLE_SCROLLBAR | UI_MULTI_LINE_INPUT_BOX_VIEW_MODE;
    MMI_multiline_inputbox.ext_flags |= GUI_MULTI_LINE_INPUT_BOX_TRUNCATE_CONTENT;
    gui_unlock_double_buffer();
}


/*****************************************************************************
 * FUNCTION
 *  ShowCommonCategoryPopupScreenType2
 * DESCRIPTION
 *  
 * PARAMETERS
 *  title                   [IN]        
 *  title_icon              [IN]        
 *  left_softkey            [IN]        
 *  left_softkey_icon       [IN]        
 *  right_softkey           [IN]        
 *  right_softkey_icon      [IN]        
 *  message                 [IN]        
 *  history_buffer          [?]         
 * RETURNS
 *  void
 *****************************************************************************/
void ShowCommonCategoryPopupScreenType2(
        U16 title,
        U16 title_icon,
        U16 left_softkey,
        U16 left_softkey_icon,
        U16 right_softkey,
        U16 right_softkey_icon,
        UI_string_type message,
        U8 *history_buffer)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S32 l;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    UI_UNUSED_PARAMETER(history_buffer);
    gui_lock_double_buffer();
    /* Leo start 20050809 */
    entry_full_screen();
    /* Leo end 20050809 */
    change_left_softkey(left_softkey, left_softkey_icon);
    change_right_softkey(right_softkey, right_softkey_icon);
    SetupCategoryKeyHandlers();
    if (title)
    {
        MMI_title_string = (UI_string_type) get_string(title);
    }
    else
    {
        MMI_title_string = NULL;
    }
    if (MMI_title_icon)
    {
        MMI_title_icon = (PU8) get_image(title_icon);
    }
    else
    {
        MMI_title_icon = NULL;
    }
    MMI_message_string = message;
    l = gui_strlen(MMI_message_string);
    create_multiline_inputbox_set_buffer(MMI_message_string, l, l, 0);
    MMI_multiline_inputbox.flags |= UI_MULTI_LINE_INPUT_BOX_DISABLE_CURSOR_DRAW
        | UI_MULTI_LINE_INPUT_BOX_CENTER_JUSTIFY
        | UI_MULTI_LINE_INPUT_BOX_DISABLE_BACKGROUND
        | UI_MULTI_LINE_INPUT_BOX_DISABLE_SCROLLBAR | UI_MULTI_LINE_INPUT_BOX_VIEW_MODE;
    MMI_multiline_inputbox.ext_flags |= GUI_MULTI_LINE_INPUT_BOX_TRUNCATE_CONTENT;
    gui_unlock_double_buffer();
}


/*****************************************************************************
 * FUNCTION
 *  wgui_draw_pop_up_screen_background
 * DESCRIPTION
 *  draw the background of popup screns
 * PARAMETERS
 *  x1                      [IN]        Start x position
 *  y1                      [IN]        Start y position
 *  x2                      [IN]        End x position
 *  y2                      [IN]        End y posityion
 *  f                       [IN]        Filled pattern
 *  enable_3D_effect        [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
void wgui_draw_pop_up_screen_background(S32 x1, S32 y1, S32 x2, S32 y2, UI_filled_area *f, MMI_BOOL enable_3D_effect)
{
#ifdef __MMI_MAINLCD_240X320__
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    /* PMT HIMANSHU START 20050916 */
#if 0
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif /* 0 */ 

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (enable_3D_effect == MMI_TRUE)
    {
        /* Doing nothing */
    }
    //gui_draw_gradient_rounded_rectangle(x1, y1, x2, y2, current_MMI_theme->scrollbar_indicator_filler->c, f->c, 6);
    gui_draw_gradient_rounded_rectangle(x1, y1, x2, y2, f->border_color, f->c, 6);//091506 popup border
    gui_fill_rectangle(x1 + 6, y1 + 6, x2 - 6, y2 - 6, f->c);
    /* PMT HIMANSHU END 20050916 */

#else /* __MMI_MAINLCD_240X320__ */ 
    gui_fill_rectangle(x1 + 1, y1 + 7, x2 - 1, y2 - 7, f->c);
    gui_draw_vertical_line(y1 + 6, y2 - 6, x1, f->border_color);
    gui_draw_vertical_line(y1 + 6, y2 - 6, x2, f->border_color);
    gui_draw_horizontal_line(x1 + 6, x2 - 6, y1, f->border_color);
    gui_draw_horizontal_line(x1 + 6, x2 - 6, y2, f->border_color);
    gui_draw_horizontal_line(x1 + 6, x2 - 6, y1 + 1, f->c);
    gui_draw_horizontal_line(x1 + 4, x2 - 4, y1 + 2, f->c);
    gui_draw_horizontal_line(x1 + 3, x2 - 3, y1 + 3, f->c);
    gui_draw_horizontal_line(x1 + 2, x2 - 2, y1 + 4, f->c);
    gui_draw_horizontal_line(x1 + 2, x2 - 2, y1 + 5, f->c);
    gui_draw_horizontal_line(x1 + 1, x2 - 1, y1 + 6, f->c);
    gui_draw_horizontal_line(x1 + 6, x2 - 6, y2 - 1, f->c);
    gui_draw_horizontal_line(x1 + 4, x2 - 4, y2 - 2, f->c);
    gui_draw_horizontal_line(x1 + 3, x2 - 3, y2 - 3, f->c);
    gui_draw_horizontal_line(x1 + 2, x2 - 2, y2 - 4, f->c);
    gui_draw_horizontal_line(x1 + 2, x2 - 2, y2 - 5, f->c);
    gui_draw_horizontal_line(x1 + 1, x2 - 1, y2 - 6, f->c);
    gui_putpixel(x1 + 5, y1 + 1, f->border_color);
    gui_putpixel(x1 + 4, y1 + 1, f->border_color);
    gui_putpixel(x1 + 3, y1 + 2, f->border_color);
    gui_putpixel(x1 + 2, y1 + 3, f->border_color);
    gui_putpixel(x1 + 1, y1 + 4, f->border_color);
    gui_putpixel(x1 + 1, y1 + 5, f->border_color);
    gui_putpixel(x2 - 5, y1 + 1, f->border_color);
    gui_putpixel(x2 - 4, y1 + 1, f->border_color);
    gui_putpixel(x2 - 3, y1 + 2, f->border_color);
    gui_putpixel(x2 - 2, y1 + 3, f->border_color);
    gui_putpixel(x2 - 1, y1 + 4, f->border_color);
    gui_putpixel(x2 - 1, y1 + 5, f->border_color);

    gui_putpixel(x1 + 5, y2 - 1, f->border_color);
    gui_putpixel(x1 + 4, y2 - 1, f->border_color);
    gui_putpixel(x1 + 3, y2 - 2, f->border_color);
    gui_putpixel(x1 + 2, y2 - 3, f->border_color);
    gui_putpixel(x1 + 1, y2 - 4, f->border_color);
    gui_putpixel(x1 + 1, y2 - 5, f->border_color);
    gui_putpixel(x2 - 5, y2 - 1, f->border_color);
    gui_putpixel(x2 - 4, y2 - 1, f->border_color);
    gui_putpixel(x2 - 3, y2 - 2, f->border_color);
    gui_putpixel(x2 - 2, y2 - 3, f->border_color);
    gui_putpixel(x2 - 1, y2 - 4, f->border_color);
    gui_putpixel(x2 - 1, y2 - 5, f->border_color);
    if (enable_3D_effect == MMI_TRUE)
    {
        gui_draw_horizontal_line(x1 + 7, x2 - 6, y2 + 1, f->border_color);
        gui_draw_vertical_line(y1 + 7, y2 - 6, x2 + 1, f->border_color);

        gui_putpixel(x2 - 5, y2, f->border_color);
        gui_putpixel(x2 - 5, y2 + 1, f->border_color);
        gui_putpixel(x2 - 4, y2, f->border_color);
        gui_putpixel(x2 - 4, y2 + 1, f->border_color);
        gui_putpixel(x2 - 3, y2, f->border_color);
        gui_putpixel(x2 - 3, y2 - 1, f->border_color);
        gui_putpixel(x2 - 2, y2 - 2, f->border_color);
        gui_putpixel(x2 - 2, y2 - 1, f->border_color);
        gui_putpixel(x2 - 1, y2 - 3, f->border_color);
        gui_putpixel(x2 - 1, y2 - 2, f->border_color);
        gui_putpixel(x2 - 0, y2 - 4, f->border_color);
        gui_putpixel(x2 - 0, y2 - 3, f->border_color);
        gui_putpixel(x2, y2 - 5, f->border_color);
        gui_putpixel(x2 + 1, y2 - 5, f->border_color);
        gui_putpixel(x2 + 1, y2 - 4, f->border_color);
    }
#endif /* __MMI_MAINLCD_240X320__ */ 
}


/*****************************************************************************
 * FUNCTION
 *  wgui_draw_pop_up_screen_background_style2
 * DESCRIPTION
 *  draw the background of popup screns
 * PARAMETERS
 *  x1          [IN]        Start x position
 *  y1          [IN]        Start y position
 *  x2          [IN]        End x position
 *  y2          [IN]        End y posityion
 *  f           [IN]        Filled pattern
 *  top         [IN]        Whether to display top border
 *  bottom      [IN]        Whether to display bottom border
 *  left        [IN]        Whether to display left border
 *  right       [IN]        Whether to display right border
 * RETURNS
 *  void
 *****************************************************************************/
void wgui_draw_pop_up_screen_background_style2(
        S32 x1,
        S32 y1,
        S32 x2,
        S32 y2,
        UI_filled_area *f,
        MMI_BOOL top,
        MMI_BOOL bottom,
        MMI_BOOL left,
        MMI_BOOL right)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S32 fy1, fy2, fx1, fx2;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if (top)
    {
        fy1 = y1 + 6;
        gui_draw_horizontal_line(x1 + 6, x2 - 6, y1 + 1, f->c);
        gui_draw_horizontal_line(x1 + 4, x2 - 4, y1 + 2, f->c);
        gui_draw_horizontal_line(x1 + 3, x2 - 3, y1 + 3, f->c);
        gui_draw_horizontal_line(x1 + 2, x2 - 2, y1 + 4, f->c);
        gui_draw_horizontal_line(x1 + 2, x2 - 2, y1 + 5, f->c);

        gui_draw_horizontal_line(x1 + 6, x2 - 6, y1, f->border_color);
        gui_putpixel(x1 + 5, y1 + 1, f->border_color);
        gui_putpixel(x1 + 4, y1 + 1, f->border_color);
        gui_putpixel(x1 + 3, y1 + 2, f->border_color);
        gui_putpixel(x1 + 2, y1 + 3, f->border_color);
        gui_putpixel(x1 + 1, y1 + 4, f->border_color);
        gui_putpixel(x1 + 1, y1 + 5, f->border_color);
        gui_putpixel(x2 - 5, y1 + 1, f->border_color);
        gui_putpixel(x2 - 4, y1 + 1, f->border_color);
        gui_putpixel(x2 - 3, y1 + 2, f->border_color);
        gui_putpixel(x2 - 2, y1 + 3, f->border_color);
        gui_putpixel(x2 - 1, y1 + 4, f->border_color);
        gui_putpixel(x2 - 1, y1 + 5, f->border_color);
    }
    else
    {
        fy1 = y1;
    }

    if (bottom)
    {
        fy2 = y2 - 6;

        gui_draw_horizontal_line(x1 + 6, x2 - 6, y2 - 1, f->c);
        gui_draw_horizontal_line(x1 + 4, x2 - 4, y2 - 2, f->c);
        gui_draw_horizontal_line(x1 + 3, x2 - 3, y2 - 3, f->c);
        gui_draw_horizontal_line(x1 + 2, x2 - 2, y2 - 4, f->c);
        gui_draw_horizontal_line(x1 + 2, x2 - 2, y2 - 5, f->c);

        gui_draw_horizontal_line(x1 + 6, x2 - 6, y2, f->border_color);
        gui_putpixel(x1 + 5, y2 - 1, f->border_color);
        gui_putpixel(x1 + 4, y2 - 1, f->border_color);
        gui_putpixel(x1 + 3, y2 - 2, f->border_color);
        gui_putpixel(x1 + 2, y2 - 3, f->border_color);
        gui_putpixel(x1 + 1, y2 - 4, f->border_color);
        gui_putpixel(x1 + 1, y2 - 5, f->border_color);
        gui_putpixel(x2 - 5, y2 - 1, f->border_color);
        gui_putpixel(x2 - 4, y2 - 1, f->border_color);
        gui_putpixel(x2 - 3, y2 - 2, f->border_color);
        gui_putpixel(x2 - 2, y2 - 3, f->border_color);
        gui_putpixel(x2 - 1, y2 - 4, f->border_color);
        gui_putpixel(x2 - 1, y2 - 5, f->border_color);
    }
    else
    {
        fy2 = y2;
    }

    if (left)
    {
        fx1 = x1 + 1;
        gui_draw_vertical_line(fy1, fy2, x1, f->border_color);
    }
    else
    {
        fx1 = x1;
    }

    if (right)
    {
        fx2 = x2 - 1;
        gui_draw_vertical_line(fy1, fy2, x2, f->border_color);
    }
    else
    {
        fx2 = x2;
    }

    gui_fill_rectangle(fx1, fy1, fx2, fy2, f->c);
}

extern void wgui_set_animation_image_y(S32 x, S32 y, PU8 img);


/*****************************************************************************
 * FUNCTION
 *  ShowCategory62Screen
 * DESCRIPTION
 *  Displays the category62 screen
 * PARAMETERS
 *  message             [IN]        Message string
 *  message_icon        [IN]        
 *  history_buffer      [IN]        History buffer
 *  MMI_ID_TYPE(?)      [IN]        Icon        Message icon
 * RETURNS
 *  void
 *****************************************************************************/
void ShowCategory62Screen(U16 message, U16 message_icon, U8 *history_buffer)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    dm_data_struct dm_data;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    /* 053005 Calvin added */
#ifdef __MMI_UI_SMALL_SCREEN_SUPPORT__
    set_small_screen();
#endif 
    /* Calvin end */

    ShowCommonCategoryPopupScreen(get_string(message), history_buffer);
    ExitCategoryFunction = ExitCategory62Screen;
    RedrawCategoryFunction = dm_redraw_category_screen;
    GetCategoryHistory = dummy_get_history;
    GetCategoryHistorySize = dummy_get_history_size;
    dm_data.s32ScrId = (S32) GetActiveScreenId();
    dm_data.s32CatId = MMI_CATEGORY62_ID;
    dm_data.s32flags = 0;
    dm_setup_data(&dm_data);
    if (message_icon)
    {
        dm_add_image(get_image(message_icon), NULL, NULL);
    }
    dm_redraw_category_screen();
}


⌨️ 快捷键说明

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