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

📄 key_handler_idle.c

📁 SAMSUNG 5009的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
					break;			}					InitTempValueState();		}		if( gCode_free_ready == TRUE && GetTempInputDig()== 1 )		{			if( (data.number[0] >= REGION_CODE_NUM_1 && 				data.number[0] <= REGION_CODE_NUM_6) || 			     (data.number[0] == REGION_CODE_FREE ) )			{				SysPrintf("\n[RC] Region Code Changed To %d", data.number[0] );				SetupInfoSetMenuRegionCode( (UCHAR) data.number[0] );				icon_ctrl.num = (UINT)data.number[0];				OSD_SetIconDisplay(ICON_NUMERIC, &icon_ctrl, SYS_NO_WAIT);								}			gCode_free_ready = FALSE;			InitTempValueState();		}	}}#endif/*_APP_CAP_FUNC_RC_CODE_FREE*/#ifdef _DVD_PROGRAMextern DvdProgram_t gDvd_program;#endif#if _APP_CAP_FUNC_SVCD_PROGRAM_MODEextern SVCD_PROGRAM_STRUCT gSvcdProgram;#endif/******************************************************************************* Function name  : * Arguments      :  *     IN        *					VOID*     OUT       *     I/O       * Return         :  *					VOID* By             : QQ* Description    :  * Revision       :  050826*******************************************************************************/CHAR PgmSetMediaTypeDispStrNum(BOOL child){	PgmAppTypeNum_st PgmAppTypeNum_temp[] = {		{0,0},		{2,3},		{2,2},#if _APP_CAP_OSD_PROG_4_DIGIT//By QQ 050826		{3,4},#else/*_APP_CAP_OSD_PROG_4_DIGIT*/		{3,3},#endif/*_APP_CAP_OSD_PROG_4_DIGIT*/	};	if(child)		return PgmAppTypeNum_temp[S5H_GetAppType()].child;	else		return PgmAppTypeNum_temp[S5H_GetAppType()].parent;}/******************************************************************************* Function name	: GuiPgmHandle* Arguments		:  *     IN        			UCHAR key*			*     OUT       *     I/O       * Return			: BOOL  *					* By				: Kim Do Yeon * Description		: Handle Keys in program OSD* Revision		: 1.0 *******************************************************************************/ BOOL GuiPgmHandle(UCHAR key){	if (IS_NUM_KEY(key))	{		GuiPgmNum(key);		return TRUE;	}	if(key != RC_KEY_PLAY && key != RC_KEY_PROGRAM)		gPlay_key_cnt = 0;	else		gPlay_key_cnt++;		switch(key)	{				case RC_KEY_LEFT:			GuiPgmLeft();			break;					case RC_KEY_RIGHT:			GuiPgmRight();			break;		case RC_KEY_UP:			GuiPgmUp();			break;		case RC_KEY_DOWN:			GuiPgmDown();			break;					case RC_KEY_ENTER:			GuiPgmEnter();			break;		case RC_KEY_PLAY:			if(gPlay_key_cnt > 1)							return TRUE;			else			{				if(GetTempInputDig() != 0)//wanglin 20061009				{					GuiPgmEnter();					SysSleep(200,NULL);				}				GuiPgmPlay();			}				break;		case RC_KEY_PROGRAM:				case RC_KEY_RETURN:		case RC_KEY_MEMORIZE:			if(GetTempInputDig() != 0)	//wanglin 20061009			{				GuiPgmEnter();				SysSleep(200,NULL);			}				GuiPgmReturn(); 			break;#if _APP_CAP_KEY_USE_CLEAR		case RC_KEY_CLEAR:			GuiPgmClearCertainItem();			break;#endif/*_SUPPORT_CLEAR_KEY*/		case RC_KEY_STOP:		default:			OsdNotAvailOn();			return TRUE;	}	return TRUE;}/******************************************************************************* Function name  : * Arguments      :  *     IN        *			*     OUT       *     I/O       * Return         :  *					VOID* By             : Liu renliang* Description    :  * Revision       :  *******************************************************************************/VOID GuiPgmUp(VOID){	UCHAR edit_index;	edit_index = GetPgmEditIndex();	PgmCheckInputDataAndDsp(RC_KEY_UP);		switch (GetPgmArea() )	{		case PGM_AREA_BTN:			OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);			return;		case PGM_AREA_EDIT:			if ((edit_index % 5) == 0)			{				SetPgmArea(PGM_AREA_BTN);				SetPgmBtn(PGM_BTN_PLAY);			}			else				SetPgmEditIndex(edit_index - 1);			OSD_ChangeProgram(OSD_CTRL_HL_MOVE, NULL, SYS_NO_WAIT);		break;	}}/******************************************************************************* Function name  : * Arguments      :  *     IN        *			*     OUT       *     I/O       * Return         :  *					VOID* By             : Liu renliang* Description    :  * Revision       :  *******************************************************************************/VOID GuiPgmDown(VOID){	UCHAR edit_index;	edit_index = GetPgmEditIndex();	PgmCheckInputDataAndDsp(RC_KEY_DOWN);		switch (GetPgmArea() )	{		case PGM_AREA_BTN:			SetPgmArea(PGM_AREA_EDIT);			OSD_ChangeProgram(OSD_CTRL_HL_MOVE, NULL, SYS_NO_WAIT);			break;					case PGM_AREA_EDIT:			if ((edit_index % 5) == 4)			{					OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);				return;			}			else			{				SetPgmEditIndex(edit_index + 1);				OSD_ChangeProgram(OSD_CTRL_HL_MOVE, NULL, SYS_NO_WAIT);			}			break;	}}/******************************************************************************* Function name  : * Arguments      :  *     IN        *			*     OUT       *     I/O       * Return         :  *					VOID* By             : Liu renliang* Description    :  * Revision       :  *******************************************************************************/VOID GuiPgmLeft(VOID){	UCHAR edit_index;	edit_index = GetPgmEditIndex();	PgmCheckInputDataAndDsp(RC_KEY_LEFT);		switch (GetPgmArea() )	{		case PGM_AREA_BTN:			if ( GetPgmBtn() == PGM_BTN_PLAY)				SetPgmBtn( PGM_BTN_CLEAR);			else 				SetPgmBtn(PGM_BTN_PLAY);			OSD_ChangeProgram(OSD_CTRL_HL_MOVE, NULL, SYS_NO_WAIT);			break;					case PGM_AREA_EDIT:			if (GetPgmEditItem() == PGM_EDIT_CHILD)  			{				if (S5H_GetAppType() != APP_VCD)					SetPgmEditItem( PGM_EDIT_PARENT);				else if ((edit_index/5) == 0)				{					OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);					return;				}	 			else	 			{					SetPgmEditIndex(edit_index - 5);	 			} 			}			else if ((edit_index/5) == 0)			{				OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);				return;			} 			else 			{				SetPgmEditIndex(edit_index - 5);				SetPgmEditItem(PGM_EDIT_CHILD); 			}						OSD_ChangeProgram(OSD_CTRL_HL_MOVE, NULL, SYS_NO_WAIT);			break;	}}/******************************************************************************* Function name  : * Arguments      :  *     IN        *			*     OUT       *     I/O       * Return         :  *					VOID* By             : Liu renliang* Description    :  * Revision       :  *******************************************************************************/VOID GuiPgmRight(VOID){	UCHAR edit_index = GetPgmEditIndex();		PgmCheckInputDataAndDsp(RC_KEY_RIGHT);		switch (GetPgmArea() )	{		case PGM_AREA_BTN:			if ( GetPgmBtn() == PGM_BTN_PLAY)				SetPgmBtn( PGM_BTN_CLEAR);			else 				SetPgmBtn(PGM_BTN_PLAY);			OSD_ChangeProgram(OSD_CTRL_HL_MOVE, NULL, SYS_NO_WAIT);			break;					case PGM_AREA_EDIT:			if (GetPgmEditItem() == PGM_EDIT_PARENT) 				SetPgmEditItem( PGM_EDIT_CHILD);			else if ((edit_index/5) == 3)			{				OSD_SetIconDisplay(ICON_WARNING, NULL, SYS_NO_WAIT);				return;			} 			else 			{				SetPgmEditIndex(edit_index + 5);				if (S5H_GetAppType() != APP_VCD)					SetPgmEditItem(PGM_EDIT_PARENT); 			}						OSD_ChangeProgram(OSD_CTRL_HL_MOVE, NULL, SYS_NO_WAIT);			break;	}}/******************************************************************************* Function name  : * Arguments      :  *     IN        *			*     OUT       *     I/O       * Return         :  *					VOID* By             : Liu renliang* Description    :  050713 for optimize add this function* Revision       :  *******************************************************************************/VOID GuiPgmPlay(VOID){	InitTempValueState();	//SetPgmTempInputValue(0xFFFF);	// Qian liping 060720: bug fix 36	if( GetPgmArea()== PGM_AREA_EDIT && GetPgmTempInputValue()!=0xffff)		GuiPgmEnter();#ifndef _MTK_STYLE  // Qian liping 060811: bug fix 607. in _MTK_STYLE, keep zoom 	SetZoomDefault();	#endif 		// Clear the cursor layer first. // Qian liping 060725: bug fix 44	OSD_SetIconDisplay(ICON_CLEAR, NULL, SYS_NO_WAIT);	if(PgmCopyDataToNav())	{		if (S5H_GetAppType() != APP_MMN)			UiBigOsd(FALSE, BIG_OSD_PROGRAM);		UiPlayModeChange(PARAM_PB_PROGRAM);	}		else	{		//if (S5H_GetAppType() != APP_MMN)	// cydrain 20060831		{			UiBigOsd(FALSE, BIG_OSD_PROGRAM);		}				UiPlayModeChange(PARAM_PB_NORMAL);	}		}/******************************************************************************* Function name  	: GuiPgmClearCertainItem* Arguments      	:  *     IN        *			*     OUT       *     I/O       * Return         	:  *					VOID* By             		: 	QQ* Description    	:  * Revision       	:  060221*******************************************************************************/VOID GuiPgmClearCertainItem(VOID){	PgmEdit_et 	edit_item = GetPgmEditItem();	BYTE1		edit_index = GetPgmEditIndex();	PgmArea_et	pgm_area = GetPgmArea();	OsdPgmSet_st pgm;		pgm.edit_idx = edit_index;			switch ( pgm_area)	{		case PGM_AREA_BTN:			OSD_SetIconDisplay(ICON_WARNING,NULL,SYS_NO_WAIT);			return;			break;		case PGM_AREA_EDIT:			InitTempValueState();			if( edit_item == PGM_EDIT_PARENT )			{				SetPgmInputValue( edit_index , PGM_EDIT_PARENT , 0xFFFF );				OSD_ChangeProgram( OSD_CTRL_PARENT_DUMMY, &pgm, SYS_NO_WAIT );			}			SetPgmTempInputValue( 0xFFFF );			SetPgmInputValue( edit_index , PGM_EDIT_CHILD , 0xFFFF );			OSD_ChangeProgram( OSD_CTRL_CHILD_DUMMY, &pgm, SYS_NO_WAIT );			break;	}#if _APP_CAP_OSD_SHOW_PGM_TOTAL_ITEM	PgmUpdatePgmedTotal();#endif/*_APP_CAP_OSD_SHOW_PGM_TOTAL_ITEM*/}/******************************************************************************* Function name  : GuiPgmClear* Arguments      :  *     IN        *			*     OUT       *     I/O       * Return         :  *					VOID* By             : 	QQ* Description    :  * Revision       :  *******************************************************************************/VOID GuiPgmClear(VOID){	PgmInit();	OSD_ChangeProgram(OSD_CTRL_PGM_CLEAR, NULL, SYS_NO_WAIT);	OSD_ChangeProgram(OSD_CTRL_HL_MOVE, NULL, SYS_NO_WAIT);#if _APP_CAP_OSD_SHOW_PGM_TOTAL_ITEM	PgmUpdatePgmedTotal();#endif/*_APP_CAP_OSD_SHOW_PGM_TOTAL_ITEM*/}/******************************************************************************* Function name  : * Arguments      :  *     IN        *			*     OUT       *     I/O       * Return         :  *					VOID* By             : Liu renliang* Description    :  050714 from return function* Revision       :  *******************************************************************************/VOID GuiPgmReturn(VOID){	if (S5H_GetAppType() == APP_MMN)	{		UiBigOsd(FALSE, BIG_OSD_PROGRAM);	// cydrain 20060406		       	if (GetMmpFileType()==MMP_AUDIO_FILE)       	{			UiPlayModeChange(PARAM_PB_NORMAL);       	}	}	else	{		 // Qian liping 060418		if(GetDisplayIconState()== ICON_WARNING )		{			OSD_SetIconDisplay(ICON_CLEAR, NULL, SYS_NO_WAIT);		}			SetTempValueSetFlag( FALSE );		InitTempValueState();		SetPgmTempInputValue(0xFFFF);				UiBigOsd(FALSE, BIG_OSD_PROGRAM);	#ifdef _APP_CAP_GVG_INFO_KEEP_AFTER_PROGRAM  //clina 061018 add for GVG bug12		OSD_SetMainDisplay(DISPLAY_OFF, SYS_NO_WAIT);	#else		if(gOSD_state.etCur_dsp!=DISPLAY_INFO)			OSD_SetMainDisplay(DISPLAY_INFO, SYS_NO_WAIT);		#endif	}	SetPgmEditIndex( 0 ); // Qian liping 060918}/**********************************************

⌨️ 快捷键说明

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