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

📄 ircmd_dir.c

📁 Sunplus 8202S source code.
💻 C
📖 第 1 页 / 共 2 页
字号:
/**************************************************************************
 *                                                                        *
 *         Copyright (c) 2002 by Sunplus Technology Co., Ltd.             *
 *                                                                        *
 *  This software is copyrighted by and is the property of Sunplus        *
 *  Technology Co., Ltd. All rights are reserved by Sunplus Technology    *
 *  Co., Ltd. This software may only be used in accordance with the       *
 *  corresponding license agreement. Any unauthorized use, duplication,   *
 *  distribution, or disclosure of this software is expressly forbidden.  *
 *                                                                        *
 *  This Copyright notice MUST not be removed or modified without prior   *
 *  written consent of Sunplus Technology Co., Ltd.                       *
 *                                                                        *
 *  Sunplus Technology Co., Ltd. reserves the right to modify this        *
 *  software without notice.                                              *
 *                                                                        *
 *  Sunplus Technology Co., Ltd.                                          *
 *  19, Innovation First Road, Science-Based Industrial Park,             *
 *  Hsin-Chu, Taiwan, R.O.C.                                              *
 **************************************************************************/
/*--------------------------------------------------------------------------
|  File Name   :  ircmd_dir.c
|
|  Description :  realize up,down,left,right function in remoter.
|
|  Version    :  0.1  
| 
| 
|  Rev	Date	        Author(s)      Status & Comments
|---------------------------------------------------------------------------------
|  0.1	2004/1/30        Terry         Creating
|--------------------------------------------------------------------------------*/

/*
*  Terry,2004/1/30 04:12PM
   Maoyong 2004/09/24 AM, ircmd_full_scrn_up replace call_full_scrn_fun((IRCMDFUNC *)func);
*/
#define is_zoom() ((vpp_zoom > 1) && (vpp_zoom <= ZOOMIN_MAX))

/**************************************************************************
 *  Function Name: ircmd_up                           
 *  Purposes:                                                             
 *      realize up function using up key of IR.
 *  Descriptions:                                                            
 *      ircmd_post_func(CMD_SELECT | CMD_FUNC_GAME_UL)
 *      CMD_SELECT:  number or up/down/left/right.
 *      CMD_FUNC_GAME_UL: up key.
 *  Arguments:   NONE                                                         
 *      
 *  Returns:     NONE
 *  See also:    NONE                                                          
 *    
 **************************************************************************/
void ircmd_up(void)
{
#ifdef IRCMD_DBG
    printf("======================= up =====================\n");
#endif

#ifdef SUPPORT_MIDIDISK_TITLE
        if (bIsPlayMidiTitle)//xlluo for midi title
        {
		invalid_key();
		return;
        }
#endif
#ifdef TEST_VFD
    update_vfd_mod_inc();           //shawn modify at 910131
    return ;
#endif

    #ifdef SUPPORT_MULTI_PARTITION//liweihua mod 2004-11-2
    if((pFsJpeg->gifsState == FS_STATE_HDD)
    #ifdef FAT_FILE_MODE
        ||(pFsJpeg->gifsState == FS_STATE_MODE)
        ||(fat_play_mode == 1)
        #endif
        )
    {
        HDDCard_up();
        return;
    }
    #endif

    
    if(full_scrn)
    {
    	//call_full_scrn_fun((IRCMDFUNC *)ircmd_up_table);
    	ircmd_full_scrn_up();
    	return;
    }
    else if( is_zoom() )
#ifdef MOVE_INVERSE_WHEN_ZOOM     
    {   //heqiang, down, 2004-3-2 17:51
        if(vpp_zoom_y < getVPP_YOffsetMax())
    {
            PrintOsdMsg(STR_OS_PIC_UP, REGION1, 1, 0);
            vpp_zoom_y += ZOOM_MOVE;
            startup_vpp();
            return;
        }
    #if defined(UPDN_AND_KEYUPDN_IN_A_KEY) || defined(LRUPDW_AND_BACKWARD_FORWARD_PREV_NEXT_IN_A_KEY)||defined(UPDN_AND_ECHO_IN_A_KEY) ||defined(UPDN_AND_MICVOL_IN_A_KEY)    //nono 20020706   wu 20020920
        else
        {
			invalid_key();
			return;
        }
    #endif
    }
#else//MOVE_INVERSE_WHEN_ZOOM    
    {         
        if (vpp_zoom_y > -getVPP_YOffsetMax())
        {
            OSD1000ISP_STATUS(OSDISP_DIR_ZOOM, OSDIR_UP);

            PrintOsdMsg(STR_OS_PIC_UP, REGION1, 1, 0);
            vpp_zoom_y -= ZOOM_MOVE;
            startup_vpp();
            return;
        }
        #if defined(UPDN_AND_KEYUPDN_IN_A_KEY) || defined(LRUPDW_AND_BACKWARD_FORWARD_PREV_NEXT_IN_A_KEY)||defined(UPDN_AND_ECHO_IN_A_KEY) ||defined(UPDN_AND_MICVOL_IN_A_KEY)    //nono 20020706   wu 20020920
        else
        {
			invalid_key();
			return;
        }
#endif
    }
#endif//MOVE_INVERSE_WHEN_ZOOM
    else if (HL_exist)
    {
        ExeHLBm(HL_DIR, HL_BM_U);
        return;
    }
#ifdef MIC_FUNCTION_KEY    
    #ifdef BBK_DVD//zhaoyanhua add 03-10-19 14:02
    else if (bFuncStep)
    {
        switch (bFuncStep)
		{
			case 1:
				ircmd_mic_up();
				break;
			case 2:
				ircmd_echo_up();
				break;	
	        case 3:
		        ircmd_key_up();		
		        break;;
		}
		return;
	}
	#endif//end BBK_DVd
#endif//end MIC_FUNCTION_KEY
    else if (cd_type_loaded == CDROM)
    {
        if ((play_state == VCD_STATE_MP3_FILELIST) || (play_state == VCD_STATE_NORMAL) || adv_search_time)
        {
            if ( (shuffle_flag == 0||Is_JPEG_SlideMode()==1)
            && ((prog_cnt == 0)||Is_JPEG_SlideMode()==1)
            )//NONO 3-12-22 23:22
            {
#ifdef ZOOM_DIRECT_STOP_SLIDE		//wanghaoying 2003-08-25 20:35
				if( Is_JPEG_SlideMode() ) 
					jpg_slide_time = 0xffffffff;
#endif                

#ifdef ZOOMOUT_NOT_ROTATE //zhaoyanhua add for DESAY 03-10-11 14:54 when zoom ratio less than 1,not rotate.    
				if ((vpp_zoom >= ZOOMOUT_BASE) && (vpp_zoom <= ZOOMOUT_MAX))
					invalid_key();
				else
#endif
                {
                    OSD1000ISP_STATUS(OSDISP_DIR_ROTATE, OSDIR_UP);

                    ircmd_post_func(CMD_SELECT | CMD_FUNC_GAME_UL);
                    return;
                }
            }
        }
        
		#ifdef ROTATE_WHEN_PAUSE       //zhaoyanhua add 03-10-13 10:09
	   	else if ((play_state == VCD_STATE_PAUSE) && (Is_JPEG_SlideMode()))
	   	{
	   		ircmd_post_func(CMD_SELECT | CMD_FUNC_GAME_UL);
	   		return;
	   	}
        #endif 

        #if defined(UPDN_AND_KEYUPDN_IN_A_KEY) || defined(LRUPDW_AND_BACKWARD_FORWARD_PREV_NEXT_IN_A_KEY)||defined(UPDN_AND_ECHO_IN_A_KEY)||defined(UPDN_AND_MICVOL_IN_A_KEY)     //nono 20020706   wu 20020920
        else
        {
			invalid_key();
			return;
        }
#endif
    }
#ifdef UPDN_AND_KEYUPDN_IN_A_KEY  //nono 20020706
	ircmd_key_up();
#elif defined(LRUPDW_AND_BACKWARD_FORWARD_PREV_NEXT_IN_A_KEY)   //wu 20020920
	ircmd_prev();
#elif defined(FUSS_FEIYANG_2120_PANEL)   //wu 20020923
	ircmd_forward();
#elif defined(UPDN_AND_MICVOL_IN_A_KEY)
	ircmd_mic_up();
#elif defined(UPDN_AND_ECHO_IN_A_KEY)  //nono 20020706
	ircmd_echo_up();
#elif defined(CF_GPIO_CONTROL_COLOR)
	chang_vfd_back_color_down();
#else
	invalid_key();
#endif
}
/**************************************************************************
 *  Function Name: ircmd_down                           
 *  Purposes:                                                             
 *      realize down function using down key of IR.
 *  Descriptions:                                                            
 *      ircmd_post_func(CMD_SELECT | CMD_FUNC_GAME_DN)
 *      CMD_SELECT:  number or up/down/left/right.
 *      CMD_FUNC_GAME_DN: down key.
 *  Arguments:   NONE                                                          
 *      
 *  Returns:     NONE
 *  See also:    NONE                                                          
 *    
 **************************************************************************/

void ircmd_down(void)
{
#ifdef IRCMD_DBG
    printf("======================= ircmd_down ================\n");
#endif

#ifdef SUPPORT_MIDIDISK_TITLE
        if (bIsPlayMidiTitle)//xlluo for midi title
        {
		invalid_key();
		return;
        }
#endif
#ifdef TEST_VFD
    update_vfd_mod_dec();           //shawn modify at 910131
    return;
#endif

    #ifdef SUPPORT_MULTI_PARTITION//liweihua mod 2004-11-2
    if((pFsJpeg->gifsState == FS_STATE_HDD)
    #ifdef FAT_FILE_MODE
        ||(pFsJpeg->gifsState == FS_STATE_MODE)
        ||(fat_play_mode == 1)
        #endif
        )
    {
        HDDCard_down();
        return;
    }
    #endif
    
    
    if (full_scrn)
    {
    	//call_full_scrn_fun((IRCMDFUNC *)ircmd_down_table);
    	ircmd_full_scrn_down();
    	return;
    }
    else if( is_zoom() )
#ifdef MOVE_INVERSE_WHEN_ZOOM  
   {    //heqiang, up, 2004-3-2 17:51
        if (vpp_zoom_y > -getVPP_YOffsetMax())
        {
            PrintOsdMsg(STR_OS_PIC_DN, REGION1, 1, 0);
            vpp_zoom_y -= ZOOM_MOVE;
            startup_vpp();
            return;
        }
    #if defined(UPDN_AND_KEYUPDN_IN_A_KEY) || defined(LRUPDW_AND_BACKWARD_FORWARD_PREV_NEXT_IN_A_KEY)||defined(UPDN_AND_ECHO_IN_A_KEY) ||defined(UPDN_AND_MICVOL_IN_A_KEY)    //nono 20020706   wu 20020920
        else
        {
			invalid_key();
			return;
        }
    #endif
    }
#else//MOVE_INVERSE_WHEN_ZOOM       
    {
        if(vpp_zoom_y < getVPP_YOffsetMax())
        {
            OSD1000ISP_STATUS(OSDISP_DIR_ZOOM, OSDIR_DOWN);

            PrintOsdMsg(STR_OS_PIC_DN, REGION1, 1, 0);
            vpp_zoom_y += ZOOM_MOVE;
            startup_vpp();
            return;
        }
        #if defined(UPDN_AND_KEYUPDN_IN_A_KEY) || defined(LRUPDW_AND_BACKWARD_FORWARD_PREV_NEXT_IN_A_KEY)||defined(UPDN_AND_ECHO_IN_A_KEY)||defined(UPDN_AND_MICVOL_IN_A_KEY)     //nono 20020706   wu 20020920
        else
        {
			invalid_key();
			return;
        }
#endif
    }
#endif//MOVE_INVERSE_WHEN_ZOOM    
    else if(HL_exist)
    {
        ExeHLBm(HL_DIR, HL_BM_D);
        return;
    }
#ifdef MIC_FUNCTION_KEY
    #ifdef BBK_DVD//zhaoyanhua add 03-10-19 14:02
	else if (bFuncStep)
	{
		switch (bFuncStep)
		{
			case 1:
				ircmd_mic_down();
				break;
			case 2:
				ircmd_echo_down();
				break;	
		    case 3:
		        ircmd_key_down();
		        break;		
		}
		return;
	}
	
    #endif//end ifdef BBK_DVD
#endif//MIC_FUNCTION_KEY
    else if(cd_type_loaded == CDROM)
    {
        if ( (play_state == VCD_STATE_MP3_FILELIST) || (play_state == VCD_STATE_NORMAL) ||adv_search_time)
        {
            if ((shuffle_flag && Is_JPEG_SlideMode()!=1) //nono 2004-7-28 1:51
            || (prog_cnt&&Is_JPEG_SlideMode()!=1)
            )//nono 3-12-22 23:22
			{
                invalid_key();
            }
            else
            {
#ifdef ZOOM_DIRECT_STOP_SLIDE		//wanghaoying 2003-08-25 20:35
				if( Is_JPEG_SlideMode() ) 
					jpg_slide_time = 0xffffffff;
#endif                


				#ifdef ZOOMOUT_NOT_ROTATE //zhaoyanhua add for DESAY 03-10-11 14:54 when zoom ratio less than 1,not rotate.    
				if ((vpp_zoom >= ZOOMOUT_BASE) && (vpp_zoom <= ZOOMOUT_MAX))
					invalid_key();
				else
				#endif

                {
                OSD1000ISP_STATUS(OSDISP_DIR_ROTATE, OSDIR_DOWN);

                ircmd_post_func(CMD_SELECT | CMD_FUNC_GAME_DN);
                }
			}
            return;
        }

        #ifdef ROTATE_WHEN_PAUSE       //zhaoyanhua add 03-10-13 10:09
	   	else if ((play_state == VCD_STATE_PAUSE) && (Is_JPEG_SlideMode()))
	   	{
	   		ircmd_post_func(CMD_SELECT | CMD_FUNC_GAME_DN);
	   		return;
	   	}
        #endif 

        #if defined(UPDN_AND_KEYUPDN_IN_A_KEY) || defined(LRUPDW_AND_BACKWARD_FORWARD_PREV_NEXT_IN_A_KEY)||defined(UPDN_AND_ECHO_IN_A_KEY) ||defined(UPDN_AND_MICVOL_IN_A_KEY)   //nono 20020706   wu 20020920
        else
        {
			invalid_key();

⌨️ 快捷键说明

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