亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? o_program.c

?? ZORAN 962/966 SOURCE CODE,DVD chip
?? C
?? 第 1 頁 / 共 3 頁
字號:
/***************************************************************************************
* 	Operation functions
****************************************************************************************/

/***************************************************************************************
*	Function 	: 	_ProgramComponentOperation
*
*	In		:
*
*	Out		:
*
*	Desc 	:	MSO_PROGRAM user operation function.
****************************************************************************************/
STATIC MS_OP _ProgramComponentOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam)
{
	switch(MsOp)
	{
		case MS_OP_MENU:
		case MS_OP_TITLE:
		case MS_OP_RETURN:
		case MS_OP_PBC:
		case MS_OP_AUDIO:
		case MS_OP_SUBTITLE:
		case MS_OP_ANGLE:
		case MS_OP_JPEG_ROTATION:
		case MS_OP_PLAY_MODE:
		case MS_OP_MARKAB:
		case MS_OP_REPEAT:
		case MS_OP_SHUFFLE:
		case MS_OP_INTRO_PLAY:
		case MS_OP_SKIPB:
		case MS_OP_SKIPF:
		case MS_OP_FASTB:
		case MS_OP_FASTF:
		case MS_OP_SLOWF:
		case MS_OP_SLOWB:
		case MS_OP_STEPF:
		case MS_OP_CHAPTER_MARKER_SKIP:
		case MS_OP_BOOKMARK:
		case MS_OP_PREV_INDEX:
		case MS_OP_NEXT_INDEX:
		case MS_OP_PAUSE:
		case MS_OP_STOP:
		case MS_OP_RESUME_STOP:
		case MS_OP_KARAOKE:
		case MS_OP_3D:
		case MS_OP_LR:
		case MS_OP_SIX_CHANNEL:
		case MS_OP_MIC_ON_OFF:
		case MS_OP_EQUALIZER:
		case MS_OP_SPECTRUM:
		case MS_OP_PROLOGIC:
		case MS_OP_ZOOM:
		case MS_OP_TV_SYS:
		case MS_OP_VIDEO_OUTMODE:
		case MS_OP_VIDEO_ENHANCE:
		case MS_OP_PSO_MODE:
		case MS_OP_HD_RESOLUTION:
		case MS_OP_DISPLAY:
		case MS_OP_MAESTROLINK:
		case MS_OP_DIGEST:
		case MS_OP_SEARCH:
		case MS_OP_MPP:
		case MS_OP_DD_EX:
		case MS_OP_MUTE:
		case MS_OP_0: 
		case MS_OP_1: 
		case MS_OP_2: 
		case MS_OP_3: 
		case MS_OP_4: 
		case MS_OP_5: 
		case MS_OP_6: 
		case MS_OP_7: 
		case MS_OP_8: 
		case MS_OP_9:
#ifdef D_DIRECT_KEY_SMART_PICTURE
	case MS_OP_SMART_PICTURE:
#endif
		case MS_OP_VOLUME_DOWN:
		case MS_OP_VOLUME_UP:
			return MS_OP_NONE;

		case MS_OP_EJECT:
		case MS_OP_SETUP:
			{
				MSO_PROGRAM __NEAR* pProgram 	= (MSO_PROGRAM __NEAR*)pThis;

				pProgram->moParam.mbIsPlayBeforeOpened = FALSE;
				// Indicate that the menu is to be closed
				MS_SendOperation(pThis, MS_OP_CLOSE_PARENT, 0);
			}
			break;

		case MS_OP_CLEAR:
			{
				MSO_OBJECT __NEAR* pObject = (MSO_OBJECT __NEAR*)MS_FindObjectFromDescriptor((MSO_CONTAINER __NEAR*)pThis, (MS_DESCRIPTOR*)&oClearButtonDescriptor);

				MS_SendOperation(pObject, MS_OP_ENTER, 0);
			}
			return MS_OP_NONE;

		case MS_OP_PLAY:
		case MS_OP_PLAY_PAUSE:
			{
				MSO_OBJECT __NEAR* pObject = (MSO_OBJECT __NEAR*)MS_FindObjectFromDescriptor((MSO_CONTAINER __NEAR*)pThis, (MS_DESCRIPTOR*)&oPlayButtonDescriptor);

				MsOp = MS_SendOperation(pObject, MS_OP_ENTER, 0);
			}
			break;
			
		case MS_OP_INIT:
			MS_ComponentInitFocus((MSO_COMPONENT __NEAR*)pThis);
			_ProgramListInit((MSO_PROGRAM __NEAR*)pThis);
			break;
		
		case MS_OP_PROGRAM:
			MsOp = MS_OP_CLOSE_PARENT;
			break;
	}

	MsOp = MS_BasicContainerOperation(pThis, MsOp, lParam);

	switch (MsOp)
	{
		case MS_OP_CLOSE_PARENT:
#ifdef D_GUI_SINGLE_LINE_COMPONENT
			//switch to runtime layout
			OSDTurnOff();
			usleep(10000);
			LayoutRuntime();
			VPU_SetOSDStatus(VPU_OSD_STATUS_START_E);
			{
				MSO_OBJECT __NEAR* pPopupContainer = (MSO_OBJECT __NEAR*)pThis->mpParent;
				
				MS_ObjectResize(pPopupContainer, AREA_POPUP_W, AREA_POPUP_H);
				MS_ObjectMove(pPopupContainer, AREA_POPUP_X, AREA_POPUP_Y);
			}
#endif // D_GUI_SINGLE_LINE_COMPONENT
			MS_SetToBeRemoved(pThis);
			MS_DisplayAddObject(pThis);
			// Restore the focus to the object that was focus before component poped-up.
			// This object gaining focus will ask itself for display if required.
			if (MS_IsFocused(pThis))
				MS_ScreenSetFocusObject(MS_ScreenGetPrevFocusObjectInMenu(pThis));
			
			_ProgramPendingPlay((MSO_PROGRAM __NEAR*)pThis);
			
			return MS_OP_NONE;
	}
	return MsOp;
}

/***************************************************************************************
*	Function 	: 	_ProgramListDisplayOperation
*
*	In		:
*
*	Out		:
*
*	Desc 	:	 user operation function for oProgramListDisplayDescriptor.
****************************************************************************************/
#pragma argsused
STATIC MS_OP _ProgramListDisplayOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam)
{
	return MsOp;
}

/***************************************************************************************
*	Function 	: 	_TrackVScrollListOperation
*
*	In		:
*
*	Out		:
*
*	Desc 	:	 user operation function for oTrackVScrollListDescriptor.
****************************************************************************************/
STATIC MS_OP _TrackVScrollListOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam)
{
	switch(MsOp)
	{		
		case MS_OP_RIGHT:
			{
				MSO_CONTAINER __NEAR* pParent = (MSO_CONTAINER __NEAR*)pThis->mpParent;
				MSO_OBJECT __NEAR* pObject = (MSO_OBJECT __NEAR*)MS_FindObjectFromDescriptor((MSO_CONTAINER __NEAR*)pParent, (MS_DESCRIPTOR*)&oPlayButtonDescriptor);

				MS_ScreenSetFocusObject(pObject);
				return MS_OP_NONE;
			}
	}

	MsOp = VScrollListOperation(pThis, MsOp, lParam);

	// Post-processing
	switch(MsOp)
	{		
	case MS_OP_REFRESH:
		{			
			MSO_VLIST __NEAR* pList = (MSO_VLIST __NEAR*)MS_GetObjectListPtr(pThis);				
			MS_ASSERT(NULL != pList);

			if(pList->moParam.mwTotalItems > pList->moParam.mcNumVisibleItems)
			{
				// Remove all items.
				MS_SendOperation((MSO_OBJECT __NEAR*)pList, MS_OP_EMPTY, 0);

				switch(CoreAPI_GetCurrentMediaType())
				{
					case MEDIA_TYPE_SVCD:
					case MEDIA_TYPE_VCD:
						_AddItemsToVCDTrackList((MSO_VLIST __NEAR*)pList);
						break;

					case MEDIA_TYPE_DVD_VIDEO:
						if (0 == pList->moParam.mdwData)
							_AddItemsToTitleList((MSO_VLIST __NEAR*)pList);
						else
							_AddItemsToChapterList((MSO_VLIST __NEAR*)pList);
						break;
				}
				MS_DisplayAddObject(pThis);	

				// Set focus to the appropriate list item.
				if(MS_IsFocused(pList))
				{
					MSO_OBJECT __NEAR* pObject = MS_GetObjectListPtr(pList);
						
					if(!MS_IS_FOCUS_ON_LASTITEM(pList))	
						MS_ScreenSetFocusObject(pObject);
					else
					{						
						// Make sure we do not set focus on the Value VScroll list.					
						while(NULL != pObject->mpNext)
							pObject = pObject->mpNext;						
						MS_ScreenSetFocusObject(pObject);
					}
				}
			}			
		}
		return MS_OP_NONE;
		
	default:
		break;
	}	
	return MsOp;
}

/***************************************************************************************
*	Function 	: 	_TrackVListOperation
*
*	In		:
*
*	Out		:
*
*	Desc 	:	 user operation function for oTrackVListDescriptor.
****************************************************************************************/
STATIC MS_OP _TrackVListOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam)
{
	switch(MsOp)
	{
	case MS_OP_INIT:
		{
			MSO_OBJECT __NEAR* pObject = MS_GetObjectListPtr(pThis);

			MS_ScreenSetFocusObject(pObject);
		}
		return MS_OP_NONE;
		
	case MS_OP_OPEN:
		{
			MSO_VLIST __NEAR* pList = (MSO_VLIST __NEAR*)pThis;
			
			switch(CoreAPI_GetCurrentMediaType())
			{
				case MEDIA_TYPE_SVCD:
				case MEDIA_TYPE_VCD:
					pList->moParam.mwTotalItems = CoreAPI_GetTotalChapterTrackNum(0);
					_AddItemsToVCDTrackList((MSO_VLIST __NEAR*)pThis);
					break;

				case MEDIA_TYPE_DVD_VIDEO:
					pList->moParam.mwTotalItems = CoreAPI_GetTotalTitleGroupNum();
					pList->moParam.mdwData = 0;
					_AddItemsToTitleList((MSO_VLIST __NEAR*)pThis);
					break;
			}
		}
		return MS_OP_NONE;
	}	
	return VListOperation(pThis, MsOp, lParam);
}

/***************************************************************************************
*	Function 	: 	_TrackOperation
*
*	In		:
*
*	Out		:
*
*	Desc 	:	 user operation function for oProgramTrackDescriptor.
****************************************************************************************/
#pragma argsused
STATIC MS_OP _TrackOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam)
{
	switch(MsOp)
	{
		case MS_OP_FOCUS_CHANGE:
			MS_DisplayAddObject(pThis);
			break;
            
		case MS_OP_ENTER:
			{
				MSO_PROGRAM_TRACK __NEAR* pTrack = (MSO_PROGRAM_TRACK __NEAR*)pThis;
				UINT16 wTrackNum = pTrack->moParam.mwTrack;
				MSO_OBJECT __NEAR* pTrackList = (MSO_OBJECT __NEAR* )pThis->mpParent;
				MSO_OBJECT __NEAR* pTrackVScrollList = (MSO_OBJECT __NEAR*)pTrackList->mpParent;
				MSO_PROGRAM __NEAR* pProgram 	= (MSO_PROGRAM __NEAR*)pTrackVScrollList->mpParent;
				UINT16 wItemNum = pProgram->moParam.mwProgramListItemsNum;
				MSO_OBJECT __NEAR* pProgramListDisplay = (MSO_OBJECT __NEAR*)MS_FindObjectFromDescriptor((MSO_CONTAINER __NEAR*)pProgram, (MS_DESCRIPTOR*)&oProgramListDisplayDescriptor);

				if (wItemNum < MAX_PROGRAM_NUM)
				{
					pProgram->moParam.mwProgramListItemsNum++;
					pProgram->moParam.mwTrack[wItemNum] = wTrackNum;

					MS_DisplayAddObject((MSO_OBJECT __NEAR*)pProgramListDisplay);
				}
			}
			return MS_OP_NONE;
	}
	return MsOp;
}

/***************************************************************************************
*	Function 	: 	_TitleOperation
*
*	In		:
*
*	Out		:
*
*	Desc 	:	 user operation function for oProgramTitleDescriptor.
****************************************************************************************/
#pragma argsused
STATIC MS_OP _TitleOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam)
{
	switch(MsOp)
	{
		case MS_OP_FOCUS_CHANGE:
			MS_DisplayAddObject(pThis);
			break;
            
		case MS_OP_ENTER:
			{
				MSO_PROGRAM_TRACK __NEAR* pTitle = (MSO_PROGRAM_TRACK __NEAR*)pThis;
				MSO_VLIST __NEAR* pTrackList = (MSO_VLIST __NEAR* )pThis->mpParent;
				MSO_OBJECT __NEAR* pTrackVScrollList = (MSO_OBJECT __NEAR*)((MSO_OBJECT __NEAR*)pTrackList)->mpParent;
				UINT16 wTitleNum = pTitle->moParam.mwTrack;
				MSO_OBJECT __NEAR* pObject;
				
				// Remove all items.
				MS_SendOperation((MSO_OBJECT __NEAR*)pTrackList, MS_OP_EMPTY, 0);
				pTrackList->moParam.mwFirstDisplayItem = 0;
				pTrackList->moParam.mdwData = wTitleNum;
				pTrackList->moParam.mwTotalItems = CoreAPI_GetTotalChapterTrackNum(wTitleNum) + 1;
				_AddItemsToChapterList((MSO_VLIST __NEAR*)pTrackList);
				pObject = MS_GetObjectListPtr(pTrackList);
				pObject = pObject->mpNext;
				MS_ScreenSetFocusObject(pObject);
				MS_DisplayAddObject((MSO_OBJECT __NEAR*)pTrackVScrollList);
			}
			return MS_OP_NONE;
	}
	return MsOp;
}

/***************************************************************************************
*	Function 	: 	_ChapterOperation
*
*	In		:
*
*	Out		:
*
*	Desc 	:	 user operation function for oProgramChapterDescriptor.
****************************************************************************************/
#pragma argsused
STATIC MS_OP _ChapterOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam)
{
	switch(MsOp)
	{
		case MS_OP_FOCUS_CHANGE:
			MS_DisplayAddObject(pThis);
			break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91视频91自| 国产精品午夜免费| 欧美国产日韩一二三区| 天天综合色天天综合色h| 成人午夜在线视频| 精品久久久久久久久久久久包黑料 | 日韩电影免费一区| 91亚洲大成网污www| 精品国产sm最大网站| 亚洲1区2区3区4区| 色激情天天射综合网| 中文字幕亚洲电影| 国产一区二区免费视频| 欧美一区欧美二区| 亚洲国产视频在线| 91福利视频在线| 综合久久国产九一剧情麻豆| 国产ts人妖一区二区| 欧美一级精品大片| 美腿丝袜亚洲一区| 日韩一区二区三区四区| 偷拍与自拍一区| 欧美日韩国产三级| 亚洲电影激情视频网站| 精品视频资源站| 亚洲一二三四久久| 欧美视频第二页| 亚洲主播在线观看| 欧美视频在线观看一区| 亚洲国产中文字幕在线视频综合| 99久久精品免费| 亚洲私人黄色宅男| 在线看国产日韩| 偷拍与自拍一区| 日韩免费看网站| 精品一区二区三区影院在线午夜 | 日韩福利视频导航| 欧美日韩精品欧美日韩精品一 | 国产精品不卡视频| 99麻豆久久久国产精品免费优播| 中文字幕第一区综合| 成人免费视频app| 成人免费在线视频| 在线观看日韩精品| 亚洲福中文字幕伊人影院| 欧美系列日韩一区| 久久精品国产亚洲5555| 精品久久久久久久久久久院品网| 国产东北露脸精品视频| 18成人在线视频| 欧洲视频一区二区| 麻豆国产欧美一区二区三区| 久久久久久久久久电影| 99这里只有久久精品视频| 一级中文字幕一区二区| 日韩欧美亚洲国产另类| 国产成人亚洲综合色影视| 亚洲女同ⅹxx女同tv| 欧美一区二区三区男人的天堂| 韩国精品免费视频| 亚洲欧美色图小说| 日韩欧美国产小视频| 成人av动漫网站| 男女激情视频一区| 亚洲色图欧美偷拍| 欧美一区2区视频在线观看| 从欧美一区二区三区| 日韩和的一区二区| 中文字幕欧美激情| 欧美二区乱c少妇| www.日韩大片| 精品一区二区在线播放| 亚洲国产精品久久人人爱蜜臀| 日韩欧美国产麻豆| 日本精品一区二区三区四区的功能| 蜜臀久久99精品久久久画质超高清| 国产精品欧美极品| 日韩欧美成人激情| 精品视频资源站| av毛片久久久久**hd| 国产专区综合网| 五月天亚洲精品| 亚洲欧美一区二区三区国产精品| 日韩欧美在线一区二区三区| 欧美羞羞免费网站| www.日韩在线| 国产91对白在线观看九色| 日韩制服丝袜av| 亚洲一级二级三级| 中文字幕一区二区三区视频| 久久久一区二区| 精品国产污污免费网站入口 | 老司机精品视频在线| 亚洲永久免费视频| 国产精品高潮久久久久无| 久久色.com| 日韩美女一区二区三区| 9191国产精品| 欧美日韩一区精品| 色综合色狠狠综合色| 不卡的电影网站| 成人av动漫在线| 成人性视频免费网站| 国产美女主播视频一区| 久久成人麻豆午夜电影| 日韩福利视频导航| 日本成人在线电影网| 婷婷成人综合网| 日韩激情一区二区| 欧美aⅴ一区二区三区视频| 日韩中文字幕亚洲一区二区va在线| 亚洲国产日产av| 午夜精品国产更新| 亚洲成人动漫在线免费观看| 亚洲r级在线视频| 日本视频一区二区| 麻豆精品新av中文字幕| 久久激情综合网| 韩日精品视频一区| 国产精品综合久久| 成人免费看视频| 91丝袜高跟美女视频| 欧美在线999| 91精品国产色综合久久ai换脸 | 国产精品国产自产拍在线| 中文字幕免费不卡| 亚洲乱码国产乱码精品精的特点 | 激情欧美一区二区| 国产一区91精品张津瑜| 成人精品小蝌蚪| 色综合天天综合色综合av| 欧美丝袜丝交足nylons| 日韩精品影音先锋| 中文字幕av一区二区三区高| 亚洲国产精品精华液ab| 亚洲精品视频观看| 天堂成人国产精品一区| 狠狠v欧美v日韩v亚洲ⅴ| 成人av电影在线网| 欧美日韩免费一区二区三区 | 精品一区二区在线免费观看| 成人免费观看av| 欧美日韩1234| 国产亚洲综合av| 亚洲美女屁股眼交| 青青草原综合久久大伊人精品优势 | 粉嫩欧美一区二区三区高清影视| 成人免费看的视频| 69久久夜色精品国产69蝌蚪网| 日韩精品一区在线| 亚洲三级免费电影| 免费观看一级特黄欧美大片| 成人久久久精品乱码一区二区三区| 色综合网站在线| 欧美va日韩va| 亚洲成在线观看| 国产成人免费视频网站| 欧美高清激情brazzers| 国产精品久久久久久亚洲毛片| 舔着乳尖日韩一区| 91网址在线看| 欧美极品aⅴ影院| 日本欧美一区二区三区| 欧洲av一区二区嗯嗯嗯啊| 国产欧美日韩三级| 蜜臀av性久久久久蜜臀av麻豆| 色播五月激情综合网| 欧美激情中文不卡| 久久99在线观看| 欧美日韩黄视频| 自拍偷拍亚洲欧美日韩| 国产精品自拍av| 欧美一卡二卡在线| 天天综合日日夜夜精品| 99久久精品免费看国产免费软件| 久久天堂av综合合色蜜桃网| 日本vs亚洲vs韩国一区三区| 色老头久久综合| 亚洲天堂网中文字| 成人天堂资源www在线| 日韩欧美你懂的| 欧美aaaaa成人免费观看视频| 欧美午夜电影一区| 亚洲综合色视频| 91国偷自产一区二区开放时间| 国产精品乱码久久久久久| 国产精品18久久久| 久久亚洲一区二区三区四区| 奇米四色…亚洲| 69成人精品免费视频| 日本中文在线一区| 欧美精品丝袜久久久中文字幕| 亚洲国产精品影院| 欧美日韩日日摸| 天堂成人免费av电影一区| 欧美精品高清视频| 麻豆freexxxx性91精品| 欧美www视频| 韩国精品主播一区二区在线观看 | 日韩精品一区二区三区中文精品|