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

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

?? o_aux_subtitleselection.c

?? ZORAN 962/966 SOURCE CODE,DVD chip
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* **************************************************************************************
*  Copyright (c) 2005 ZORAN Corporation, All Rights Reserved
*  THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
*
*  File: $Workfile: o_aux_SubtitleSelection.c $
*
* Description:
* ============
*
****************************************************************************************/
#include "Config.h"		// Global Configuration - do not remove!

#ifdef USE_AUX_SUBTITLES

#include "Include\SysDefs.h"

#include "GUI\Menu_system\ms_menu.h"
#include "GUI\Object_class\Page\mso_page.h"
#include "Menu\menu_operation_def.h"
#include "GUI\Menu_system\ms_container.h"
#include "GUI\Menu_system\ms_component.h"
//#include "GUI\Object_class\Choice\mso_choice.h"

#include "CoreAPI\CoreAPI.h"
#include "ClipsAPPEngine\ActionEngine\ActionEngine.h"
#include "ClipsAPPEngine\DirBrowser\DirBrowser.h"

#include "GUI\Object_class\Vlist\mso_vlist.h"
#include "GUI\Menu_system\ms_display.h"
#include "GUI\Menu_system\ms_screen.h"
#include "GUI\Menu_system\ms_send_op.h"

//#include "Menu\Clips_menu.h"

#include "GUI\Resource\Bitmap\bitmap.h"

// Include the module header file
#include "Components\Aux_subtitles_selection\o_aux_subtitleSelection.h"
// Include configuration header file: named constants, macros and typedefs.
#include "Components\Aux_subtitles_selection\o_aux_subtitleSelection_config.h"
// Include custom header file: customer specific definitions, over-writing common ones.
#include "Components\Custom\Aux_subtitles_selection\o_aux_subtitleSelection_custom.h"

/****************************************************************************************
* 			public functions
*****************************************************************************************/
MSO_OBJECT __NEAR* OpenAuxSubtSelection(MSO_CONTAINER __NEAR* pContainer, UINT16 wClipNum, UINT16 wDirIndex);

/****************************************************************************************
*	operation handlers
*****************************************************************************************/
static UINT16 _SelectExtSubtFile(MSO_OBJECT __NEAR* pThis, BOOL bSubtitleOn);
static void _DestructSubtActionEngine(MSO_OBJECT __NEAR* pThis);

/****************************************************************************************
*	operation functions
*****************************************************************************************/
static void _VScrollListInitOp(MSO_OBJECT __NEAR* pThis, UINT32 lParam);
static void _VScrollListRefreshOperation(MSO_OBJECT __NEAR* pThis, UINT32 lParam);
static MS_OP _VScrollListOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
static MS_OP _ListItemOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
static MS_OP _ComponentOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
/*****************************************************************************************
*	Display  functions
******************************************************************************************/
static BOOL _ListItemFillOSDSeg(MSO_OBJECT __NEAR* pThis, MS_AREA __NEAR* pAbsArea);
static BOOL _ComponentFillOSDSeg(MSO_OBJECT __NEAR* pThis, MS_AREA __NEAR* pAbsArea);


/***************************************************************************************
* 	Include customization file.
****************************************************************************************/

// Include custom code file: customer specific code, over-writing common one.
#include "Components\Custom\Aux_subtitles_selection\o_aux_subtitleSelection_custom.c"
// Include configuration file: constants.
#include "Components\Aux_subtitles_selection\o_aux_subtitleSelection_config.c"

/***************************************************************************************
* 	Utility functions
****************************************************************************************/
/***************************************************************************************
*	Function	: 	_VScrollListRefreshOperation
*
*	In		: 	pThis	=	Pointer to the subtitle scroll list  object.
*
*				lParam	=	Parameter associated with an MS_OP if any.
*
*	Out		: 	None.
*
*	Return	:	None
*
*	Desc 	:	This function handles MS_OP_REFRESH operation of the
*				MSO_VSCROLL_LIST object represented by the
*				oDescriptorVScrollList descriptor..
****************************************************************************************/
#ifndef D_CUSTOM__VScrollListRefreshOperation
static void _VScrollListRefreshOperation(MSO_OBJECT __NEAR* pThis, UINT32 lParam)
{
	MSO_LISTITEM __NEAR* 	pItem;
	MSO_VLIST __NEAR* 			pList;
	MS_DESCRIPTOR_VLIST* 		pListDescriptor;
	MSO_AUX_SUBT_SELECTION __NEAR* pAuxSubtSelect;
	//MSO_BROWSER_PAGE __NEAR* pPage;

	FORMATED_UNICODE_STRING oFormUniStr;
	UINT16 wIndex, wCount, wNum;

	oFormUniStr.mtFontIndex = FONT_0;

	//pPage = (MSO_BROWSER_PAGE __NEAR*)_GetActivePage();
	pAuxSubtSelect = (MSO_AUX_SUBT_SELECTION __NEAR*)MS_FindParentFromDescriptor(pThis, (MS_DESCRIPTOR *)&oDescriptorAuxSubtSelection);
	pListDescriptor = ((MS_DESCRIPTOR_VSCROLL_LIST*)(pThis->mpDescriptor))->mpDescriptorVList;
	pList = (MSO_VLIST __NEAR*)MS_FindObjectFromDescriptor((MSO_CONTAINER __NEAR*)pThis, (MS_DESCRIPTOR *)pListDescriptor);

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

	{
		UINT16  wRestFiles,  wNumVisibleItems;
		UINT16 wTotalFiles;
		//enClipType eOldType;

		PtrToDirBrowser pDirBrowser = (PtrToDirBrowser)pAuxSubtSelect->moParam.mpActionEngine;
		//PtrToDirBrowser pDirBrowser = (PtrToDirBrowser)pPage->moParam.mpSrcActionEngine;
		//DirBrowser_RefreshDir(pDirBrowser);
		if(REFRESH_LIST_DISPLAY_FIRST_ITEM == lParam)
			pList->moParam.mwFirstDisplayItem = 0;

		// Set list parameters.

		wTotalFiles = pList->moParam.mwTotalItems;//one item for subtitle off

		wNumVisibleItems 	= pList->moParam.mcNumVisibleItems;
		wIndex 			= pList->moParam.mwFirstDisplayItem;//First Display Item number in folder

		//display subtitle off
		if (0 == wIndex)
		{
			pItem = (MSO_LISTITEM __NEAR*)OVLIST_CreatAndAddItem((MSO_OBJECT __NEAR*)pList,
															(MS_DESCRIPTOR *)&oDescriptorListItem,
															TRUE, FALSE);
			pItem->moParam.mwIndex = 0xffff;
			OSDR_GetFormUniStr_OsdMessage((FORMATED_UNICODE_STRING __NEAR*)&oFormUniStr, S_EXTERNAL_SUBTITLE_OFF);

			pItem->moParam.mwData = OSDR_MallocScFormUniStr();
			OSDR_SetScFormUniStr((FORMATED_UNICODE_STRING __NEAR*)&oFormUniStr, pItem->moParam.mwData);
			wIndex ++;
			wNumVisibleItems--;
		}


		// Display the files.
		wRestFiles = wTotalFiles -wIndex;

		if(wNumVisibleItems > 0)
		{
			UINT16 wNextFileIndex = 0;
// TODO: What's this +5 , Magic number ?
			UINT16 wszName[CLIPS_MAX_FILENAME_LEN + 5];

			wNum = MIN(wNumVisibleItems, wRestFiles);

			for(wCount = 0; wCount < wNum; wCount++)
			{
				wNextFileIndex = wCount + wIndex-1;

				pItem = (MSO_LISTITEM __NEAR*)OVLIST_CreatAndAddItem((MSO_OBJECT __NEAR*)pList,
																			(MS_DESCRIPTOR *)&oDescriptorListItem,
																			TRUE, FALSE);
				pItem->moParam.mwIndex = wNextFileIndex;

				if(FALSE == ActionEngine_GetFileName((PtrToActionEngineObject)pDirBrowser, pItem->moParam.mwIndex,
												(WCHAR*)wszName, CLIPS_MAX_FILENAME_LEN+5, 1))
				{
					MS_BREAK_POINT();
					wszName[0] = 0;
				}

				OSDR_GetFormUniStr_Ram((FORMATED_UNICODE_STRING __NEAR*)&oFormUniStr, (UINT32)wszName);
				pItem->moParam.mwData = OSDR_MallocScFormUniStr();
				OSDR_SetScFormUniStr((FORMATED_UNICODE_STRING __NEAR*)&oFormUniStr, pItem->moParam.mwData);
			}
		}

	}

	MS_DisplayAddObject(pThis);

	// Set focus to the appropriate list item.
	if (!MS_IsFocused(pList))
		MS_ScreenSetFocusObject((MSO_OBJECT __NEAR*)pList);
	{
		if(!MS_IS_FOCUS_ON_LASTITEM(pList))
			MS_ScreenSetFocusObject(((MSO_CONTAINER __NEAR*)pList)->mpOlist);
		else
		{
			MSO_OBJECT __NEAR* pObject = ((MSO_CONTAINER __NEAR*)pList)->mpOlist;

			while(NULL != pObject->mpNext)
				pObject = pObject->mpNext;

			MS_ScreenSetFocusObject(pObject);
		}
	}

}
#endif //D_CUSTOM

/***************************************************************************************
*	Function	: 	_VScrollListInitOp
*
*	In		: 	pThis	=	Pointer to the subtitle scroll list (MSO_VSCROLL_LIST) object.*
*
*				lParam	=	Parameter associated with an MS_OP if any.
*
*	Out		: 	None.
*
*	Return	:	None.
*
*	Desc 	:	This function handle MS_OP_INIT  of the subtitle scroll list
*				(MSO_VSCROLL_LIST) object represented by the
*				oDescriptorVScrollList descriptor.
****************************************************************************************/
#ifndef D_CUSTOM__VScrollListInitOp
static void _VScrollListInitOp(MSO_OBJECT __NEAR* pThis, UINT32 lParam)
{
	MSO_VLIST __NEAR* pList;
	MS_DESCRIPTOR_VLIST * pListDescriptor;
	MSO_AUX_SUBT_SELECTION __NEAR* pAuxSubtSele;


	pListDescriptor = ((MS_DESCRIPTOR_VSCROLL_LIST*)(pThis->mpDescriptor))->mpDescriptorVList;
	pList = (MSO_VLIST __NEAR*)MS_FindObjectFromDescriptor((MSO_CONTAINER __NEAR*)pThis,
														(MS_DESCRIPTOR *)pListDescriptor);
	pAuxSubtSele = (MSO_AUX_SUBT_SELECTION __NEAR*)MS_FindParentFromDescriptor(pThis, (MS_DESCRIPTOR*)&oDescriptorAuxSubtSelection);

	//for solution1 we only count subtitle files which name is same as file name.
	//pList->moParam.mwTotalItems = ActionEngine_GetDvixTotalExternalAUXSubtitleNum(pActionEngine, wClipNum)+1;

	//for solution 2 count all subtitle file
	pList->moParam.mwTotalItems = DirBrowser_GetTotalClipsInDir((PtrToDirBrowser)pAuxSubtSele->moParam.mpActionEngine)+ 1;//one is for subtitle off item

	MS_SendOperation(pThis, MS_OP_REFRESH, lParam);


}
#endif // D_CUSTOM

/***************************************************************************************
*	Function	: 	_VScrollListOperation
*
*	In		: 	pThis	=	Pointer to the subtitle scroll list (MSO_VSCROLL_LIST) object.
*
*				MsOp	=	Operation ID.
*
*				lParam	=	Parameter associated with an MS_OP if any.
*
*	Out		: 	None.
*
*	Return	:	ID of the operation that is to be propagated once processing is done,
*				otherwise MS_OP_NONE.
*
*	Desc 	:	This function processes all operations/events  of the subtitle scroll list
*				(MSO_VSCROLL_LIST) object represented by the
*                                     oDescriptorVScrollList descriptor.
****************************************************************************************/
#ifndef D_CUSTOM__VScrollListOperation
static MS_OP _VScrollListOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam)
{
	MsOp = VScrollListOperation(pThis, MsOp, lParam);

	// Post processing
	switch(MsOp)
	{
	case MS_OP_INIT:
		_VScrollListInitOp(pThis, lParam);
		break;

	case MS_OP_REFRESH:
		_VScrollListRefreshOperation(pThis, lParam);
		return MS_OP_NONE;

	default:
		break;
	}
	return MsOp;
}
#endif // D_CUSTOM

/***************************************************************************************
*	Function	: 	_ListItemOperation
*
*	In		: 	pThis	=	Pointer to the subtitle file list item (MSO_VSCROLL_LIST) object.
*
*				MsOp	=	Operation ID.
*
*				lParam	=	Parameter associated with an MS_OP if any.
*
*	Out		: 	None.
*
*	Return	:	ID of the operation that is to be propagated once processing is done,
*				otherwise MS_OP_NONE.
*
*	Desc 	:	This function processes all operations/events  of the subtitle list item
*				(MSO_LISTITEM) object represented by the
*                                     oSubtListDescriptor descriptor.
****************************************************************************************/
#ifndef D_CUSTOM__ListItemOperation
#pragma argsused
static MS_OP _ListItemOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam)
{
	// Pre-processing
	switch(MsOp)
	{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕精品一区二区精品绿巨人 | 欧美大片顶级少妇| 亚洲大片在线观看| 欧美高清你懂得| 麻豆视频一区二区| 国产午夜精品美女毛片视频| 成人在线一区二区三区| 国产精品网曝门| 色综合久久综合中文综合网| 一区二区三区四区在线| 欧美喷水一区二区| 国产在线播精品第三| 国产精品视频一二| 欧美日韩高清不卡| 国产一区二区中文字幕| 国产精品成人免费| 9191成人精品久久| 国产成人久久精品77777最新版本| 中文字幕一区三区| 91精品久久久久久蜜臀| 国产精品主播直播| 亚洲国产另类av| 久久影院电视剧免费观看| av色综合久久天堂av综合| 午夜激情一区二区| 日本一区二区综合亚洲| 欧美日韩精品一区二区在线播放| 精品无人码麻豆乱码1区2区 | 国产精品久久久久久久久免费相片| 色网站国产精品| 黄色成人免费在线| 亚洲一区二区三区激情| 久久欧美中文字幕| 欧美精三区欧美精三区| 国产福利一区在线| 欧美aaaaaa午夜精品| 亚洲欧洲精品一区二区精品久久久| 欧美群妇大交群中文字幕| av不卡免费在线观看| 久久激五月天综合精品| 亚洲在线免费播放| 国产精品美女久久久久aⅴ国产馆| 亚洲视频一二三区| 久久先锋影音av| 欧美乱熟臀69xxxxxx| av毛片久久久久**hd| 韩国三级电影一区二区| 亚洲第一在线综合网站| 亚洲丝袜自拍清纯另类| 国产女同互慰高潮91漫画| 日韩写真欧美这视频| 欧美在线观看18| 99精品欧美一区二区蜜桃免费 | 国产精品三级av| 精品免费国产一区二区三区四区| 欧美日韩一区二区三区视频 | 精品一区二区国语对白| 亚州成人在线电影| 亚洲综合丁香婷婷六月香| 国产精品久久久久久久第一福利 | 欧美国产精品一区| 久久色成人在线| 欧美成人精品福利| 91精品久久久久久久99蜜桃| 欧美三级一区二区| 色婷婷激情一区二区三区| 99免费精品在线| 99免费精品视频| 99re这里只有精品视频首页| 国产高清在线精品| 国产成人欧美日韩在线电影| 国产一区二区h| 国产美女精品人人做人人爽| 激情综合网最新| 国模一区二区三区白浆| 国产一区二区三区不卡在线观看| 久久精品国产澳门| 国产一区二区三区在线观看免费| 免费av网站大全久久| 免费视频最近日韩| 国内精品伊人久久久久av一坑| 激情文学综合插| 丰满少妇久久久久久久| 国产黄人亚洲片| 97久久人人超碰| 欧美性色黄大片| 91精品国产91热久久久做人人| 欧美成人伊人久久综合网| 精品成人一区二区三区四区| 久久这里只有精品首页| 国产精品不卡在线| 亚洲综合999| 久久精品国产99国产| 国产不卡免费视频| 99v久久综合狠狠综合久久| 色婷婷综合五月| 69久久夜色精品国产69蝌蚪网| 日韩欧美国产精品| 国产三级三级三级精品8ⅰ区| 国产精品视频在线看| 亚洲曰韩产成在线| 久久精品国产一区二区| 成人蜜臀av电影| 久久久99精品久久| 有码一区二区三区| 美女网站色91| 99精品桃花视频在线观看| 欧美剧情片在线观看| 国产人成亚洲第一网站在线播放| 亚洲免费观看高清完整| 日韩中文欧美在线| 成人福利电影精品一区二区在线观看| 91丨九色丨蝌蚪丨老版| 日韩欧美在线综合网| 国产精品第五页| 琪琪久久久久日韩精品| 成人美女视频在线看| 欧美情侣在线播放| 国产精品久久久久国产精品日日 | 日本亚洲三级在线| 欧美老年两性高潮| 在线亚洲免费视频| 欧美精品日韩精品| 日韩一二三四区| ㊣最新国产の精品bt伙计久久| 亚洲无人区一区| 盗摄精品av一区二区三区| 欧美一区二区三区四区视频 | 国产成人精品综合在线观看| 欧美日韩中字一区| 国产精品家庭影院| 激情小说欧美图片| 欧美丰满少妇xxxxx高潮对白| 国产精品久久网站| 蜜臀精品久久久久久蜜臀| 一本久道久久综合中文字幕| 久久综合av免费| 久久精品国产99| 8v天堂国产在线一区二区| 亚洲精品免费一二三区| 成人午夜电影小说| 亚洲国产综合在线| 一本到三区不卡视频| 国产欧美精品区一区二区三区| 美女在线观看视频一区二区| 在线观看免费视频综合| 中文无字幕一区二区三区| 蜜桃视频一区二区| 91精品国产综合久久福利软件| 日韩理论电影院| 99re视频精品| 国产精品福利av| 成人精品视频一区| 中文乱码免费一区二区| 国产一区二区三区观看| 2021久久国产精品不只是精品| 蜜桃视频在线观看一区| 日韩色在线观看| 奇米影视在线99精品| 欧美一区欧美二区| 日韩高清中文字幕一区| 欧美视频三区在线播放| 亚洲成人在线观看视频| 欧美日韩综合色| 日本欧美久久久久免费播放网| 在线成人av网站| 石原莉奈在线亚洲二区| 在线综合视频播放| 蜜桃视频一区二区三区| 欧美tickling挠脚心丨vk| 狠狠色丁香九九婷婷综合五月| 日韩一级精品视频在线观看| 日本va欧美va欧美va精品| 91精品国产乱码久久蜜臀| 久久国产麻豆精品| 国产色婷婷亚洲99精品小说| 粗大黑人巨茎大战欧美成人| 国产精品黄色在线观看| 日本韩国欧美在线| 亚洲国产你懂的| 日韩精品中文字幕在线一区| 精品一区二区三区免费观看 | 男人的天堂亚洲一区| 精品美女一区二区| 成人永久免费视频| 亚洲女同一区二区| 51精品视频一区二区三区| 黄色小说综合网站| 中文字幕视频一区| 欧美视频一区二| 国产一区免费电影| 18成人在线观看| 51精品视频一区二区三区| 极品瑜伽女神91| 亚洲视频你懂的| 欧美一级免费大片| 成人精品视频.| 一区二区在线观看不卡| 日韩一区二区视频在线观看| 国产精品一区二区不卡|