⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 slideplay.c

📁 M3355的源代码
💻 C
📖 第 1 页 / 共 4 页
字号:
        {
            ShowDiscInfo(MSG_OPEN, MSG_NULL);
        }
 
        if ((ExtInputProc(EXT_INPUT_QUERY, &PlaceHolder) == EXT_TYPE_PREVONCE)
                ||(ExtInputProc(EXT_INPUT_QUERY, &PlaceHolder) == EXT_TYPE_PREVMORE))
        {
            IsWaitPrev=FALSE;
            CmdUIMsg(C_PLAYBACK_MANAGE, C_UI_NEXTPRE);
        }
        if ((ExtInputProc(EXT_INPUT_QUERY, &PlaceHolder) == EXT_TYPE_NUM) || (ExtInputProc(EXT_INPUT_QUERY, &PlaceHolder) == EXT_TYPE_10_PLUS_OVER))
        {
            NextPrevStatus=1;
            NumberPlayProc();
        }
        break;
    default:
        break;
    }
}

#ifdef _BRIGHT_ENABLE_
extern BYTE BrightContrastSharpRespondTimer(DWORD MsgInput);
extern BYTE (*ptr_BrightContrastSharpRespondTimer)(DWORD MsgInput);
/*--------------------------------------------------------------------
 * Function_Name BrightContrastSharp_Proc
 *
 * Description:
 *           proc msg on BrightContrastSharp gui
 * Arguments: 
 *                     
 *------------------------------------------------------------------*/
void SlideBrightContrastSharp_Proc( WORD MsgType, DWORD MsgInput )
{
    WORD iCurPic, iTotalPic;
	switch(MsgType)
    {
    case C_TIMER_ACTIVE:
		if(MsgInput==C_ZOOM_TIMER)
		{
        	ClearRectArea(gui_hdc, GUITYPE_ZOOM);
			gZoomFuncPlus=FALSE;
        	SetTimer(OSD2_TM_ID, CancelZoom, INFINITETIME);
		}
		else
		{
			ptr_BrightContrastSharpRespondTimer = BrightContrastSharpRespondTimer;
			(*ptr_BrightContrastSharpRespondTimer)(C_KARAOKE_TIMER);
			if(bZoomCount == ZOOMNORMAL)
			{
				gAuxParam.bDrawSlideShowHelp=&bDrawSlideShowHelp;
       			iTotalPic=FileOpenMenuGetTTNs();
				iCurPic = wShowedNum+1;
				gAuxParam.iCurPic = &iCurPic;
       			gAuxParam.iTotalPic=&iTotalPic;
       			MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_INIT, &gAuxParam);
       			bZoomBrightFlag=ZOOMBRIGHT_NONE;
			}
			else
			{
				bZoomBrightFlag=ZOOMBRIGHT_ZOOM;
			}
		}

		if((MsgInput==C_ZOOM_TIMER)||(bZoomCount == ZOOMNORMAL))
		{
			if(g_UiCoreState==UI_CORE_PLAY)
			{
       			gAuxParam.bDrawSlideShowHelp=&bDrawSlideShowHelp;
       			iTotalPic=FileOpenMenuGetTTNs();
				iCurPic = wShowedNum+1;
				gAuxParam.iCurPic = &iCurPic;
       			gAuxParam.iTotalPic=&iTotalPic;
       			MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_INIT, &gAuxParam);
       			SendVFDPart1Show();
			}
		}
		break;
    case C_FP_KEY:
        SlideBrightContrastSharp_RespondFPKey(MsgInput );
        break;
    default:
		SlideProc(MsgType,MsgInput);
        break;
	}
}

extern BYTE BrightContrastSharpRespondFPKey(DWORD MsgInput);
extern BYTE (*ptr_BrightContrastSharpRespondFPKey)(DWORD MsgInput);
void SlideBrightContrastSharp_RespondFPKey(DWORD UserKey)
{
    WORD iCurPic, iTotalPic;
	extern WORD zoomnum;
	extern unsigned char bzoomokflag;
	extern BYTE jpgfadinshowflag;

	ScrSaver(SCRSAVER_CANCEL);
    	
    switch ( UserKey )
    {
	case V_KEY_VOLDOWN:
		ptr_BrightContrastSharpRespondTimer = BrightContrastSharpRespondTimer;
		(*ptr_BrightContrastSharpRespondTimer)(C_KARAOKE_TIMER);
		if(bZoomCount == ZOOMNORMAL)
		{
			gAuxParam.bDrawSlideShowHelp=&bDrawSlideShowHelp;
       		iTotalPic=FileOpenMenuGetTTNs();
			iCurPic = wShowedNum+1;
			gAuxParam.iCurPic = &iCurPic;
       		gAuxParam.iTotalPic=&iTotalPic;
       		MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_INIT, &gAuxParam);
       		bZoomBrightFlag=ZOOMBRIGHT_NONE;
		}
		else
		{
			bZoomBrightFlag=ZOOMBRIGHT_ZOOM;
		}
		break;
	case V_KEY_CLEAR:
		if(bZoomCount != ZOOMNORMAL)
		{
        bZoomCount = ZOOMNORMAL;

            RunZoom();
				if(zoomnum!=0xffff)
				{
#if(_JPEG_ZOOM_MODE==_JPG_ZOOM_ENABLE)
					jpgrunzoom();
#endif
					zoomnum = 0xffff;
					bzoomokflag = 1;
				}
            ModifyZoomOSD(V_KEY_CLEAR);
            SetTimer(OSD2_TM_ID, CancelZoom, INFINITETIME);
	        gZoomFuncPlus=FALSE;
		}
		ptr_BrightContrastSharpRespondTimer = BrightContrastSharpRespondTimer;
		(*ptr_BrightContrastSharpRespondTimer)(C_KARAOKE_TIMER);
			gAuxParam.bDrawSlideShowHelp=&bDrawSlideShowHelp;
       		iTotalPic=FileOpenMenuGetTTNs();
			iCurPic = wShowedNum+1;
			gAuxParam.iCurPic = &iCurPic;
       		gAuxParam.iTotalPic=&iTotalPic;
       		MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_INIT, &gAuxParam);
       		bZoomBrightFlag=ZOOMBRIGHT_NONE;
		break;
	case V_KEY_STOP:
		ptr_BrightContrastSharpRespondTimer = BrightContrastSharpRespondTimer;
		(*ptr_BrightContrastSharpRespondTimer)(C_KARAOKE_TIMER);
		if(bZoomCount != ZOOMNORMAL)
		{
			CloseZoom();
		}
       	bZoomBrightFlag=ZOOMBRIGHT_NONE;
		SlideRespondFPKey(UserKey);
		break;
    case V_KEY_ZOOM:
//    	MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_CLOSE, &gAuxParam);
			if(CanZoom())
				return;
		if(bZoomCount==ZOOMNORMAL)
		{
			SlideV_KEY_ZOOM();
			break;
		}
    	
		if(NVChkZoomEnable()==FALSE)//benjamin add
			return UI_IS_FUNC_MSG;
			if(bzoomokflag)//benjamin add
				return UI_IS_FUNC_MSG;
			if(jpgfadinshowflag)//now is fadin show the jpg
				return UI_IS_FUNC_MSG;
			NVPlayModeChg(0x26,0);//benjamin add
        bZoomCount++;

#if (_SW_SCREEN_FIT==_SW_SCREEN_FIT_ENABLE)
        if (bZoomCount == 3)
        {
        	if ( (NoZoomDspMode==Letterbox) || (NoZoomDspMode == Panscan) ) //031023 Panscan dead temp fixed
        	{
        	}
        	else
        	{
		            bZoomHRatio = 0;
		            bZoomVRatio = 0;
        	}
        }
        else if (bZoomCount > 3)
#else
        if (bZoomCount >= 3)
#endif
        {
            bZoomCount = ZOOMNORMAL;
        }

        if (bZoomCount == ZOOMNORMAL)
        {

            RunZoom();
				if(zoomnum!=0xffff)
				{
#if(_JPEG_ZOOM_MODE==_JPG_ZOOM_ENABLE)
					jpgrunzoom();
#endif
					zoomnum = 0xffff;
					bzoomokflag = 1;
				}
            ModifyZoomOSD(V_KEY_CLEAR);
            SetTimer(OSD2_TM_ID, CancelZoom, INFINITETIME);
//			Send_UI_Message(0x46,0,0);//show slide show help 
//			Send_UI_Message(C_SLIDESHOW_HELP, 0, 0); //changed by chena, Aug. 18, 2004

			//-->Alan, disable below line for bug 161 and 177
			//Send_UI_Message(C_FP_KEY, V_KEY_DOWN, 0);  

			gAuxParam.bDrawSlideShowHelp=&bDrawSlideShowHelp;
       		iTotalPic=FileOpenMenuGetTTNs();
			iCurPic = wShowedNum+1;
			gAuxParam.iCurPic = &iCurPic;
       		gAuxParam.iTotalPic=&iTotalPic;
       		MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_INIT, &gAuxParam);
	        gZoomFuncPlus=FALSE;
        }
        else
        {
            bZoomXOffset = 0;
            bZoomYOffset = 0;
            ModifyZoomOSD(UserKey);//31217_01 Sean update for LA new Zoom Spec.
            RunZoom();
            gZoomFuncPlus=TRUE;

			if(bZoomCount==3)
			{
					if(zoomnum!=0xffff)
					{
#if(_JPEG_ZOOM_MODE==_JPG_ZOOM_ENABLE)
						jpgrunzoom();
#endif
						zoomnum = 0xffff;
						bzoomokflag = 1;

					}
			gZoomFuncPlus=FALSE;

			}
        }
        break;
	case V_KEY_NEXT:
		SlideV_KEY_NEXT();
		break;
	case V_KEY_PREV:
		SlideV_KEY_PREV();
		break;
    case V_KEY_OPEN:
	case V_KEY_POWER:
	case V_KEY_SETUP:
		ptr_BrightContrastSharpRespondTimer = BrightContrastSharpRespondTimer;
		(*ptr_BrightContrastSharpRespondTimer)(C_KARAOKE_TIMER);
		SlideRespondFPKey(UserKey);    		
    	break;	
    case V_KEY_UP:
    case V_KEY_DOWN:
    case V_KEY_RIGHT:
    case V_KEY_LEFT:
		ptr_BrightContrastSharpRespondFPKey = BrightContrastSharpRespondFPKey;
		(*ptr_BrightContrastSharpRespondFPKey)(UserKey);
    	break;
	case V_KEY_RETURN:
		if(bZoomCount == ZOOMNORMAL)
		{
			SlideV_KEY_RETURN();
		}
		break;
    default:
		if(UserKey==V_KEY_PAUSE||(UserKey==V_KEY_PLAY&&g_UiCoreState == UI_CORE_PAUSE))
		{
			ptr_BrightContrastSharpRespondTimer = BrightContrastSharpRespondTimer;
			(*ptr_BrightContrastSharpRespondTimer)(C_KARAOKE_TIMER);
			if(bZoomCount == ZOOMNORMAL)
			{
				gAuxParam.bDrawSlideShowHelp=&bDrawSlideShowHelp;
       			iTotalPic=FileOpenMenuGetTTNs();
				iCurPic = wShowedNum+1;
				gAuxParam.iCurPic = &iCurPic;
       			gAuxParam.iTotalPic=&iTotalPic;
       			MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_INIT, &gAuxParam);
       			bZoomBrightFlag=ZOOMBRIGHT_NONE;
			}
			else
			{
				bZoomBrightFlag=ZOOMBRIGHT_ZOOM;
			}
		}
		SlideRespondFPKey(UserKey);
        break;
    }
	if(g_UiCoreState == UI_CORE_STOP && bIsSecondStop == TRUE)
		ScrSaver(SCRSAVER_ACTIVE);
}
#endif

void SlideFuncZoomInit(void)
{
 	SUBTTINFO SubttInfo;
 	extern WORD zoomnum;
	extern unsigned char bzoomokflag;
	extern HDC gui_hdc, gAUXdc;
	gui_hdc=gAUXdc;
#if 0
 	tPositionInfo  iPos;//benjamin add,
		MPO_GetPositionInfo(&iPos);//get the current file type 
#endif
        MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_CLOSE, &gAuxParam);

    bZoomCount++;

#if (_SW_SCREEN_FIT==_SW_SCREEN_FIT_ENABLE)
	if (bZoomCount > 3)
#else
    if (bZoomCount >= 3)
#endif
    {
        bZoomCount = 0;
        gZoomFuncPlus=FALSE;

    }

    if (bZoomCount != ZOOMNORMAL)
    {
        bZoomVRatio = 0;
        bZoomHRatio = 0;

        bZoomXOffset = 0;
        bZoomYOffset = 0;
	        
        ShowZoomOSD();
        gZoomFuncPlus=TRUE;

        

    }
    else
    {
			if(zoomnum!=0xffff)
			{
#if(_JPEG_ZOOM_MODE==_JPG_ZOOM_ENABLE)
				jpgrunzoom();
#endif
				zoomnum = 0xffff;
				bzoomokflag =1;
			}
    }
    
		NVPlayModeChg(0x26,0);//benjamin add

    if (bZoomCount == 3)
    {
			if(zoomnum!=0xffff)
			{
#if(_JPEG_ZOOM_MODE==_JPG_ZOOM_ENABLE)
				jpgrunzoom();
#endif
				zoomnum = 0xffff;
				bzoomokflag = 1;
			}
    }
    RunZoom();
}

BYTE SlideFuncZoomProc(WORD MsgType, DWORD MsgInput)
{
    WORD iCurPic, iTotalPic;
    GPRINTF("SlideFuncZoomProc MsgType=%d,MsgInput=%d\n",MsgType,MsgInput);

    switch (MsgType)
    {
    case C_FP_KEY:
        return SlideZoomFPKey(MsgInput);
    case C_TIMER_ACTIVE:
		//if(MsgInput==C_ZOOM_TIMER)//by xianzhong for bug 225
        	return SlideZoomTimer(C_ZOOM_TIMER);//edit by chena, Aug. 18, 2004, to fix bug "cannot auto clear zoom state"
    case C_NV_NOTICE:
        return SlideZoomNVNotice(MsgInput);
    case C_KARAOKE_TIMER:
		ptr_BrightContrastSharpRespondTimer = BrightContrastSharpRespondTimer;
		(*ptr_BrightContrastSharpRespondTimer)(C_KARAOKE_TIMER);
		break;
    case C_SLIDESHOW_HELP:
    	GPRINTF("c_slideshow_help_zoom\n");
       	gAuxParam.bDrawSlideShowHelp=&bDrawSlideShowHelp;
       	iTotalPic=FileOpenMenuGetTTNs();
		iCurPic = wShowedNum+1;
		gAuxParam.iCurPic = &iCurPic;
       	gAuxParam.iTotalPic=&iTotalPic;
       	MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_INIT, &gAuxParam);
       	SendVFDPart1Show();
       	break;

    default:
    	SlideProc(MsgType,MsgInput);
        break;

    }
}

BYTE SlideZoomFPKey(DWORD MsgInput)
{
    int i;
    int moveRange;
 	SUBTTINFO SubttInfo;
    WORD iCurPic, iTotalPic;
	extern WORD zoomnum,wShowedNum;
	extern unsigned char bzoomokflag;
	extern BYTE jpgfadinshowflag;

#if 0
 	tPositionInfo  iPos;
		MPO_GetPositionInfo(&iPos);
#endif
    if (bZoomCount == 1)
        moveRange = ZOOM_RANGE_4X;
    else if (bZoomCount == 2)
        moveRange = ZOOM_RANGE_16X;
    moveRange--;
    GPRINTF("SlideZoomFPKey MsgInput=%d\n",MsgInput);

    switch (MsgInput)
    {
	case V_KEY_STOP:
		if(bZoomCount != ZOOMNORMAL)
		{
			CloseZoom();
		}
		if(g_UiCrntSubFunc == UI_SUBFUNC_BRIGHTCONTRASTSHARP)
		{
			ptr_BrightContrastSharpRespondTimer = BrightContrastSharpRespondTimer;
			(*ptr_BrightContrastSharpRespondTimer)(C_KARAOKE_TIMER);
		}
       	bZoomBrightFlag=ZOOMBRIGHT_NONE;
		SlideRespondFPKey(MsgInput);
		break;
	case V_KEY_ENTER:
		return UI_NOUSE_FUNC_MSG;
			if(bzoomokflag)//benjamin add
				return UI_IS_FUNC_MSG;
			if(jpgfadinshowflag)//benjamin add ,now is fadin show mode 
				return UI_IS_FUNC_MSG;
			if(bZoomCount==3)
			{
				ShowDiscInfo(MSG_INVALID, MSG_NULL);				
				return UI_IS_FUNC_MSG;
			}
			if(zoompositcheck()==TRUE)//benjamin add
				return UI_IS_FUNC_MSG;
			zoomnum = wShowedNum;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -