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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? o_fta_transport_tab.c

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

#ifdef FTA_SUPPORT

#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 "CoreAPI\CoreAPI.h"
#include "Playcore\FTA\fta.h"
#include "Kernel\EventDef.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 "GUI\Resource\Bitmap\bitmap.h"
#include "GUI\Object_class\Confirm\mso_confirm.h"
#include "Library\String_generate.h"
#include "Components\FTA_Program\o_FTA_Program.h"

#include "Menu_config\menu_config_common.h"
#include "GUI\Object_class\Text\mso_text.h"

// Include the module header file
#include "Components\FTA_Transport_Tab\o_FTA_Transport_Tab.h"
// Include configuration header file: named constants, macros and typedefs.
#include "Components\FTA_Transport_Tab\o_FTA_Transport_Tab_config.h"
// Include custom header file: customer specific definitions, over-writing common ones.
#include "Components\Custom\FTA_Transport_Tab\o_FTA_Transport_Tab_custom.h"

#define  FTA_MAX_TRANSPORT_INFO_LEN           32
/****************************************************************************************
* 			public functions
*****************************************************************************************/
MSO_OBJECT __NEAR* OpenFTATransportTable(MSO_CONTAINER __NEAR* pContainer);

/****************************************************************************************
*	operation handlers
*****************************************************************************************/

/****************************************************************************************
*	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);
static MS_OP _RemoveTransportConfirmOperation(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\FTA_Program_Tab\o_FTA_Program_Tab_custom.c"
// Include configuration file: constants.
#include "Components\FTA_Transport_Tab\o_FTA_Transport_Tab_config.c"

/***************************************************************************************
* 	Utility functions
****************************************************************************************/
/***************************************************************************************
*	Function	: 	_VScrollListRefreshOperation
*
*	In		: 	pThis	=	Pointer to the FTA channel 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;

	FORMATED_UNICODE_STRING oFormUniStr;
	UINT16 wIndex, wCount, wNum;

	oFormUniStr.mtFontIndex = FONT_0;

	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;
		UINT16 wCurrTransport;
		CHANNEL_INFO channelInfo;

		pList->moParam.mwTotalItems = CoreAPI_FtaGetNumberOfTransport();

		if(REFRESH_LIST_DISPLAY_FIRST_ITEM == lParam)
			pList->moParam.mwFirstDisplayItem = 0;

		// Set list parameters.
		wTotalFiles = pList->moParam.mwTotalItems;

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

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

		// check the current transport
		wCurrTransport = CoreAPI_FtaGetCurrChannel();
		CoreAPI_FtaGetChannelInfo(wCurrTransport, &channelInfo); 
		wCurrTransport = channelInfo.uiTransportIdx;

		if(wNumVisibleItems > 0)
		{
			TRANSPORT_INFO transportInfo;            

			UINT16 wNextFileIndex = 0;
			UINT16 wszName[FTA_MAX_TRANSPORT_INFO_LEN];
			memset( wszName, '\0', sizeof(UINT16)*FTA_MAX_TRANSPORT_INFO_LEN);
			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( wNextFileIndex == wCurrTransport )
		                	MS_SetSelected(pItem);               

		                CoreAPI_FtaGetTransportInfo( wNextFileIndex, &transportInfo );

		                // get index
		                memset( wszName, '\0', sizeof(UINT16)*FTA_MAX_TRANSPORT_INFO_LEN);                                                
		                STR_GenerateNumericValue(wNextFileIndex , wszName, 0, 10);
		                OSDR_GetFormUniStr_Ram((FORMATED_UNICODE_STRING __NEAR*)&oFormUniStr, (UINT32)wszName);
		                pItem->moParam.mwData[FTA_TAB_TRANSPORT_INDEX_COLOMN] = OSDR_MallocScFormUniStr();
		                OSDR_SetScFormUniStr((FORMATED_UNICODE_STRING __NEAR*)&oFormUniStr, pItem->moParam.mwData[FTA_TAB_TRANSPORT_INDEX_COLOMN]);
#ifdef FTA_SATELLITE
		                // get LNB
		                memset( wszName, '\0', sizeof(UINT16)*FTA_MAX_TRANSPORT_INFO_LEN);                                                
		                STR_GenerateNumericValue(transportInfo.info.ulLnbSwitchFreq/1000 , wszName, 0, 10);
		                OSDR_GetFormUniStr_Ram((FORMATED_UNICODE_STRING __NEAR*)&oFormUniStr, (UINT32)wszName);
		                pItem->moParam.mwData[FTA_TAB_TRANSPORT_LNB_COLOMN] = OSDR_MallocScFormUniStr();
		                OSDR_SetScFormUniStr((FORMATED_UNICODE_STRING __NEAR*)&oFormUniStr, pItem->moParam.mwData[FTA_TAB_TRANSPORT_LNB_COLOMN]);

		                // get Transport ID
		                memset( wszName, '\0', sizeof(UINT16)*FTA_MAX_TRANSPORT_INFO_LEN);                                                
		                STR_GenerateNumericValue(transportInfo.info.ulFrequency/1000 , wszName, 0, 10);
		                OSDR_GetFormUniStr_Ram((FORMATED_UNICODE_STRING __NEAR*)&oFormUniStr, (UINT32)wszName);
		                pItem->moParam.mwData[FTA_TAB_TRANSPORT_REQ_COLOMN] = OSDR_MallocScFormUniStr();
		                OSDR_SetScFormUniStr((FORMATED_UNICODE_STRING __NEAR*)&oFormUniStr, pItem->moParam.mwData[FTA_TAB_TRANSPORT_REQ_COLOMN]);

		                // get symboul rate
		                memset( wszName, '\0', sizeof(UINT16)*FTA_MAX_TRANSPORT_INFO_LEN);                                                
		                STR_GenerateNumericValue(transportInfo.info.ulSymbolRate/1000, wszName, 0, 10);
		                OSDR_GetFormUniStr_Ram((FORMATED_UNICODE_STRING __NEAR*)&oFormUniStr, (UINT32)wszName);
		                pItem->moParam.mwData[FTA_TAB_TRANSPORT_SYMBOL_COLOMN] = OSDR_MallocScFormUniStr();
		                OSDR_SetScFormUniStr((FORMATED_UNICODE_STRING __NEAR*)&oFormUniStr, pItem->moParam.mwData[FTA_TAB_TRANSPORT_SYMBOL_COLOMN]);

		                // get polarty
		                memset( wszName, '\0', sizeof(UINT16)*FTA_MAX_TRANSPORT_INFO_LEN);

		                // POL = (uiWEPolModFec >> 9), 1 is vertical, 0 horizontal

		                if( ((transportInfo.info.uiWEPolModFec) >> 9 ) == 0 )
		                {                                       
		                    memcpy((WCHAR*)wszName, L"H" , 4);
		                }
		                else
		                {
		                    memcpy((WCHAR*)wszName, L"V" , 4);
		                }
		                OSDR_GetFormUniStr_Ram((FORMATED_UNICODE_STRING __NEAR*)&oFormUniStr, (UINT32)wszName);
		                pItem->moParam.mwData[FTA_TAB_TRANSPORT_POLAR_COLOMN] = OSDR_MallocScFormUniStr();
		                OSDR_SetScFormUniStr((FORMATED_UNICODE_STRING __NEAR*)&oFormUniStr, pItem->moParam.mwData[FTA_TAB_TRANSPORT_POLAR_COLOMN]);
#endif // FTA_SATELLITE
			}
		}
	}

	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;
    CHANNEL_INFO channelInfo;
    UINT16 wCurrChnl;

	pListDescriptor = ((MS_DESCRIPTOR_VSCROLL_LIST*)(pThis->mpDescriptor))->mpDescriptorVList;
	pList = (MSO_VLIST __NEAR*)MS_FindObjectFromDescriptor((MSO_CONTAINER __NEAR*)pThis,
														(MS_DESCRIPTOR *)pListDescriptor);
    pList->moParam.mwTotalItems = CoreAPI_FtaGetNumberOfTransport();
    
    // check the current transport
    if( CoreAPI_FtaIsChnlPlaying() )
    {
        wCurrChnl = CoreAPI_FtaGetCurrChannel();
        CoreAPI_FtaGetChannelInfo(wCurrChnl, &channelInfo); 
        pList->moParam.mwFirstDisplayItem = channelInfo.uiTransportIdx;
    }
   	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)
{    
    int iIndex;
	// Pre-processing
	switch(MsOp)
	{
	case MS_OP_EMPTY:

        for( iIndex = 0; iIndex < FTA_TAB_TRANSPORT_NUM_OF_COLUMNS; iIndex++)
        {
            if(NULL_HANDLE != ((MSO_LISTITEM __NEAR*)pThis)->moParam.mwData[iIndex])

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青青草国产精品亚洲专区无| 国产精品中文有码| 久久久久久久久免费| 日本乱码高清不卡字幕| 久久99精品久久久久久久久久久久| 亚洲色图.com| 久久综合久色欧美综合狠狠| 欧美亚洲综合色| eeuss鲁片一区二区三区在线看| 日韩在线a电影| 一区二区三区在线免费| 中文字幕欧美国产| 久久日一线二线三线suv| 日本高清不卡视频| 成人免费视频一区二区| 久久精品国产秦先生| 午夜成人在线视频| 亚洲精品国产a| 亚洲欧洲制服丝袜| 国产精品久久影院| 亚洲国产高清在线| 国产欧美一区二区精品忘忧草 | 国产婷婷色一区二区三区四区| 91精品国产aⅴ一区二区| 色乱码一区二区三区88| av在线不卡电影| 成人免费黄色在线| 从欧美一区二区三区| 国产成人一级电影| 成人污污视频在线观看| 国产精品911| 粉嫩欧美一区二区三区高清影视| 国产精品888| 国产成人免费在线视频| 国产电影一区在线| 成人免费va视频| 国产xxx精品视频大全| 国产69精品久久久久777| 国产91丝袜在线观看| 成人高清视频免费观看| 91丨九色丨黑人外教| 一本大道av一区二区在线播放| 96av麻豆蜜桃一区二区| 日本乱码高清不卡字幕| 欧美日韩五月天| 在线播放一区二区三区| 精品国产亚洲在线| 久久久91精品国产一区二区精品 | 亚洲欧美区自拍先锋| 一级做a爱片久久| 亚洲图片欧美一区| 蜜臀av在线播放一区二区三区| 麻豆精品一区二区综合av| 国产麻豆精品在线| 成人三级伦理片| 91国产免费观看| 337p亚洲精品色噜噜狠狠| 日韩欧美亚洲国产另类| 久久久一区二区三区| 亚洲欧洲成人自拍| 亚洲成人激情综合网| 久久97超碰国产精品超碰| 国产成人亚洲综合a∨猫咪| 91麻豆精品在线观看| 欧美肥妇bbw| 国产亚洲精品中文字幕| 一区二区三区日韩欧美| 蜜桃精品视频在线观看| 波多野结衣在线一区| 欧美日韩一区不卡| 国产三级一区二区| 亚洲国产一区视频| 久久精品国产精品亚洲综合| 99久久精品免费观看| 欧美猛男男办公室激情| 国产亚洲精品bt天堂精选| 亚洲午夜免费电影| 精品亚洲porn| 欧美中文字幕亚洲一区二区va在线 | 精品一区二区三区欧美| 99视频一区二区| 欧美成人艳星乳罩| 一区二区在线免费| 国产一区二区精品久久91| 99久久精品久久久久久清纯| 日韩欧美精品在线视频| 亚洲精品综合在线| 激情综合色播激情啊| 欧美在线制服丝袜| 国产精品无码永久免费888| 午夜久久久久久久久| 成人免费视频国产在线观看| 欧美精品日韩一本| 中文一区一区三区高中清不卡| 天天综合网 天天综合色| 成人动漫一区二区三区| 欧美电视剧在线观看完整版| 亚洲一区av在线| 丰满亚洲少妇av| 日韩视频一区在线观看| 亚洲一二三四区| av午夜一区麻豆| 精品99久久久久久| 日本不卡一二三| 色婷婷综合在线| 欧美激情综合在线| 久久99热99| 日韩视频一区在线观看| 亚洲成人动漫在线观看| 91国偷自产一区二区三区观看| 日本一区二区电影| 国产精品91一区二区| 精品国产伦一区二区三区免费 | 国产精品灌醉下药二区| 国产麻豆视频精品| 337p粉嫩大胆色噜噜噜噜亚洲 | 成人精品国产福利| 国产欧美日韩视频一区二区| 国内不卡的二区三区中文字幕| 91精品午夜视频| 天堂av在线一区| 欧美人妇做爰xxxⅹ性高电影| 一区二区三区在线高清| 91福利精品视频| 国产一区二区在线视频| 欧美成人一区二区三区| 久久99精品一区二区三区三区| 欧美一区二区三区免费在线看 | 国产女同性恋一区二区| 国产一二三精品| 国产日韩欧美一区二区三区综合| 国产激情视频一区二区三区欧美 | 精品一区二区三区视频在线观看| 日韩亚洲欧美一区| 久久精品国产亚洲一区二区三区| 日韩女同互慰一区二区| 国产做a爰片久久毛片| 久久久久久9999| 大陆成人av片| 日韩美女视频一区| 日本韩国精品一区二区在线观看| 亚洲尤物在线视频观看| 欧美日韩精品一二三区| 青青草原综合久久大伊人精品 | 成人免费在线播放视频| 99riav久久精品riav| 亚洲精品少妇30p| 欧美日韩在线播放一区| 蜜桃视频免费观看一区| 日韩精品一区二区三区视频| 国产乱妇无码大片在线观看| 欧美激情一区二区三区在线| 91丨九色丨国产丨porny| 亚洲第一久久影院| 2020国产精品| 99精品视频在线播放观看| 亚洲一区电影777| 精品欧美一区二区久久| 成人网男人的天堂| 精品日韩一区二区三区免费视频| 日韩精品福利网| 久久网这里都是精品| 不卡在线视频中文字幕| 亚洲综合激情另类小说区| 欧美一区二区三区日韩| 丰满白嫩尤物一区二区| 亚洲国产综合人成综合网站| 欧美成人福利视频| 成人高清视频免费观看| 午夜电影网亚洲视频| 国产亚洲午夜高清国产拍精品| 日本久久精品电影| 国产自产高清不卡| 亚洲一区电影777| 久久久国产一区二区三区四区小说| 91在线免费看| 免费久久99精品国产| 中文字幕在线一区| 欧美一区二区三区免费大片| 暴力调教一区二区三区| 日韩经典中文字幕一区| 国产三级精品三级在线专区| 欧美蜜桃一区二区三区| 成人av第一页| 久久精品免费观看| 一区二区三区在线免费| 国产亚洲欧美激情| 欧美一区三区四区| 色综合av在线| 成人午夜精品在线| 久久电影国产免费久久电影 | 日本va欧美va精品| 亚洲夂夂婷婷色拍ww47| 亚洲摸摸操操av| 日韩精品中午字幕| 欧美午夜视频网站| 成人动漫在线一区| 国产剧情一区在线| 秋霞影院一区二区| 一级女性全黄久久生活片免费|