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

📄 slideplay.c

📁 M3355的源代码
💻 C
📖 第 1 页 / 共 4 页
字号:
	        else
	        return ;
#if 0			
		default:
			break;
		}
#endif
	}
	else
#if 0		
    if (bZoomCount != ZOOMNORMAL)   //when osd disappear it can renew by diddy
#endif		
    {
		MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_CLOSE, &gAuxParam);
        ShowZoomOSD();
    }

    if(g_UiCoreState != UI_CORE_STOP)
    {
	    if (!NVHLKey(HL_LEFT))
	        ShowDiscInfo(MSG_INVALID, MSG_NULL);
    }
}

void SlideV_KEY_RIGHT(void)
{
    DWORD dwRotateMode ;
	extern unsigned char bzoomokflag;

    extern int JpgUserRotateState;
#if 0	
	tPositionInfo  iPos;
	MPO_GetPositionInfo(&iPos);
#endif
	if(bZoomCount==ZOOMNORMAL)//benjamin change
	{
#if 0	
		switch(iPos.iPlayerFocused)
		{
		case MPLR_PHOTO:
#endif			
			if(JpgNextState)//benjamin add,means ,when next key,rotate not allowed until it finished next
				return;
			if(bzoomokflag)//benjamin add,when restore to nomal decoded,not allowed zoom
				return;
	        if (ISJpgRotateOk())
	        {
				if(!bMixPlay)
					NVPlayModeChg(0x26,0);
	            if (JpgUserRotateState + 90 > 360)
	                JpgUserRotateState = 90;
	            else
	                JpgUserRotateState += 90;
				return;
	        }
	        else
		        return ;
#if 0			
		default:
			break;
		}
#endif		
	} 
	else
#if 0		
    if (bZoomCount != ZOOMNORMAL)  //when osd disappear it can renew by diddy
#endif		
    {
		MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_CLOSE, &gAuxParam);
        ShowZoomOSD();
    }

    if(g_UiCoreState != UI_CORE_STOP)
    {
	    if (!NVHLKey(HL_RIGHT))
	        ShowDiscInfo(MSG_INVALID, MSG_NULL);
    }
}
void SlideV_KEY_NEXT(void)
{
    int iTemp;
	WORD iCurPic, iTotalPic;

    if (g_UiCoreState == UI_CORE_STOP)
        return ;
    if(bZoomCount != ZOOMNORMAL)
    {
		if( g_UiCrntSubFunc == UI_SUBFUNC_BRIGHTCONTRASTSHARP)
	     	bZoomBrightFlag=ZOOMBRIGHT_BRIGHT;
	     else
	     	bZoomBrightFlag=ZOOMBRIGHT_NONE;
    }
    CloseZoom();//for lg bug2765
	//NVPlayModeChg(C_NV_Stop,C_STOP_SHOWLOGO);//in jpg ,it is call vobu to peabort
	gAuxParam.bDrawSlideShowHelp=&bDrawSlideShowHelp;
    iTotalPic=FileOpenMenuGetTTNs();
	iCurPic = wShowedNum+1;
	gAuxParam.iCurPic = &iCurPic;
    gAuxParam.iTotalPic=&iTotalPic;
    MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_INIT, &gAuxParam);
    SendVFDPart1Show();

    if (bZoomCount == ZOOMNORMAL)  //benjamin add,only normal mode ,this is next key
    {

		if(JpgNextState)//benjamin add ,for jpeg play skip only one 
			return;
		JpgNextState =1;//benjamin add ,for jpeg play skip ,skip one picture,ignore other skip
		if(!bMixPlay)
				NVPlayModeChg(C_NV_Stop,C_STOP_SHOWLOGO);//in jpg ,it is call vobu to peabort
		ShowPlayModeGui(RS_FUN_OSD_SKIP, MSG_NULL);
		Slide_NextPrevProc(V_KEY_NEXT,1);
		
    }
    else
        ShowDiscInfo(MSG_INVALID, MSG_NULL);

}
void SlideV_KEY_PREV(void)
{
    int iTemp;
	WORD iCurPic, iTotalPic;

    if (g_UiCoreState == UI_CORE_STOP)
        return ;
    if(bZoomCount != ZOOMNORMAL)
    {
		if( g_UiCrntSubFunc == UI_SUBFUNC_BRIGHTCONTRASTSHARP)
	     	bZoomBrightFlag=ZOOMBRIGHT_BRIGHT;
	     else
	     	bZoomBrightFlag=ZOOMBRIGHT_NONE;
    }
    CloseZoom();//for lg bug2765
	//NVPlayModeChg(C_NV_Stop,C_STOP_SHOWLOGO);//in jpg ,it is call vobu to peabort
	gAuxParam.bDrawSlideShowHelp=&bDrawSlideShowHelp;
    iTotalPic=FileOpenMenuGetTTNs();
	iCurPic = wShowedNum+1;
	gAuxParam.iCurPic = &iCurPic;
    gAuxParam.iTotalPic=&iTotalPic;
    MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_INIT, &gAuxParam);
    SendVFDPart1Show();

    if (bZoomCount == ZOOMNORMAL)  //benjamin add,only normal mode ,this is next key
    {

		if(JpgNextState)//benjamin add ,for jpeg play skip only one 
			return;
		JpgNextState =1;//benjamin add ,for jpeg play skip ,skip one picture,ignore other skip
		if(!bMixPlay)
				NVPlayModeChg(C_NV_Stop,C_STOP_SHOWLOGO);//in jpg ,it is call vobu to peabort
		ShowPlayModeGui(RS_FUN_OSD_REV_SKIP, MSG_NULL);
		Slide_NextPrevProc(V_KEY_PREV,-1);
    }
    else
        ShowDiscInfo(MSG_INVALID, MSG_NULL);

}
/*---------------------------------------------------------------------------
 * Function_Name: SlideV_KEY_ZOOM
 * Arguments    : None
 * Return value : None
 * Remark  : Proccess user press "ZOOM" key.The first time is ZOOM X1, the second time is 
 *        ZOOM X2, and then display normal.
 *---------------------------------------------------------------------------*/
void SlideV_KEY_ZOOM(void)
{
    int iTemp;
#ifdef _JPEG_ENABLE_	
	extern int gbJPGFirstDecoe;
#endif
	extern unsigned char bzoomokflag;
	extern BYTE jpgfadinshowflag;
#if 0	
	tPositionInfo  iPos;
		MPO_GetPositionInfo(&iPos);
		switch(iPos.iPlayerFocused)
		{
		case MPLR_PHOTO:
#endif			
#ifdef _JPEG_ENABLE_ // LA compile options
			if(JpgNextState)//benjamin add,not allow zoom when press next(provious) key
				return;
#ifdef _JPEG_ENABLE_	
			if(gbJPGFirstDecoe)//benjamin add.means:first enter to play jpg,nothing is showed on screen
				return;
#endif			
			if(bzoomokflag)
				return;
			if(jpgfadinshowflag)//benjamin add,now is fadin show jpg mode
				return;
#endif
#if 0
				break;
		default:
			break;
		}
#endif
    ExtInputProc(EXT_INPUT_CLEAR, &iTemp);

            if (g_UiCoreState != UI_CORE_STOP)
            {
                if(NVChkZoomEnable())
                {
                    SlideFuncZoomInit();
                }
                else
                {
		      		gZoomFuncPlus=FALSE;
            	}
            }
}
/*
void SlideV_KEY_SETUP(void)
{
	GPRINTF("SlideV_KEY_SETUP\n");
	//ShowDiscInfo(MSG_INVALID, MSG_NULL);//this program can cause system down!!!

}*/

void SlideV_KEY_PAUSE(void)
{
    int iTemp;
    PLAYPOINT pointB;
	if(JpgNextState)//benjamin add,when press next key,not allow pause.LG spec.
		return;
	
    ExtInputProc(EXT_INPUT_CLEAR, &iTemp);
    NVGetCurInfo( &pointB );

    if (g_UiCoreState == UI_CORE_STOP)
    {
        return ;
    }

    if (NVPlayModeChg(C_NV_Pause, 0))
    {
		if(!bMixPlay)
			JpgResumeState = 1;//benjamin add
        g_UiCoreState = UI_CORE_PAUSE;
        bActionCtl = 0; /* reset,always thanged with g_UiCoreState */
        ShowPlayModeGui(RS_FUN_OSD_PAUSE, MSG_NULL );
        SendVFDPart1Show();
    }
    else
    {
        ShowDiscInfo(MSG_INVALID, MSG_NULL);
    }
    
}

void SlideV_KEY_PLAY(void)
{
    BOOL flag;
       
	if(g_UiCoreState==UI_CORE_PLAY)
		return;
    	
	bFPLastplay = FALSE;//maggie for flash to show last time 
    if (g_UiCoreState == UI_CORE_STOP)
            return ;
	
	flag = NVPlayModeChg(C_NV_Play, 0 /*NO USE FOR PLAY*/);
    if (flag)
    {
        ShowPlayModeGui(RS_FUN_OSD_PLAY, MSG_NULL );
        g_UiCoreState = UI_CORE_PLAY;
        bActionCtl = 0; /* reset,always thanged with g_UiCoreState */
    }
    //gamble
    SendVFDPart1Show();
}

void SlideV_KEY_STOP(void)
{
    ANGLEINFO AngleInfo;
#ifdef _JPEG_ENABLE_	
    extern int gbJPGFirstDecoe;
#endif
    extern BYTE bJPGShowMode;
    BOOL bStopFlag = FALSE;
    extern BOOL bIsSecondStop;

    int iTemp;

    if(MachineState != C_MACHINE_ST_READY)
    {
        ShowDiscInfo(MSG_INVALID, MSG_NULL);
        return;
    }
			CloseZoom();//for lg bug2765
			NVPlayModeChg(C_NV_Stop,C_STOP_SHOWLOGO);//in jpg ,it is call vobu to peabort

            MPA_RefreshAuxiliary(AT_CLOSE, &gAuxParam);

    ExtInputProc(EXT_INPUT_CLEAR, &iTemp);
    VfdOpenLongKey(3);

#ifdef _JPEG_ENABLE_	
    gbJPGFirstDecoe = 1;//benjamin use it ,let ui know on the screen ,there is no jpg showing
    bJPGShowMode = 0;
#endif	

    if (g_UiCoreState != UI_CORE_STOP)
    {
       
        if (NVPlayModeChg(C_NV_Stop, C_STOP_SHOWLOGO))
        {
            ResetShowTimeMode();
            NextPrevStatus = 0;

            OSD_Setup_Parameter.bPlayEnable = TRUE;

            Write_UserPara();
        
			InitJpgFrmBuf();
            g_UiCoreState = UI_CORE_STOP;
            if(bIsSecondStop == FALSE)
            {
            	g_VFD_ShowInfo.FPState = C_FP_RESUME_STOP;
            	CmdFPMsg(VFD_REFRESH_PART1_SHOW);
            }
            else
                SendVFDPart1Show();
            SendVFDPart2Show(C_UNSENDTIME);

            bActionCtl = 0; /* reset,always thanged with g_UiCoreState */

           
        }
        else
        {   /* FOR DEBUG */
            ShowDiscInfo(MSG_INVALID, MSG_NULL);
        }
        	g_UiCoreState = UI_CORE_STOP;
        	bIsSecondStop = TRUE;
            CmdUIMsg(C_FP_KEY, C_KEY_MENU);
//            GPRINTF("cmd stop here\n");
        return ;
    }
    ShowDiscInfo(MSG_INVALID, MSG_NULL);
}


/*---------------------------------------------------------------------------
 * Function_Name: CaseV_KEY_FILEOPEN 
 * Arguments    : void
 * Return value : void
 * Remark   : process virtual key "V_KEY_FILEOPEN" maped from user key "C_KEY_MENU".  
 *---------------------------------------------------------------------------*/

extern BOOL JPGStopCheck;
void SlideV_KEY_FILEOPEN(void)
{
#if ( FileOpen_Support==FileOpen_Enable )
    int iTemp;
    ExtInputProc(EXT_INPUT_CLEAR, &iTemp);

   if(FileType == C_JPGFILE && g_UiCoreState!=UI_CORE_STOP)
   		return;

    //Modified by carl for MP3+JPG mix playback.
    if ((FileType == C_JPGFILE) || (FileType == C_MPGFILE))
    { //30219-04cf
        if (g_UiCoreState != UI_CORE_STOP)
        {
            if ( NVPlayModeChg(C_NV_Stop, C_STOP_SHOWLOGO) ) //30213-01wisn
            {
                ChangeLogoData(1);
                ShowLogo(C_LOGO_FRAME);
                UiVarStopReset();
#ifdef _JPEG_ENABLE_				
                JPGStopCheck = TRUE; //30213-01wisn
#endif                
                g_UiCoreState = UI_CORE_STOP;
                bIsSecondStop = TRUE;
                bActionCtl = 0; /* reset,always thanged with g_UiCoreState */
                SendVFDPart1Show();

            }
            else //error
            {
                ShowDiscInfo( MSG_INVALID, MSG_NULL );
                return ;
            }
        }
    } //30219-04cf
    // clear top block1 msg and top block2 msg and their timers
    ShowDiscInfo( MSG_NULL, MSG_NULL );
    SetTimer(OSD1_TM_ID, PlayModeGUITimer, INFINITETIME);
    NextPrevStatus = 0;
    SetTimer(OSD5_TM_ID, NextPrevTimer, INFINITETIME);
    /* step 3 */
    DeleteDC(gui_hdc);
    (UiInitFunc[UI_FUNC_FILEOPEN])();

    g_UiPrevFunc = UI_FUNC_NORMAL; //30216-03cf
#endif/*_FILEOPEN_E_*/
}

void SlideV_KEY_RETURN(void)
{
    int iTemp;
    WORD iCurPic, iTotalPic;

	//--> Gordon
#ifdef _MPLAY_ENABLE_
	tPositionInfo  iPos;
	PLAYPOINT iPlayPoint;

	if(JpgNextState)//benjamin add,means ,when next key,rotate not allowed until it finished next
		return;

	if(DiscType==C_FILEOPENDISC)
	{
		MPO_GetPositionInfo(&iPos);
		switch(iPos.iPlayerFocused)
		{
		case MPLR_PHOTO:
			GPRINTF("ggZoomFuncPlus=%d\n",gZoomFuncPlus);
            if(gZoomFuncPlus == TRUE)
                return;
			bDrawSlideShowHelp=!bDrawSlideShowHelp;
			NVGetCurInfo(&iPlayPoint);
            if(bDrawSlideShowHelp)
            {
                iCurPic=iPlayPoint.wTTN+1;
                iTotalPic=FileOpenMenuGetTTNs();
                gAuxParam.iCurPic=&iCurPic;
                gAuxParam.iTotalPic=&iTotalPic;
                gAuxParam.bDrawSlideShowHelp=&bDrawSlideShowHelp;
                MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_INIT, &gAuxParam);
            }
            else
                MPA_RefreshAuxiliary(AT_SLIDESHOWHELP_CLOSE, &gAuxParam);
			return;
		default:
			break;
		}
	}
    	//<-- Gordon
#endif //MPLAYER_ENABLE
}
void SlideRespondTimerActive(DWORD MsgInput)
{
    int PlaceHolder;
    ANGLEINFO AngleInfo;  //30124-05sd
    WORD Ratio,guimode;

    switch (MsgInput)
    {
    case C_PLAYMODEGUI_TIMER:
        ClearRectArea(gui_hdc, GUITYPE_PLAYMODEGUI);
        if(g_UiCrntSubFunc!=UI_SUBFUNC_VOLUM)
	        RecoverPlaymodegui();
        if (TrayIsOutOfFP())

⌨️ 快捷键说明

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