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

📄 ircmd_dir.c

📁 OSD显示,单片机实现,ICCAVR! 代码风格严谨,为高人所写.我仅为了上传换取资料
💻 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

   

    
    if(full_scrn
	#ifdef GPS_DVD//frank.huang 050801
	&&(full_scrn!=TOUCH_MENU)&&(full_scrn!=TOUCH_KEYBOARD)
	#endif
	)
    {
        //printf("kk\n");
        //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();
            #ifdef ZOOM_ROTATE_RESET_SLIDE_TIME//lijd 2005-6-6 10:02
            if(Is_JPEG_SlideMode())
                set_rtc_val(0);      
            #endif 
            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
 #ifdef SUPPORT_MULTI_PARTITION//liweihua mod 2004-11-2
   else if((pFsJpeg->gifsState == FS_STATE_HDD)
    #ifdef FAT_FILE_MODE
        ||(pFsJpeg->gifsState == FS_STATE_MODE)
        ||(fat_play_mode == 1)
        #endif
        )
    {
        //printf("haha\n");
        if(pFsJpeg->gifsState == FS_STATE_JPEG)     /////YANGLI MOD FOR JPEG ROTATE 2005-7-15
        {ircmd_post_func(CMD_SELECT | CMD_FUNC_GAME_UL);
        return;
        }
        #if defined(PMP_DVD)&& defined(PMP_DVD_ONE_DIR_SELECT) //kenny add 2005/6/16
         pmp_disable_user_flag(PMP_USER_PRESS_NEXT_PREV_KEY);
         pmp_enable_user_flag(PMP_USER_PRESS_UP_DOWN__KEY);
        #endif
        HDDCard_up();
        return;
    }
    #endif//#ifdef SUPPORT_MULTI_PARTITION//liweihua mod 2004-11-2
    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
            {
#if defined(ZOOM_DIRECT_STOP_SLIDE)||defined(ROTATE_DIRECT_STOP_SLIDE)  //wanghaoying 2003-08-25 20:35
                if( Is_JPEG_SlideMode() )              //wangap add 2005-5-8 10:23
                    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
                {
                #ifdef OP_IR //libing 2005-5-27 21:14
                if(Is_JPEG_SlideMode())
                {
                    invalid_key();
                    return;
                }
                #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

   
    
    
    if (full_scrn
	#ifdef GPS_DVD//frank.huang 050801
	&&(full_scrn!=TOUCH_MENU)&&(full_scrn!=TOUCH_KEYBOARD)
	#endif
	)
    {
        //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();
            #ifdef ZOOM_ROTATE_RESET_SLIDE_TIME//lijd 2005-6-6 10:02
            if(Is_JPEG_SlideMode())
                set_rtc_val(0);           
            #endif 
            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
#ifdef SUPPORT_MULTI_PARTITION//liweihua mod 2004-11-2
   else if((pFsJpeg->gifsState == FS_STATE_HDD)
    #ifdef FAT_FILE_MODE
        ||(pFsJpeg->gifsState == FS_STATE_MODE)
        ||(fat_play_mode == 1)
        #endif
        )
    {
        if(pFsJpeg->gifsState == FS_STATE_JPEG)               /////YANGLI MOD FOR JPEG ROTATE 2005-7-15
       {
         ircmd_post_func(CMD_SELECT | CMD_FUNC_GAME_DN);
        return;
       }
        #if defined(PMP_DVD)&& defined(PMP_DVD_ONE_DIR_SELECT) ////kenny add 2005/6/16
         pmp_disable_user_flag(PMP_USER_PRESS_NEXT_PREV_KEY);
         pmp_enable_user_flag(PMP_USER_PRESS_UP_DOWN__KEY);
        #endif
        HDDCard_down();
        return;
    }
    #endif//#ifdef SUPPORT_MULTI_PARTITION//liweihua mod 2004-11-2
    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
            {
#if defined(ZOOM_DIRECT_STOP_SLIDE)||defined(ROTATE_DIRECT_STOP_SLIDE)  //wanghaoying 2003-08-25 20:35
                if( Is_JPEG_SlideMode() )                //wangap add 2005-5-8 10:23
                    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

                {
                #ifdef OP_IR//libing     
                if(Is_JPEG_SlideMode())
                {
                    invalid_key();
                    return;
                }
                #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;
        }

⌨️ 快捷键说明

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