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

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

?? o_bookmark.c

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

#ifdef DEBUG_UI_TRACE
#undef IFTRACE
#define IFTRACE if (gTraceUI)
#include "Debug\DbgMain.h"
#endif //DEBUG_UI_TRACE

#include "Include\SysDefs.h"

/***************************************************************************************
* Include files
****************************************************************************************/
#include <stdio.h>
#include <string.h>

#include "Playcore\coremain\coregdef.h"

#include "kernel\eventdef.h"
#include "kernel\ker_api.h"

#include "CoreAPI\CoreAPI.h"

#include "GUI\Menu_system\ms_object.h"
#include "GUI\Menu_system\osd_rendering.h"
#include "GUI\Menu_system\ms_display.h"
#include "GUI\Menu_system\ms_screen.h"
#include "GUI\Menu_system\ms_display.h"
#include "GUI\Menu_system\ms_component.h"

#include "GUI\Object_class\Text\mso_text.h"
#include "GUI\Object_class\Vlist\mso_vlist.h"
#include "Components\Bookmark\o_bookmark.h"
#include "GUI\Resource\Bitmap\bitmap.h"
#include "Menu\menu_operation_def.h"
#include "Library\String_generate.h"
#include "Menu_config\menu_config_common.h"

// Include configuration header file: named constants, macros and typedefs.
#include "Components\Bookmark\o_bookmark_config.h"
// Include custom header file: customer specific definitions, over-writing common ones.
#include "Components\custom\Bookmark\o_bookmark_custom.h"

#ifndef DEBUG_UI_TRACE
#undef dbg_printf(sMsg)
#define dbg_printf(sMsg)
#undef	dbgm_printf(sMsg, mode)
#define dbgm_printf(sMsg, mode)
#endif

/***************************************************************************************
* 	Utility functions
****************************************************************************************/
STATIC BOOL _AddItemsToBookmarkKit(MSO_VLIST __NEAR* pList);
STATIC BOOL _GetBookmarkTime(UINT8 uBookmark, UINT16* pwTime);
STATIC void _BookmarkGetValue(FORMATED_UNICODE_STRING __NEAR* pFormUniStr, UINT32 wParam);

/***************************************************************************************
* 	Operation functions
****************************************************************************************/
STATIC MS_OP _BookmarkComponentOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
STATIC MS_OP _BookmarkOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
STATIC MS_OP _BookmarkKitOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);
STATIC MS_OP _BookmarkkitVlistOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam);

/***************************************************************************************
* 	Display functions
****************************************************************************************/
STATIC BOOL _BookmarkComponentFillOSDSeg(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\Bookmark\o_bookmark_custom.c"
// Include configuration file: constants.
#include "Components\Bookmark\o_bookmark_config.c"

/***************************************************************************************
* 	Utility functions
****************************************************************************************/

/***************************************************************************************
*	Function 	: 	_AddItemsToBookmarkKit
*
*	In		:	pList		=	Pointer to the Searchkit MSO_VLIST.
*
*	Out		:
*
*	Desc 	:	
****************************************************************************************/
STATIC BOOL _AddItemsToBookmarkKit(MSO_VLIST __NEAR* pList)
{
	if(NULL != pList)
	{
		UINT8 cIndex;
		UINT8 cNumItems;
		UINT8 cTotalItemsInToolkit = MAX_BOOKMARKS;
		MSO_BOOKMARK_VALUE __NEAR* pBookmark;

		// Five bookmarks supported only for DVD.
#ifdef SUPPORT_FIVE_DVD_BOOKMARKS
		 if(IS_DISC_TYPE_DVD)
		 	cTotalItemsInToolkit = MAX_BOOKMARKS_FOR_DVD;
#endif // SUPPORT_FIVE_DVD_BOOKMARKS

		pList->moParam.mwTotalItems = cTotalItemsInToolkit;
		
		cNumItems = MIN(pList->moParam.mcNumVisibleItems, (pList->moParam.mwTotalItems - pList->moParam.mwFirstDisplayItem));
		
		for(cIndex = 0; cIndex < cNumItems; cIndex++)
		{			
			pBookmark = (MSO_BOOKMARK_VALUE __NEAR*)OVLIST_CreateAndAppendItem(pList, &oBookmarkValueDescriptor);
			MS_SendOperation((MSO_OBJECT __NEAR*)pBookmark, MS_OP_OPEN, 0);
			MS_SendOperation((MSO_OBJECT __NEAR*)pBookmark, MS_OP_INIT, (pList->moParam.mwFirstDisplayItem + cIndex + 1));						
		}			
		return TRUE;
	}	
	return FALSE;
}

/***************************************************************************************
*	Function 	: 	_GetBookmarkTime
*
*	In		:	
*
*	Out		:
*
*	Desc 	:	
****************************************************************************************/
STATIC BOOL _GetBookmarkTime(UINT8 uBookmark, UINT16* pwTime)
{
	BOOL retval = FALSE;

	if(IS_BOOKMARK_VALID(uBookmark))
	{
		switch(CoreAPI_GetCurrentMediaType())
		{
		case MEDIA_TYPE_DVD_VIDEO:	
		case MEDIA_TYPE_DVD_AUDIO:	
#ifdef DVD_VR_SUPPORT
		case MEDIA_TYPE_DVDVR:
#endif // DVD_VR_SUPPORT
		case MEDIA_TYPE_SVCD:
		case MEDIA_TYPE_VCD:
#if D_SUPPORT_SACD
		case MEDIA_TYPE_SACD:
#endif // D_SUPPORT_SACD
		case MEDIA_TYPE_CLIPS:			
			*pwTime = BOOKMARK_TIME(uBookmark);
			retval = TRUE;
		break;
		}
	}
	return retval;
}

/***************************************************************************************
*	Function 	: 	_BookmarkGetValue
*
*	In		:	
*
*	Out		:
*
*	Desc 	:	
****************************************************************************************/
STATIC void _BookmarkGetValue(FORMATED_UNICODE_STRING __NEAR* pFormUniStr, UINT32 wParam)
{
	UINT16 wSeconds;
	UINT8 cIndex = NUM_SPACES_BETWEEN_LABEL_AND_VALUE;

	MS_ASSERT(wParam <= MAX_BOOKMARKS); // Number of bookmarks supported

	// Get the "bookmark" label (language dependent).
	OSDR_GetFormUniStr_OsdMessage(pFormUniStr, S_BOOKMARK);

	// Tag a space on the end, followed by the bookmark number.
	pFormUniStr->mszUniStr[pFormUniStr->mcStrLength++] = UNICODE_SPACE;
	pFormUniStr->mszUniStr[pFormUniStr->mcStrLength++] = ((UINT8)wParam + 0x30);

	// Eight spaces
	while(0 != cIndex--)
		pFormUniStr->mszUniStr[pFormUniStr->mcStrLength++] = UNICODE_SPACE;
	
	pFormUniStr->mszUniStr[pFormUniStr->mcStrLength] = 0x0; // Termination.

	// Is the bookmark in the core valid?
	if(TRUE == _GetBookmarkTime((UINT8)wParam, &wSeconds))
		STR_GeneratePlaybackTime(wSeconds, &(pFormUniStr->mszUniStr[pFormUniStr->mcStrLength]), 
								0, (UNISTR_LENGTH_MAX + 1- pFormUniStr->mcStrLength));
	else
		STR_GenerateOSDMESSAGEString(S_EMPTY_TIME, &(pFormUniStr->mszUniStr[pFormUniStr->mcStrLength]), 
									0, (UNISTR_LENGTH_MAX + 1- pFormUniStr->mcStrLength));

	// Reformat the unicode string.
	OSDR_FormatUniString(pFormUniStr);
}

/***************************************************************************************
* 	Operation functions
****************************************************************************************/

/***************************************************************************************
*	Function 	: 	_BookmarkOperation
*
*	In		:
*
*	Out		:
*
*	Desc 	:	Operation function.
****************************************************************************************/
STATIC MS_OP _BookmarkOperation(MSO_OBJECT __NEAR* pThis, MS_OP MsOp, UINT32 lParam)
{
	MsOp = OTEXT_Operation(pThis, MsOp, lParam);

	// Post-processing
	switch(MsOp)
	{
	case MS_OP_ON_DEFROST:
	case MS_OP_INIT:
		{
			MSO_BOOKMARK_VALUE __NEAR* pBookmark = (MSO_BOOKMARK_VALUE __NEAR*)pThis;
			if (MS_OP_INIT == MsOp)
				pBookmark->moParam.mwBookmarkID = (UINT16)lParam;

			MS_SendOperation((MSO_OBJECT __NEAR*)pBookmark, MS_OP_BUILD_TEXT_STRING, (UINT32)pBookmark->moParam.mwBookmarkID);
		}
		return MS_OP_NONE;
		
	case MS_OP_ENTER:
		{
			MSO_BOOKMARK_VALUE __NEAR* pBookmark = (MSO_BOOKMARK_VALUE __NEAR*)pThis;

			if(IS_BOOKMARK_VALID((UINT8)pBookmark->moParam.mwBookmarkID))
			{
				//Prohibiting is only a temporary solution and need improving.
				if(PST_SCAN == CoreAPI_GetPlayState() || PST_SLOW == CoreAPI_GetPlayState())
				{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品乱人伦一区二区三区| 6080日韩午夜伦伦午夜伦| 国产欧美日韩另类一区| 国产91精品免费| 国产欧美日韩麻豆91| 99国产精品视频免费观看| 亚洲精品视频一区二区| 欧美亚洲综合网| 视频一区二区中文字幕| 精品免费视频.| 成人免费毛片高清视频| 夜夜嗨av一区二区三区| 在线不卡免费欧美| 国产精品资源在线观看| 亚洲你懂的在线视频| 欧美精品第1页| 国产精品一区免费视频| 一区二区三区资源| 精品国产三级a在线观看| 成人精品一区二区三区中文字幕| 一卡二卡欧美日韩| 精品久久久久久无| 在线欧美日韩精品| 国产伦精品一区二区三区在线观看| 国产精品狼人久久影院观看方式| 欧美视频一区二区三区在线观看 | 色婷婷亚洲一区二区三区| 亚洲成人第一页| 久久精品人人爽人人爽| 欧美亚洲一区二区在线| 精品在线免费视频| 亚洲欧洲中文日韩久久av乱码| 日韩三级在线观看| 91视频你懂的| 国产一区二区三区久久久| 亚洲自拍另类综合| 国产精品无圣光一区二区| 91精品国产手机| 色狠狠av一区二区三区| 激情五月播播久久久精品| 亚洲综合一区二区| 国产三级精品视频| 欧美一区二区三区系列电影| 色综合久久久久网| 国产成人精品免费| 另类小说一区二区三区| 亚洲国产中文字幕在线视频综合| 国产精品乱人伦中文| 精品久久人人做人人爰| 国产亚洲成av人在线观看导航| 91精品久久久久久久久99蜜臂| 99久久婷婷国产| 国产精品亚洲专一区二区三区 | 日韩理论片网站| 久久综合色婷婷| 欧美一区二区免费视频| 欧美系列在线观看| 91色.com| 91女神在线视频| 成人小视频在线观看| 国产精品影视在线| 国产一区二区三区免费观看| 久久99久久99精品免视看婷婷 | 一区二区三区四区中文字幕| 国产精品国产成人国产三级| 国产免费久久精品| 久久亚洲一级片| 精品国产不卡一区二区三区| 日韩欧美电影一区| 精品久久人人做人人爱| 日韩免费观看2025年上映的电影| 欧美三级乱人伦电影| 欧美在线视频你懂得| 欧美亚洲综合网| 欧美午夜片在线看| 欧美日韩一区二区在线观看 | 美国毛片一区二区三区| 奇米影视一区二区三区| 日本vs亚洲vs韩国一区三区二区| 偷拍与自拍一区| 青青草原综合久久大伊人精品优势| 五月天亚洲婷婷| 琪琪一区二区三区| 老司机精品视频一区二区三区| 久久丁香综合五月国产三级网站| 麻豆国产欧美一区二区三区| 国内精品免费**视频| 国产不卡视频在线播放| www.欧美日韩| 欧美在线短视频| 日韩限制级电影在线观看| 精品国产91洋老外米糕| 国产午夜精品久久久久久免费视| 国产精品免费久久久久| 一区二区三区精品久久久| 天天综合色天天| 国内精品伊人久久久久av一坑 | 亚洲成人免费观看| 日韩av电影天堂| 国内精品嫩模私拍在线| 99精品桃花视频在线观看| 欧美视频在线不卡| 亚洲精品一区二区三区在线观看| 国产日本欧美一区二区| 亚洲精品视频在线观看网站| 丝瓜av网站精品一区二区| 精品一区二区影视| 97se亚洲国产综合在线| 欧美日韩精品一区二区三区蜜桃| 日韩三区在线观看| 国产精品视频看| 亚洲v日本v欧美v久久精品| 韩国女主播成人在线| www.欧美日韩国产在线| 欧美一区二区精品| 亚洲欧洲精品一区二区三区不卡| 首页国产欧美久久| 国产成人午夜99999| 欧美日韩中字一区| 国产精品免费观看视频| 日韩成人午夜精品| 99精品热视频| 日韩女优毛片在线| 亚洲一区精品在线| 国产福利精品一区二区| 欧美日本一道本在线视频| 日本一区二区免费在线观看视频| 午夜欧美电影在线观看| www.亚洲精品| xnxx国产精品| 免费的国产精品| 欧美亚洲丝袜传媒另类| 日韩电影网1区2区| 在线视频综合导航| 中文字幕欧美日韩一区| 精品一区二区三区免费毛片爱| 欧美主播一区二区三区| 国产精品毛片高清在线完整版 | 视频一区在线视频| 99久久99久久久精品齐齐| 久久天天做天天爱综合色| 香港成人在线视频| 色网综合在线观看| 国产欧美久久久精品影院| 全部av―极品视觉盛宴亚洲| 欧美系列在线观看| 中文字幕亚洲一区二区va在线| 精品在线你懂的| 日韩欧美一级在线播放| 亚洲成人av福利| 色哟哟一区二区| 中文字幕一区在线| 成人a免费在线看| 国产色婷婷亚洲99精品小说| 狠狠狠色丁香婷婷综合久久五月| 欧美日本高清视频在线观看| 亚洲精品免费看| 日本精品一级二级| 国产精品国产三级国产有无不卡| 国产精品1区2区| 久久精品一二三| 国产91对白在线观看九色| 久久久三级国产网站| 国产一区二区三区免费观看| 精品人在线二区三区| 91精品在线麻豆| 日韩中文字幕亚洲一区二区va在线| 欧美色欧美亚洲另类二区| 亚洲一区影音先锋| 欧美日韩一区二区三区不卡| 亚洲va韩国va欧美va| 欧美日韩国产一级| 日韩在线一区二区三区| 日韩亚洲欧美中文三级| 久久99久久99小草精品免视看| 精品日韩欧美一区二区| 国产在线精品免费av| 国产精品午夜电影| 色综合天天综合色综合av| 一区二区三区日韩| 91精品国产色综合久久久蜜香臀| 久久精品国产亚洲aⅴ| 久久午夜老司机| 99精品视频在线观看免费| 亚洲制服欧美中文字幕中文字幕| 欧美群妇大交群中文字幕| 久久av中文字幕片| 中文字幕在线播放不卡一区| 欧美三片在线视频观看| 看电视剧不卡顿的网站| 国产精品免费网站在线观看| 91久久国产最好的精华液| 日韩精品国产精品| 久久一区二区三区四区| 91丨国产丨九色丨pron| 石原莉奈在线亚洲三区| 国产视频一区二区三区在线观看| 色综合久久久久综合体桃花网| 日韩精品三区四区| 中文字幕在线免费不卡|