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

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

?? o_dvdvr.c

?? ZORAN 962/966 SOURCE CODE,DVD chip
?? C
?? 第 1 頁 / 共 3 頁
字號:
	default:
		break;
	}
	
	MsOp = OTEXT_Operation(pThis, MsOp, lParam);
	
	// Post-processing
	switch(MsOp)
	{
	case MS_OP_INIT:			// Fall THrough !!!
	case MS_OP_ON_DEFROST:
		{
			MSO_PLAYTITLE __NEAR* pPlayTitle = (MSO_PLAYTITLE __NEAR*)pThis;
			pPlayTitle->moParam.mwTitleCurrent 	= INVALID_TRACK;
			pPlayTitle->moParam.mwTitlesTotal	= INVALID_TRACK;
		}
		break;

	default:
		break;
	}	
	return MsOp;
}

/***************************************************************************************
*	Function 	: 	_ListItemOperation
*
*	In		:
*
*	Out		:
*
*	Desc 	:	The MSO_LIST_TEM user operation function.
****************************************************************************************/
#pragma argsused
STATIC MS_OP _ListItemOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam)
{
	switch(MsOp)
	{
	case MS_OP_TICK:
		{
			MSO_DVDVR_LISTITEM __NEAR* pItem = (MSO_DVDVR_LISTITEM __NEAR*)pThis;
			
			if(pItem->moParam.mwAbsTitleIndex == CoreAPI_GetCurrentTitleGroupNum())
			{
				if(FALSE == pItem->moParam.mbIsPlaying)
				{
					pItem->moParam.mbIsPlaying = TRUE;
					MS_DisplayAddObject(pThis);
				}
			}
			else
			{
				if(TRUE == pItem->moParam.mbIsPlaying)
				{
					pItem->moParam.mbIsPlaying = FALSE;
					MS_DisplayAddObject(pThis);
				}
			}
		}
		break;

	case MS_OP_INIT: // Fall Through !!!
		{
			((MSO_DVDVR_LISTITEM __NEAR*)pThis)->moParam.mwAbsTitleIndex 	= _GetIndexFromParam(lParam);
			((MSO_DVDVR_LISTITEM __NEAR*)pThis)->moParam.mbIsPlaying 		= _GetIsPlayingStatusFromParam(lParam);
		} // Fall Through !!!
	case MS_OP_ON_DEFROST:	
		{
			FORMATED_UNICODE_STRING oFormUniStr;
			MSO_DVDVR_LISTITEM __NEAR* pItem = (MSO_DVDVR_LISTITEM __NEAR*)pThis;
			MS_DESCRIPTOR_DVDVR_LISTITEM* pDescriptor = (MS_DESCRIPTOR_DVDVR_LISTITEM*)pThis->mpDescriptor;			
			
			// Allocate scratchpad memory to hold a unicode formatted string.
			pItem->moParam.mwScTitleName = OSDR_MallocScFormUniStr();			
			pItem->moParam.mwScCreationTime = OSDR_MallocScFormUniStr();

			// Title Name
			CoreAPI_GetTitleName(pItem->moParam.mwAbsTitleIndex, oFormUniStr.mszUniStr,  UNISTR_LENGTH_MAX);
			
			oFormUniStr.mtFontIndex = pDescriptor->mtFontIndex;
			OSDR_FormatUniString((FORMATED_UNICODE_STRING __NEAR *)&oFormUniStr);
			OSDR_SetScFormUniStr((FORMATED_UNICODE_STRING __NEAR*)&oFormUniStr, pItem->moParam.mwScTitleName);

			// Creation Time
			oFormUniStr.mszUniStr[0] = 0;
			CoreAPI_GetRecordTime(pItem->moParam.mwAbsTitleIndex, oFormUniStr.mszUniStr);

			oFormUniStr.mtFontIndex = pDescriptor->mtFontIndex;
			OSDR_FormatUniString((FORMATED_UNICODE_STRING __NEAR *)&oFormUniStr);
			OSDR_SetScFormUniStr((FORMATED_UNICODE_STRING __NEAR*)&oFormUniStr, pItem->moParam.mwScCreationTime);

			// No need to ask for display during initialization because the parent (MSO_VLIST) asks for the display.
			if(MS_OP_INIT != MsOp)
				MS_DisplayAddObject(pThis);
		}
		break;

	case MS_OP_ENTER: // Fall Through !!!
	case MS_OP_PLAY:
		{
			MSO_DVDVR_LISTITEM __NEAR* pItem = (MSO_DVDVR_LISTITEM __NEAR*)pThis;

			// Starting playback of the focused title while the play mode is set to Program 
			// does not seem logical. Hence, set the play mode to normal before starting playback.
			if(CoreAPI_IsProgramPlayback())
			{
				CoreAPI_SetPlaybackMode(PM_PLAYBACK_NORMAL);
			}
			MS_SendOp(MS_OP_MSG_PLAYSTATE_PLAY, 0);
			
			// Resume playback if the PLAY key was pressed, and the focused item is the active item.
			if((MS_OP_PLAY == MsOp) && (pItem->moParam.mwAbsTitleIndex == CoreAPI_GetCurrentTitleGroupNum()))
			{				
				CoreAPI_Play();
				return MS_OP_CLOSE_PARENT;
			}
			else
			{
				if(CoreAPI_GotoEntry(pItem->moParam.mwAbsTitleIndex, 1))
					return MS_OP_CLOSE_PARENT;
				else
					PROHIBIT(MSG_PROHIBIT_NOT_ALLOWED_NOW);
			}
		}
		return MS_OP_NONE;

	case MS_OP_REFRESH:
	case MS_OP_FOCUS_CHANGE:
		// Ask for re-display when we gain or loose focus.
		MS_DisplayAddObject(pThis);
		break;	

	case MS_OP_PREPARE_FOR_FREEZE: // Fall Through !!!
	case MS_OP_EMPTY:
		{
			MSO_DVDVR_LISTITEM __NEAR* pItem = (MSO_DVDVR_LISTITEM __NEAR*)pThis;			
			
			// Release the Scratch pad memory
			OSDR_FreeScFormUniStr(pItem->moParam.mwScTitleName);
			pItem->moParam.mwScTitleName = NULL_HANDLE;

			OSDR_FreeScFormUniStr(pItem->moParam.mwScCreationTime);
			pItem->moParam.mwScCreationTime = NULL_HANDLE;
		}
		break;
			
	default:
		break;
	}	
	return MsOp;
}

/***************************************************************************************
*	Function 	: 	_BrowserScrollListOperation
*
*	In		:
*
*	Out		:
*
*	Desc 	:	Operation function of the SACD track browser scroll list.
****************************************************************************************/
STATIC MS_OP _BrowserScrollListOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam)
{
	MsOp = VScrollListOperation(pThis, MsOp, lParam);

	// Post processing
	switch(MsOp)
	{		
	case MS_OP_INIT: 		// Fall Through !!!
	case MS_OP_REFRESH:	// Fall Through !!!
		{
			MS_DESCRIPTOR_VSCROLL_LIST* pScrollListDescriptor = (MS_DESCRIPTOR_VSCROLL_LIST*)MS_GetDescriptorPtr(pThis);			
			MSO_VLIST __NEAR* pList 		= (MSO_VLIST __NEAR*)MS_FindDescendant(pThis, pScrollListDescriptor->mpDescriptorVList);
			PGC_TYPE tProgramChain 		= _GetProgramChainType();
			UINT16 wAbsCurrentTitle 		= CoreAPI_GetCurrentTitleGroupNum();				
			UINT16 wCount 				= 0;
			UINT16 wAbsItemIndex			= NULL_INDEX;
 			MSO_OBJECT __NEAR* 	pItem 	= NULL;
			BOOL bDisplayActiveTitle 		= _DisplayActiveTitle();	
			UINT8 cNumItemsToDisplay 		= 0;			

			// Remove all existing items in the browser list.
			MS_SendOperation((MSO_OBJECT __NEAR*)pList, MS_OP_EMPTY, 0);

			if(TRUE == bDisplayActiveTitle)
			{			
				// Display the active item if the following two conditions are statisfied:
				// 1. The current play state is not full stop.
				// 2. The Browser list is displaying titles from the program chain to which the active title belongs. 
				if(!CoreAPI_IsFullStop()
					&& ((CoreAPI_DVDVRIsPGPlaying() && (PGC_TYPE_ORIGINAL == tProgramChain))
							||(!CoreAPI_DVDVRIsPGPlaying() && (PGC_TYPE_USERDEFINED == tProgramChain))))
				{
					UINT16 wCurrentTitle = (PGC_TYPE_ORIGINAL == tProgramChain) ? 
											CoreAPI_GetDVDVRCurrtProgramNum() : CoreAPI_GetDVDVRCurrentPlayListNum();

					pList->moParam.mwFirstDisplayItem = wCurrentTitle - (wCurrentTitle % pList->moParam.mcNumVisibleItems);
				}
				else
					pList->moParam.mwFirstDisplayItem = 0;
			}			

			// Set list parameters.
			pList->moParam.mwTotalItems = (PGC_TYPE_ORIGINAL == tProgramChain) ? 
											CoreAPI_GetDVDVRMaxProgramNum() : CoreAPI_GetDVDVRMaxPlayListNum();

			cNumItemsToDisplay = MIN((pList->moParam.mwTotalItems - pList->moParam.mwFirstDisplayItem), pList->moParam.mcNumVisibleItems);

			wAbsItemIndex = pList->moParam.mwFirstDisplayItem;

			if(PGC_TYPE_USERDEFINED == tProgramChain)
				wAbsItemIndex += CoreAPI_GetDVDVRMaxProgramNum();

			for(wCount = 1; wCount <= cNumItemsToDisplay; wCount++)
			{				
				pItem = OVLIST_CreateAndAppendItem(pList, &oListItemDescriptor);

				++wAbsItemIndex;
				MS_SendOperation(pItem, MS_OP_INIT, _MakeListItemParam(wAbsItemIndex, (wAbsItemIndex == wAbsCurrentTitle)));
			}

			MS_DisplayAddObject(pThis);
			
			// Set focus to the appropriate list item.
			if(MS_IsFocused(pList))
			{
				pItem = MS_GetObjectListPtr(pList);
				
				if(TRUE == bDisplayActiveTitle)
				{
					// Set focus to the active title.
					while(NULL != pItem->mpNext)
					{
						if(wAbsCurrentTitle == ((MSO_DVDVR_LISTITEM __NEAR*)pItem)->moParam.mwAbsTitleIndex) 
							break;
						else
							pItem = pItem->mpNext;	
					}

					// Incase we reached end of the list but didnt find an active item.
					if(wAbsCurrentTitle != ((MSO_DVDVR_LISTITEM __NEAR*)pItem)->moParam.mwAbsTitleIndex)
						pItem = MS_GetObjectListPtr(pList);
					
					_ResetActiveTitleFlag();
				}
				else
				{					
					if(MS_IS_FOCUS_ON_LASTITEM(pList))
					{
						while(NULL != pItem->mpNext)
							pItem = pItem->mpNext;					
					}
				}
				MS_ScreenSetFocusObject(pItem);
			}				
		}
		return MsOp;
		
	default:
		break;
	}
	return MsOp;
}

/***************************************************************************************
*	Function 	: 	_HelpTextOperation
*
*	In		:
*
*	Out		:
*
*	Desc 	:	Operation function of the SACD help text.
****************************************************************************************/
STATIC MS_OP _HelpTextOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam)
{
	// Pre-processing
	switch(MsOp)
	{
	case MS_OP_TICK:
		{
			MSO_DVDVR_HELPTEXT __NEAR* pHelpText = (MSO_DVDVR_HELPTEXT __NEAR*)pThis;
			PGC_TYPE tProgramChain = _GetProgramChainType();

			if(tProgramChain != pHelpText->moParam.mtProgramChain)
			{
				pHelpText->moParam.mtProgramChain = tProgramChain;
				MS_SendOperation(pThis, MS_OP_BUILD_TEXT_TABLE, 0);
			}
		}
		break;

	case MS_OP_POPULATE_TEXT_TABLE:
		{
			FORMATED_UNICODE_STRING oFormUniStr;
			MSO_DVDVR_HELPTEXT __NEAR* pHelpText = (MSO_DVDVR_HELPTEXT __NEAR*)pThis;			
			OSD_MESSAGES osdMenuKeyHelp = (PGC_TYPE_ORIGINAL == pHelpText->moParam.mtProgramChain) ? S_DISPLAY_PLAY_LIST : S_CLOSE_DVDVR_WINDOW;
			OSD_MESSAGES osdTitleKeyHelp = (PGC_TYPE_ORIGINAL == pHelpText->moParam.mtProgramChain) ? S_CLOSE_DVDVR_WINDOW : S_DISPLAY_PROGRAM_LIST;
			UINT8 cWordsWritten = 0;
			
			((MULTILINE_TEXT_TABLE*)lParam)->mcTableEntryCount = 0;

			// MENU key help.
			cWordsWritten = STR_GenerateOSDMESSAGEString(S_MENU, oFormUniStr.mszUniStr, 0, UNISTR_LENGTH_MAX);
			
            		// Tag a colon, and a space on the end.
			oFormUniStr.mszUniStr[cWordsWritten++] = L':';
			oFormUniStr.mszUniStr[cWordsWritten++] = UNICODE_SPACE;

			STR_GenerateOSDMESSAGEString(osdMenuKeyHelp, oFormUniStr.mszUniStr, cWordsWritten, UNISTR_LENGTH_MAX);

			// Remove any extra spacing on the end.
			STR_AppendPaddingSpace(oFormUniStr.mszUniStr, MIN(wcslen(oFormUniStr.mszUniStr),UNISTR_LENGTH_MAX), UNISTR_LENGTH_MAX, DVDVR_INFO_PADDING_SPACES);
			
			oFormUniStr.mtFontIndex = (((MS_DESCRIPTOR_TEXT *)((MS_DESCRIPTOR_MULTILINE_TEXT *)pThis->mpDescriptor))->mtFontIndex);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品日韩在线观看| 制服丝袜在线91| 1000精品久久久久久久久| 国产99精品国产| 国产精品每日更新| 色偷偷88欧美精品久久久| 一区二区三区精品在线| 欧美亚州韩日在线看免费版国语版| 亚洲黄一区二区三区| 欧美高清精品3d| 久久精品999| 国产精品丝袜在线| 色噜噜久久综合| 日韩专区欧美专区| 久久久亚洲综合| 成人高清在线视频| 亚洲福利一区二区| 日韩久久久精品| eeuss鲁一区二区三区| 亚洲h精品动漫在线观看| 欧美一区二区三区日韩| 国产成人午夜99999| 亚洲人123区| 日韩欧美在线综合网| 国产.欧美.日韩| 亚洲香蕉伊在人在线观| 欧美变态凌虐bdsm| 97久久人人超碰| 蜜臀91精品一区二区三区| 亚洲国产成人在线| 欧美精选一区二区| 粗大黑人巨茎大战欧美成人| 亚洲一级二级在线| 国产欧美精品国产国产专区| av中文字幕亚洲| 麻豆成人免费电影| 国产精品久久免费看| 欧美视频中文一区二区三区在线观看 | 亚洲国产激情av| 欧美蜜桃一区二区三区| 成人免费视频caoporn| 免费av网站大全久久| 自拍偷拍亚洲欧美日韩| 精品国产亚洲一区二区三区在线观看 | 欧美精品色综合| 成人高清av在线| 麻豆久久一区二区| 亚洲国产精品天堂| 亚洲视频在线观看三级| 久久这里只有精品视频网| 欧美日韩黄视频| 91蜜桃免费观看视频| 精品影院一区二区久久久| 亚洲国产aⅴ天堂久久| 国产精品美女久久久久久| 精品少妇一区二区三区免费观看| 日本韩国视频一区二区| 成人黄色综合网站| 美美哒免费高清在线观看视频一区二区| 国产精品大尺度| 久久久久99精品一区| 欧美一区二区成人| 欧美美女网站色| 一本到不卡免费一区二区| www.欧美亚洲| 成人伦理片在线| 国产激情一区二区三区| 久久99精品网久久| 视频一区二区三区中文字幕| 依依成人综合视频| 亚洲欧美一区二区三区久本道91| 国产三级一区二区| 久久久电影一区二区三区| 日韩免费一区二区三区在线播放| 777xxx欧美| 538prom精品视频线放| 欧美精品精品一区| 日韩一区二区三区电影 | 制服视频三区第一页精品| 欧美丝袜丝交足nylons| 欧美日韩精品一区二区三区四区| 欧美日韩亚洲丝袜制服| 欧美日韩不卡一区二区| 欧美片网站yy| 日韩精品一区在线观看| 2021久久国产精品不只是精品| 欧美成人高清电影在线| 久久久久97国产精华液好用吗| 国产午夜精品一区二区 | 亚洲国产高清在线观看视频| 国产清纯白嫩初高生在线观看91| 欧美经典一区二区| 亚洲视频在线一区| 亚洲va中文字幕| 日本不卡1234视频| 国产乱码精品一品二品| 成人性视频免费网站| 色婷婷av一区二区| 337p亚洲精品色噜噜狠狠| 精品国产乱码久久久久久1区2区| 久久亚洲综合色| 中文字幕一区二区三区四区不卡| 亚洲精品国产一区二区三区四区在线| 亚洲影院免费观看| 久久国产精品色| 成人国产精品免费观看动漫| 在线看国产日韩| 精品国产亚洲在线| 综合久久一区二区三区| 亚洲第一av色| 国产精品91xxx| 色视频一区二区| 精品国产一区久久| 自拍av一区二区三区| 蜜芽一区二区三区| av激情亚洲男人天堂| 欧美日韩另类一区| 久久久久久久久久看片| 亚洲一级二级在线| 国产99久久久久| 欧美精品99久久久**| 久久综合资源网| 午夜精品一区二区三区三上悠亚| 国产在线精品免费| 欧美日韩国产影片| 欧美激情综合在线| 热久久免费视频| 99国产精品国产精品久久| 欧美一三区三区四区免费在线看 | 一区二区中文视频| 免费观看成人鲁鲁鲁鲁鲁视频| 成人精品一区二区三区四区 | 精品亚洲成a人在线观看| 99riav一区二区三区| 精品成人免费观看| 亚洲国产婷婷综合在线精品| 国产精品自拍网站| 欧美一级片在线观看| 亚洲欧美另类小说| 国产成人av电影在线| 欧美日产国产精品| 成人免费在线播放视频| 国产一区二区美女诱惑| 欧美日韩国产美| 亚洲精品你懂的| 懂色中文一区二区在线播放| 日韩欧美123| 日日夜夜精品免费视频| 91传媒视频在线播放| 国产精品国模大尺度视频| 国产麻豆成人精品| 久久久久久综合| 捆绑紧缚一区二区三区视频| 欧美精品乱码久久久久久按摩| 中文字幕一区在线| heyzo一本久久综合| 国产亚洲欧美日韩在线一区| 久久se这里有精品| 日韩精品一区二区三区中文不卡 | 精品一区二区三区久久| 91精品免费观看| 亚洲电影在线播放| 欧美三级乱人伦电影| 亚洲综合色区另类av| 色综合久久六月婷婷中文字幕| 亚洲视频免费在线| 91原创在线视频| 亚洲精选视频在线| 在线精品视频免费播放| 亚洲自拍欧美精品| 精品视频一区二区三区免费| 亚洲最大成人综合| 欧美唯美清纯偷拍| 日韩黄色一级片| 欧美一区二区精品| 久久99精品一区二区三区三区| 精品国产1区二区| 国产91丝袜在线观看| 国产精品私房写真福利视频| 99久久久久久| 伊人婷婷欧美激情| 这里只有精品视频在线观看| 日韩精品久久理论片| 精品毛片乱码1区2区3区| 国产酒店精品激情| 国产精品久久久一区麻豆最新章节| 成人av网站在线| 亚洲一区二区五区| 欧美一区二区三区啪啪| 国产一区二区免费在线| 国产精品成人在线观看| 91国产视频在线观看| 日本视频在线一区| 久久久精品免费观看| 一本色道久久综合狠狠躁的推荐| 亚洲福利一区二区| www久久精品| 色婷婷av一区二区| 久久精品av麻豆的观看方式| 欧美精彩视频一区二区三区|