📄 wgui_categories_cm.c
字号:
gdi_layer_pop_clip();
}/* end of dialing_screen_hide_right_softkey */
#ifdef __MMI_TOUCH_DIAL_SCREEN__
#ifdef __MMI_TOUCH_DIAL_SCREEN_WITH_FUNCTION__
void (*dialing_keypad_call_handler)(void) = NULL;
void (*dialing_keypad_phonebook_handler)(void) = NULL; //011006 dialing screen Calvin
/*****************************************************************************
* FUNCTION
* SetDialingKeypadCallHandler
*
* DESCRIPTION
* Set hte callback function for Dialing Icon of touch dialing screen
*
* PARAMETERS
* void (*handler)(void)
*
* RETURNS
* void
*
* GLOBALS AFFECTED
* dialing_keypad_call_handler
*
*****************************************************************************/
void SetDialingKeypadCallHandler(void (*handler)(void))
{
dialing_keypad_call_handler = handler;
}
/*****************************************************************************
* FUNCTION
* SetDialingKeypadPhonebookHandler
*
* DESCRIPTION
* Set hte callback function for Phonebook Icon of touch dialing screen
*
* PARAMETERS
* void (*handler)(void)
*
* RETURNS
* void
*
* GLOBALS AFFECTED
* dialing_keypad_phonebook_handler
*
*****************************************************************************/
void SetDialingKeypadPhonebookHandler(void (*handler)(void))
{
dialing_keypad_phonebook_handler = handler;
}
#endif
/*****************************************************************************
* FUNCTION
* PlayDialKeyPadTone
*
* DESCRIPTION
* Play key tone for dial keypad keys.
*
* PARAMETERS
* S16 IN key_type
*
* RETURNS
* void
*
* GLOBALS AFFECTED
*
*****************************************************************************/
void PlayDialKeyPadTone(S16 key_type)
{
S32 key_id = dialing_keypad.key_type;
KEYBRD_MESSAGE msg;
msg.nKeyCode = KEY_0;
if ( key_id >=MMI_DIALING_KEY_START && key_id <MMI_DIALING_KEY_STAR )
{
msg.nKeyCode = KEY_0+key_id;
}
/* 0 */
else if ( key_id == MMI_DIALING_KEY_ZERO )
{
msg.nKeyCode = KEY_0;
}
/* star key */
else if ( key_id == MMI_DIALING_KEY_STAR )
{
msg.nKeyCode = KEY_STAR;
}
/* pound key */
else if ( key_id == MMI_DIALING_KEY_HASH )
{
msg.nKeyCode = KEY_POUND;
}
msg.nMsgType = key_type;
mmi_kbn_key_tone_hdlr(&msg);
}
/*****************************************************************************
* FUNCTION
* ExecuteDialKeyPadKeyHandler
*
* DESCRIPTION
* Excute key handler for dial keypad keys.
*
* PARAMETERS
* S16 IN key_type
*
* RETURNS
* void
*
* GLOBALS AFFECTED
*
*****************************************************************************/
void ExecuteDialKeyPadKeyHandler(S16 key_type)
{
/*-----------------------------------------------------------------*/
/* Local Variables */
/*-----------------------------------------------------------------*/
S32 key_id = dialing_keypad.key_type;
/*-----------------------------------------------------------------*/
/* Code Body */
/*-----------------------------------------------------------------*/
/* 1-9 */
if ( key_id >=MMI_DIALING_KEY_START && key_id <MMI_DIALING_KEY_STAR )
{
ExecuteCurrKeyHandler((S16)(KEY_0+key_id),key_type);
PlayDialKeyPadTone(key_type);
}
/* 0 */
else if ( key_id == MMI_DIALING_KEY_ZERO )
{
ExecuteCurrKeyHandler(KEY_0,key_type);
PlayDialKeyPadTone(key_type);
}
/* star key */
else if ( key_id == MMI_DIALING_KEY_STAR )
{
ExecuteCurrKeyHandler(KEY_STAR,key_type);
PlayDialKeyPadTone(key_type);
}
/* pound key */
else if ( key_id == MMI_DIALING_KEY_HASH )
{
ExecuteCurrKeyHandler(KEY_POUND,key_type);
PlayDialKeyPadTone(key_type);
}
}/* end of ExecuteDialKeyPadKeyHandler */
/*****************************************************************************
* FUNCTION
* Cate16CategoryControlAreaPenDownHandler
*
* DESCRIPTION
* Pen down events handler function for category16 control area.
*
* PARAMETERS
* mmi_pen_point_struct IN point
*
* RETURNS
* void
*
* GLOBALS AFFECTED
*
*****************************************************************************/
MMI_BOOL Cate16CategoryControlAreaPenDownHandler(mmi_pen_point_struct point )
{
/*-----------------------------------------------------------------*/
/* Local Variables */
/*-----------------------------------------------------------------*/
MMI_BOOL ret = MMI_FALSE;
mmi_gui_pen_event_param_struct dialing_key_param;
mmi_gui_dialing_key_pen_enum dialing_key_menu_event;
/*-----------------------------------------------------------------*/
/* Code Body */
/*-----------------------------------------------------------------*/
/* Get dialing screen event type according to current state of dialing screen */
ret = pixtel_UI_dialing_screen_translate_pen_event(&dialing_keypad,point.x,point.y, MMI_PEN_EVENT_DOWN, &dialing_key_menu_event, &dialing_key_param);
if(ret)
{
gdi_layer_blt_previous(0,0,UI_device_width - 1, UI_device_height -1);
ExecuteDialKeyPadKeyHandler(KEY_EVENT_DOWN);
}
return ret;
}/* end of Cate16CategoryControlAreaPenDownHandler */
/*****************************************************************************
* FUNCTION
* Cate16CategoryControlAreaPenUpHandler
*
* DESCRIPTION
* Pen up events handler function for category16 control area.
*
* PARAMETERS
* mmi_pen_point_struct IN point
*
* RETURNS
* void
*
* GLOBALS AFFECTED
*
*****************************************************************************/
MMI_BOOL Cate16CategoryControlAreaPenUpHandler(mmi_pen_point_struct point )
{
/*-----------------------------------------------------------------*/
/* Local Variables */
/*-----------------------------------------------------------------*/
MMI_BOOL ret = MMI_FALSE;
mmi_gui_pen_event_param_struct dialing_key_param;
mmi_gui_dialing_key_pen_enum dialing_key_menu_event;
/*-----------------------------------------------------------------*/
/* Code Body */
/*-----------------------------------------------------------------*/
/* Get dialing screen event type according to current state of dialing screen */
ret = pixtel_UI_dialing_screen_translate_pen_event(&dialing_keypad,point.x,point.y, MMI_PEN_EVENT_UP, &dialing_key_menu_event, &dialing_key_param);
if(ret)
{
// if(dialing_key_menu_event == GUI_DIALING_KEYPAD_PEN_INSERT_HASH ||
// dialing_key_menu_event == GUI_DIALING_KEYPAD_PEN_INSERT_STAR )
ExecuteDialKeyPadKeyHandler(KEY_EVENT_UP);
#if defined (__MMI_TOUCH_DIAL_SCREEN_WITH_FUNCTION__)
if(dialing_key_menu_event == GUI_DIALING_KEYPAD_PEN_INSERT_PHB)
{
if(dialing_keypad_phonebook_handler!=NULL)
{
dialing_keypad_phonebook_handler();
}
else
{
mmi_phb_idle_enter_phb_list();
}
}
else if(dialing_key_menu_event == GUI_DIALING_KEYPAD_PEN_INSERT_CALL)
{
//ASSERT(dialing_keypad_call_handler != NULL);
/* This handler might be null in flight mode, not necessary to assert */
if((mmi_bootup_get_active_flight_mode() == 0 || mmi_bootup_is_sim_valid() == 0) && (dialing_keypad_call_handler != NULL) )
dialing_keypad_call_handler();
}
#endif
}
gdi_layer_blt_previous(0, 0, UI_device_width - 1, UI_device_height -1);
return ret;
}/* end of Cate16CategoryControlAreaPenUpHandler */
/*****************************************************************************
* FUNCTION
* Cate16CategoryControlAreaPenMoveHandler
*
* DESCRIPTION
* Pen move events handler function for category16 control area.
*
* PARAMETERS
* mmi_pen_point_struct IN point
*
* RETURNS
* void
*
* GLOBALS AFFECTED
*
*****************************************************************************/
MMI_BOOL Cate16CategoryControlAreaPenMoveHandler(mmi_pen_point_struct point )
{
/*-----------------------------------------------------------------*/
/* Local Variables */
/*-----------------------------------------------------------------*/
S16 x1,x2,y1,y2;
mmi_gui_dialing_key_pen_enum menu_event;
mmi_gui_pen_event_param_struct dialing_key_param;
/*-----------------------------------------------------------------*/
/* Code Body */
/*-----------------------------------------------------------------*/
/* Get dialing screen event type according to current state of dialing screen */
pixtel_UI_dialing_screen_translate_pen_event(&dialing_keypad, point.x, point.y, MMI_PEN_EVENT_MOVE, &menu_event,&dialing_key_param);
if (menu_event == GUI_DIALING_KEYPAD_HIGHLIGHT_CHANGED || menu_event == GUI_DIALING_KEYPAD_PEN_INSERT_STAR)
{
PlayDialKeyPadTone(KEY_EVENT_UP);
x1 = dialing_keypad.selected_key_x;
y1 = dialing_keypad.selected_key_y;
#if defined (__MMI_TOUCH_DIAL_SCREEN_WITH_FUNCTION__)
if (dialing_keypad.key_type >= MMI_DIALING_KEY_FUNC)
{
x2 = x1 + dialing_keypad.func_key_width-1;
y2 = y1 + dialing_keypad.func_key_height-1;
}
else
#endif
{
x2 = x1 + dialing_keypad.key_width-1;
y2 = y1 + dialing_keypad.key_height-1;
}
gdi_layer_push_clip();
gdi_layer_set_clip(x1, y1,x2, y2);
#ifdef __GDI_MEMORY_PROFILE_2__
gdi_draw_solid_rect(x1, y1, x2, y2, GDI_COLOR_TRANSPARENT);
#else
gdi_image_cache_bmp_draw(x1, y1, &(dialing_keypad.selected_key_bitmap));//072305 Calvin modified
#endif
gdi_layer_pop_clip();
if(menu_event == GUI_DIALING_KEYPAD_PEN_INSERT_STAR)
dialer_inputbox_handle_multitap_star_key_up();
}
gdi_layer_blt_previous(0, 0, UI_device_width - 1, UI_device_height -1);
if (GetDTMFKeyUpFlag())
{
MakePsStopDTMFTone();
SetDTMFKeyUpFlag(FALSE);
}
return MMI_TRUE;
}/* end of Cate16CategoryControlAreaPenMoveHandler */
/*****************************************************************************
* FUNCTION
* Cate16CategoryControlAreaPenRepeatHandler
*
* DESCRIPTION
* Pen repeat events handler function for category16 control area.
*
* PARAMETERS
* mmi_pen_point_struct IN point
*
* RETURNS
* void
*
* GLOBALS AFFECTED
*
*****************************************************************************/
MMI_BOOL Cate16CategoryControlAreaPenRepeatHandler(mmi_pen_point_struct point)
{
/*-----------------------------------------------------------------*/
/* Local Variables */
/*-----------------------------------------------------------------*/
MMI_BOOL ret;
mmi_gui_pen_event_param_struct dialing_key_param;
mmi_gui_dialing_key_pen_enum dialing_key_menu_event;
/*-----------------------------------------------------------------*/
/* Code Body */
/*-----------------------------------------------------------------*/
/* Get dialing screen event type according to current state of dialing screen */
ret = pixtel_UI_dialing_screen_translate_pen_event(&dialing_keypad,point.x,point.y, MMI_PEN_EVENT_REPEAT, &dialing_key_menu_event, &dialing_key_param);
if ( ret )
ExecuteDialKeyPadKeyHandler(KEY_EVENT_REPEAT);
gdi_layer_blt_previous(0, 0, UI_device_width - 1, UI_device_height -1);
return MMI_TRUE;
}/* end of Cate16CategoryControlAreaPenRepeatHandler */
/*****************************************************************************
* FUNCTION
* Cate16CategoryControlAreaPenLongTapHandler
*
* DESCRIPTION
* Pen long tap events handler function for category16 control area.
*
* PARAMETERS
* mmi_pen_point_struct IN point
*
* RETURNS
* void
*
* GLOBALS AFFECTED
*
*****************************************************************************/
MMI_BOOL Cate16CategoryControlAreaPenLongTapHandler(mmi_pen_point_struct point)
{
/*-----------------------------------------------------------------*/
/* Local Variables */
/*-----------------------------------------------------------------*/
mmi_gui_pen_event_param_struct dialing_key_param;
mmi_gui_dialing_key_pen_enum dialing_key_menu_event;
/*-----------------------------------------------------------------*/
/* Code Body */
/*-----------------------------------------------------------------*/
/* Get dialing screen event type according to current state of dialing screen */
pixtel_UI_dialing_screen_translate_pen_event(&dialing_keypad,point.x,point.y, MMI_PEN_EVENT_LONG_TAP, &dialing_key_menu_event, &dialing_key_param);
ExecuteDialKeyPadKeyHandler(KEY_EVENT_LONG_PRESS);
gdi_layer_blt_previous(0, 0, UI_device_width - 1, UI_device_height -1);
return MMI_TRUE;
}
/*****************************************************************************
* FUNCTION
* Cate16CategoryControlAreaPenAbortHandler
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -