📄 wgui_categories_popup.c
字号:
* 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 + -