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

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

?? o_fta_selection.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_FTA_Selection.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 "Menu_config\menu_config_common.h"
#include "GUI\Object_class\Text\mso_text.h"

// Include the module header file
#include "Components\FTA_Selection\o_FTA_Selection.h"
// Include configuration header file: named constants, macros and typedefs.
#include "Components\FTA_Selection\o_FTA_Selection_config.h"
// Include custom header file: customer specific definitions, over-writing common ones.
#include "Components\Custom\FTA_Selection\o_FTA_Selection_custom.h"

#define  FTA_MAX_CHANNEL_NAME_LEN           CHANNEL_NAME_MAX_LENGTH+1
/****************************************************************************************
* 			public functions
*****************************************************************************************/
MSO_OBJECT __NEAR* OpenFTASelection(MSO_CONTAINER __NEAR* pContainer, FTA_SELECTION_TYPE eType);

/****************************************************************************************
*	operation handlers
*****************************************************************************************/
static UINT16 _SelectChannel(MSO_OBJECT __NEAR* pThis);
static UINT16 _GetFavoriteItemIndex(MSO_OBJECT __NEAR* pThis, UINT16 wIndex, UINT16 wStartIndex);
/****************************************************************************************
*	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 _TitleNameOperation(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_Selection\o_FTA_Selection_custom.c"
// Include configuration file: constants.
#include "Components\FTA_Selection\o_FTA_Selection_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);
	
	if (FTA_SELECTION_FAVORITE ==  ((MSO_FTA_SELECTION __NEAR*)MS_GetParentPtr(pThis))->moParam.mtSelectionType)
		pList->moParam.mwTotalItems = CoreAPI_FtaGetCurrFavoriteChNums();
	else
		pList->moParam.mwTotalItems = CoreAPI_FtaGetNumberOfChannels();

	{
		UINT16  	wRestFiles;
		UINT16	wNumVisibleItems;
		UINT16 	wTotalFiles;

		if(REFRESH_LIST_DISPLAY_FIRST_ITEM == lParam)
			pList->moParam.mwFirstDisplayItem = 0;
		else if (REFRESH_LIST_DISPLAY_REMOVE_ITEM == lParam)
		{
			if ((pList->moParam.mwFirstDisplayItem >= CoreAPI_FtaGetCurrFavoriteChNums())
			&& (0 != CoreAPI_FtaGetCurrFavoriteChNums())) // To display first page
				pList->moParam.mwFirstDisplayItem -= pList->moParam.mcNumVisibleItems;
		}
		/*else
		{
			if( FTA_GetStatus() == FTA_STATUS_PLAYING )
			{
				pList->moParam.mwFirstDisplayItem = FTA_GetCurrChannel();
			}
		}*/
		// Set list parameters.

		wTotalFiles = pList->moParam.mwTotalItems;

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

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

		if(wNumVisibleItems > 0)
		{
			CHANNEL_INFO channelInfo;
			UINT16 wCurrFavoriteStartIndex;

			UINT16 wNextFileIndex = 0;
			UINT16 wszName[FTA_MAX_CHANNEL_NAME_LEN];
			memset(wszName, '\0', sizeof(UINT16) * FTA_MAX_CHANNEL_NAME_LEN);

			wNum = MIN(wNumVisibleItems, wRestFiles);
			// According 	mwFirstDisplayItem value to get obsulte item index	
			wCurrFavoriteStartIndex = _GetFavoriteItemIndex(pThis, wIndex + 1, 0);
			
			for(wCount = 0; wCount < wNum; wCount++)
			{	
				if (FTA_SELECTION_FAVORITE == ((MSO_FTA_SELECTION __NEAR*)MS_GetParentPtr(pThis))->moParam.mtSelectionType)
				{
					// According wCurrFavoriteStartIndex and wCount value to get File Index
					wNextFileIndex = _GetFavoriteItemIndex(pThis, wCount + 1, wCurrFavoriteStartIndex);
				}
				else
					wNextFileIndex = wCount + wIndex;//-1;


				pItem = (MSO_LISTITEM __NEAR*)OVLIST_CreatAndAddItem((MSO_OBJECT __NEAR*)pList,
														(MS_DESCRIPTOR *)&oDescriptorListItem,
														TRUE, FALSE);
				pItem->moParam.mwIndex = wNextFileIndex;
				if( CoreAPI_FtaGetCurrChannel() == wNextFileIndex  )
				{
					MS_SetSelected(pItem);
				}
				CoreAPI_FtaGetChannelInfo(wNextFileIndex, &channelInfo);
				memcpy((WCHAR*)wszName, channelInfo.szChannelName, FTA_MAX_CHANNEL_NAME_LEN);
				if( CoreAPI_FtaIsVideoChannel( wNextFileIndex ))
				{
					pItem->moParam.eType = FTA_SEL_CHANNEL_TYPE_VIDEO;                    
				}
				else
				{
					pItem->moParam.eType = FTA_SEL_CHANNEL_TYPE_RADIO;
				}
				// To add icon to favorite channel in list
				if (CoreAPI_FtaIsFavoriteChannel(wNextFileIndex) 
					&& (FTA_SELECTION_FAVORITE != ((MSO_FTA_SELECTION __NEAR*)MS_GetParentPtr(pThis))->moParam.mtSelectionType))
					pItem->moParam.bIsFavorite = TRUE;
				else
					pItem->moParam.bIsFavorite = FALSE;
					
					
				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;


	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_FtaGetNumberOfChannels();
	if( CoreAPI_FtaIsChnlPlaying() )
	{
		pList->moParam.mwFirstDisplayItem = CoreAPI_FtaGetCurrChannel();
	}
	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)
	{
	case MS_OP_EMPTY:
		if(NULL_HANDLE != ((MSO_LISTITEM __NEAR*)pThis)->moParam.mwData)
		{
			OSDR_FreeScFormUniStr(((MSO_LISTITEM __NEAR*)pThis)->moParam.mwData);
			((MSO_LISTITEM __NEAR*)pThis)->moParam.mwData = NULL_HANDLE;
		}
        	break;
		
	case MS_OP_FTA_TAB_ADD:
		{
			CHANNEL_INFO chInfo;
			MSO_FTA_SELECTION __NEAR* pSelectionObject = (MSO_FTA_SELECTION __NEAR*)MS_FindAncestor(pThis, &oDescriptorFTASelection);
			if (FTA_SELECTION_FAVORITE != pSelectionObject->moParam.mtSelectionType)
			{
				if (!CoreAPI_FtaIsFavoriteChannel(((MSO_LISTITEM __NEAR*)pThis)->moParam.mwIndex))
				{
					CoreAPI_FtaGetChannelInfo(((MSO_LISTITEM __NEAR*)pThis)->moParam.mwIndex, &chInfo);
					chInfo.mwAttr |= FTA_CHANNEL_FAVORITE_ATTR;
					MS_SendOp(MS_OP_MSG_ADD_CHANNEL_TO_FAVORITE, 0);
					CoreAPI_FtaUpdateChannelList(((MSO_LISTITEM __NEAR*)pThis)->moParam.mwIndex, &chInfo);
					((MSO_LISTITEM __NEAR*)pThis)->moParam.bIsFavorite = TRUE;
					MS_DisplayAddObject(pThis); 
				}
				else 
					MS_SendOp(MS_OP_MSG_CHANNEL_ALREADY_IN_FAVORITE, 0);
			}
			else
			{
				PROHIBIT(MSG_PROHIBIT_NOT_ALLOWED_NOW);
			}
		}
		return MS_OP_NONE;
		
	case MS_OP_FTA_TAB_DELETE:
		{
			if (CoreAPI_FtaIsFavoriteChannel(((MSO_LISTITEM __NEAR*)pThis)->moParam.mwIndex))
			{
				CHANNEL_INFO chInfo;
				MSO_FTA_SELECTION __NEAR* pSelectionObject = (MSO_FTA_SELECTION __NEAR*)MS_FindAncestor(pThis, &oDescriptorFTASelection);
				CoreAPI_FtaGetChannelInfo(((MSO_LISTITEM __NEAR*)pThis)->moParam.mwIndex, &chInfo);
				chInfo.mwAttr &= ~FTA_CHANNEL_FAVORITE_ATTR;
				MS_SendOp(MS_OP_MSG_REMOVE_CHANNEL_FROM_FAVORITE, 0);
				CoreAPI_FtaUpdateChannelList(((MSO_LISTITEM __NEAR*)pThis)->moParam.mwIndex, &chInfo);
				if (FTA_SELECTION_FAVORITE != pSelectionObject->moParam.mtSelectionType)
				{
					((MSO_LISTITEM __NEAR*)pThis)->moParam.bIsFavorite = FALSE;
					MS_DisplayAddObject(pThis); 
				}
				else
				{
					if (0 != CoreAPI_FtaGetCurrFavoriteChNums())
						MS_SendOperation((MSO_OBJECT __NEAR*)pSelectionObject, MS_OP_REFRESH, REFRESH_LIST_DISPLAY_REMOVE_ITEM);
					else // If current favorite channels number is 0
						MS_SendOperation((MSO_OBJECT __NEAR*)pSelectionObject, MS_OP_CLOSE_PARENT, 0);
				}
			}
			else
			{
				PROHIBIT(MSG_PROHIBIT_NOT_ALLOWED_NOW);
			}
		}
		return MS_OP_NONE;

	case MS_OP_FOCUS_CHANGE:
		MS_DisplayAddObject(pThis);
		break;

	case MS_OP_PLAY:
	case MS_OP_ENTER:
		_SelectChannel(pThis);
		return MS_OP_FTA_SELECTION_FINISHED;
    default:
		break;;
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品视频在线观看免费| 午夜国产不卡在线观看视频| 在线观看视频一区| 狠狠色狠狠色综合日日91app| 中文字幕一区三区| 日韩三级视频中文字幕| av一二三不卡影片| 狠狠色丁香久久婷婷综合丁香| 一区二区三区欧美日韩| 国产午夜精品一区二区三区四区| 欧美日韩视频在线一区二区| 成人av免费网站| 麻豆视频观看网址久久| 亚洲国产日韩综合久久精品| 中文一区二区完整视频在线观看 | 国产精品66部| 日韩成人av影视| 亚洲图片有声小说| 中文字幕色av一区二区三区| 国产午夜精品一区二区三区视频| 337p亚洲精品色噜噜狠狠| 色婷婷狠狠综合| k8久久久一区二区三区| 国产91精品一区二区麻豆亚洲| 麻豆精品视频在线观看视频| 天天综合色天天| 亚洲午夜国产一区99re久久| 亚洲自拍偷拍九九九| 日韩美女视频一区二区| 国产精品白丝在线| 国产精品视频免费看| 久久久99精品久久| 久久网站最新地址| 久久奇米777| 久久久另类综合| 久久久久久毛片| 26uuu亚洲综合色欧美| 精品久久一二三区| 精品国产乱码久久久久久牛牛| 91精品国产高清一区二区三区蜜臀 | 国产99久久久精品| 国产精品一二三区在线| 国产最新精品免费| 国产精品18久久久久久久久| 激情小说亚洲一区| 国产乱码精品一区二区三区av | 欧美日韩精品二区第二页| 欧美日韩中字一区| 7777精品伊人久久久大香线蕉的| 欧美另类高清zo欧美| 欧美一区二区福利视频| 欧美sm美女调教| 久久精品亚洲国产奇米99| 国产欧美视频一区二区| 国产精品国产三级国产有无不卡 | 欧美日韩一区二区三区在线| 7777精品久久久大香线蕉| 日韩精品一区二区三区在线 | 色狠狠av一区二区三区| 欧美色电影在线| 欧美一级日韩免费不卡| 久久久不卡影院| 中文字幕在线观看一区| 亚洲午夜久久久久久久久电影院| 天使萌一区二区三区免费观看| 蜜桃久久av一区| 国产成人免费xxxxxxxx| 91免费视频观看| 911国产精品| 国产拍揄自揄精品视频麻豆| 亚洲免费观看高清完整| 日韩成人午夜精品| 成人黄色国产精品网站大全在线免费观看 | 午夜精品福利一区二区三区av| 精品中文av资源站在线观看| 成人深夜在线观看| 欧美日韩美少妇| 精品国产制服丝袜高跟| 亚洲欧洲精品天堂一级 | 波多野结衣中文字幕一区 | 欧美男人的天堂一二区| 国产三级精品视频| 亚洲第一搞黄网站| 国产精品69毛片高清亚洲| 欧美三级资源在线| 久久久噜噜噜久久人人看| 一区二区三区日韩欧美| 国产九色精品成人porny| 在线观看av一区| 久久久久久久久久看片| 亚洲成a人片在线观看中文| 福利一区福利二区| 欧美一区二区三区免费| 日韩久久一区二区| 国内久久婷婷综合| 欧美三区在线观看| 自拍偷自拍亚洲精品播放| 久久电影网电视剧免费观看| 91九色最新地址| 欧美国产精品中文字幕| 老司机免费视频一区二区三区| 色综合久久中文字幕| 久久精品免费在线观看| 日韩经典中文字幕一区| 99亚偷拍自图区亚洲| 亚洲精品一区二区三区四区高清| 亚洲福利一二三区| aaa国产一区| 国产欧美日韩综合| 久久国产麻豆精品| 欧美人与禽zozo性伦| 亚洲欧洲综合另类在线 | 日韩午夜三级在线| 亚洲国产精品久久久久婷婷884 | 91麻豆国产自产在线观看| 久久综合久久综合亚洲| 日本午夜一区二区| 88在线观看91蜜桃国自产| 亚洲一区二区三区四区不卡| 本田岬高潮一区二区三区| 久久久久久久av麻豆果冻| 久久国产综合精品| 欧美一区二区大片| 蜜臂av日日欢夜夜爽一区| 欧美日韩你懂的| 亚洲五码中文字幕| 欧美日韩和欧美的一区二区| 樱桃视频在线观看一区| 91美女片黄在线观看| 综合久久久久久久| 91原创在线视频| 亚洲欧美精品午睡沙发| 91香蕉视频在线| 日韩毛片视频在线看| 色综合中文字幕| 亚洲美女屁股眼交3| 色先锋久久av资源部| 亚洲美女少妇撒尿| 欧美日韩精品免费| 免费看日韩精品| 欧美成人vr18sexvr| 韩国女主播一区二区三区| 久久一区二区三区四区| 国产精品正在播放| 中日韩av电影| 97se亚洲国产综合自在线不卡| 中文字幕五月欧美| 欧美影院一区二区三区| 日韩精品乱码免费| 精品久久国产字幕高潮| 国产精品911| 亚洲色图制服诱惑| 欧美二区在线观看| 久久不见久久见中文字幕免费| 精品盗摄一区二区三区| 国产成人免费视频网站高清观看视频 | 亚洲精品成人天堂一二三| 欧美性生交片4| 久久精品国产在热久久| 国产情人综合久久777777| 色av成人天堂桃色av| 日本成人超碰在线观看| 久久久久久久久免费| 一本大道久久a久久精品综合| 午夜不卡在线视频| 欧美精品一区二区三区一线天视频 | 亚洲视频一区二区免费在线观看| 欧洲精品在线观看| 免费观看一级欧美片| 欧美激情一区二区在线| 在线观看亚洲一区| 韩国精品在线观看| 亚洲欧美综合色| 欧美一区二区三区小说| 成人免费毛片片v| 亚洲h动漫在线| 国产日韩影视精品| 欧美视频中文一区二区三区在线观看 | 国产欧美一区二区精品久导航| 在线视频你懂得一区二区三区| 青草av.久久免费一区| 国产精品久久久久久久久果冻传媒| 欧美日韩久久一区二区| 国产寡妇亲子伦一区二区| 亚洲大片在线观看| 欧美激情自拍偷拍| 日韩一区二区三区电影在线观看| 国产成人在线免费观看| 亚洲成年人影院| 亚洲国产精品黑人久久久| 欧美日韩一区 二区 三区 久久精品| 国内精品国产成人国产三级粉色 | 国产真实乱偷精品视频免| 亚洲精品高清视频在线观看| 久久久亚洲精华液精华液精华液| 色婷婷国产精品综合在线观看| 国产精品资源网站| 久久精品国产亚洲a| 亚洲国产日韩精品| 日本韩国一区二区三区视频|