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

📄 ircmd_zoom.c

📁 Sunplus 8202S source code.
💻 C
字号:
/**************************************************************************
 *                                                                        *
 *         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_zoom.c
|
|  Description :  zoom function realization in remoter.
|
|  Version    :  0.1  
| 
| 
|  Rev	Date	        Author(s)      Status & Comments
|---------------------------------------------------------------------------------
|  0.1	2004/1/14        Terry         Creating
|--------------------------------------------------------------------------------*/
/**************************************************************************
 *  Function Name: show_zoom                           
 *  Purposes:                                                             
 *    show word "zoom x" in region1.note:"x" is zoom multiple.                          
 *  Descriptions:                                                         
 *   
 *  Arguments:                                                            
 *    t=1: seconds for time out
 *    t=0: show information at all times
 *    mode(8:5) : 0 sw region on, 1 sw region off, 2 sw region anti
 *    mode(3:0) : Methods to cat some information to output string
 *
 *  Returns:     NONE
 *  See also:    NONE                                                          
 *    
 **************************************************************************/
void show_zoom(int t)
{//terry, 2004/1/14 03:17PM
       
  int zoom,id,md;
  
#ifdef NEWSTYLE_WINDOW
  if(full_scrn&MESSAGE)//xiongyuyue
	return;
  else
#endif
  {
     if(vpp_zoom==ZOOM_PS) zoom=ZOOM_LB;//zoom 0
     else zoom=vpp_zoom;
       
     id = STR_OS_ZOOM;
     if(zoom <= ZOOMIN_MAX)
     {
       #ifdef TWELVE_ZOOMFACTORS     //fengjl add 2004-05-05 23:41  
        switch (zoom)
        {
        case 2:strcpy(RegionValStr[REGION1]," 1.2");  break;
        case 3:strcpy(RegionValStr[REGION1]," 1.3");  break;
        case 4:strcpy(RegionValStr[REGION1]," 1.5");  break;
        case 5:strcpy(RegionValStr[REGION1]," 2");    break;
        case 6:strcpy(RegionValStr[REGION1]," 2.5");  break;
        case 7:strcpy(RegionValStr[REGION1]," 3");    break;
        case 8:strcpy(RegionValStr[REGION1]," 3.5");  break;
        case 9:strcpy(RegionValStr[REGION1]," 4");    break;
        }
        printf(" **************ZOOM=%d **************\n",zoom);
       #endif
       md = 8;
       zoom++;       
     }
     else
     {
       md = 7;
       zoom = vpp_zoom-ZOOMOUT_BASE+2;
       #ifdef BBK_DVD  
       id = STR_OS_NO_ZOOM;       
       #endif
     }

     OSD1000ISP_STATUS(vpp_zoom, OSDIR_ZOOM);

     PrintOsdMsg(id|(zoom<<OSDSTR_ID_TOTL_BIT),REGION1,t,md);
  }
}

/*
*   zoom in/out
*   vpp_zoom  0 :  LB or Normal
*             1 :  PS
*             2 :  zoom in x1.3
*             3 :  zoom in x1.5
*             4 :  zoom in x2
*             5 :  zoom in x3
*             6 :  zoom out x0.75
*             7 :  zoom out x0.67
*             8 :  zoom out x0.5
*/
/**************************************************************************
 *  Function Name: ircmd_zoom                           
 *  Purposes:                                                             
 *      realize zoom function using zoom key.
 *  Descriptions:                                                         
 *   
 *  Arguments:                                                            
 *      vpp_zoom:   2~4: zoom in; 1/4~1/2:zoom out.
 *      ZOOMIN_BASE~ZOOMIN_MAX   : zoom in, zoom ratio>1,at normal state ,
 *                                there are there value 2,3,4.
 *      ZOOMOUT_BASE~ ZOOMOUT_MAX: zoom out,zoom ratio<1, at normal state ,
 *                                there are there value 1/2,1/3,1/4.
 *      If minish ZOOMOUT_MAX value,corresponding,
 *       zoom ratio value amount reduce.(zoom in/out)
 *      for example ,ZOOMOUT_MAX value be changed from 8 to 6, 
 *       there are only zoom ratio value 2,3,4,1/2 .
 * 
 *  Returns:     NONE
 *  See also:    NONE                                                          
 *    
 **************************************************************************/
void ircmd_zoom(void)
{

#ifdef	INVALID_ZOOM_IN_DVD_MENU//XLJ2004-3-26
//invaild zoom key during the short film in DVD menu. Zoom key is invailable
//in choosing Menu too, but through inv_tbl. heqiang, 2004-4-23 9:52
	if(is_menu()&&(HL_exist!=1)&&(cd_type_loaded==CDDVD))	

	{
		invalid_key();
		return;
	}
#endif//INVALID_ZOOM_IN_DVD_MENU


#if defined(SUPPORT_TUNER_MV114) || defined(SUPPORT_TUNER_ALPS) //xyy 2003-10-13 11:01
    if(play_state == VCD_STATE_POWER)
        return;
#endif

#ifndef DVB1000_NON_OS
    //check invalid state
    if (cd_type_loaded == CDROM)
    {
#ifdef ZOOM_DIRECT_STOP_SLIDE		//wanghaoying 2003-08-25 20:17
    if(Is_JPEG_SlideMode())//nono 4-8-19 1:05
		jpg_slide_time = 0xffffffff;
#endif
#ifdef SUPPORT_FILE_SYSTEM_MODE
        //if ((GetCurrentFileType() != CDROM_MPG)|| (pFsJpeg->gifsState == FS_STATE_LIST))
        if ( ((GetCurrentFileType() != CDROM_MPG) && (GetCurrentFileType() != CDROM_MP4)) || (pFsJpeg->gifsState == FS_STATE_LIST))   //hq, 2004-4-15 11:45
#endif
        if (!FSIsZoomOK())
        {
            invalid_key();
            return;
        }
#ifdef  ROTATE_NOT_ZOOM//zhaoyanhua add 2003-12-9 16:34
    if(Is_Rotate_State())
    {    
        invalid_key();
        return;
    }
 
     //printf("######## ZOOM-------rotate_mode:%d---\n",Is_Rotate_State());

#endif 
    }
#endif  //DVB1000_NON_OS

    //set zoom ratio parameter
    if(vpp_zoom<ZOOMIN_BASE)
    {
        vpp_zoom=ZOOMIN_BASE;
    }
    else if(vpp_zoom==ZOOMIN_MAX)  
    {
        vpp_zoom=ZOOMOUT_BASE;
    }
    else
    {
        vpp_zoom++;
    }
    
    if (vpp_zoom>ZOOMOUT_MAX)
    {
        set_video_aspect();     // also reset zoom
        show_zoom(1);
    }
    else if (vpp_zoom>=ZOOMIN_BASE && vpp_zoom<=ZOOMIN_MAX)
    {
        vpp_zoom_offset_mode = OFFSET_USER_CENTER;
        show_zoom(0);
    }
    else if (vpp_zoom>=ZOOMOUT_BASE && vpp_zoom<=ZOOMOUT_MAX)
    {
        vpp_zoom_offset_mode = OFFSET_CENTER;
        show_zoom(0);
    }

    //pass parameter to vpp
    startup_vpp();
    setVPP_DoItNow();
}

#ifdef ZOOM_DIRECT_STOP_SLIDE       //wanghaoying 2003-08-25 21:30
//Maoyong 2004.07.05 make it a function for calling
void ForceStopJpgSlide(void)
{
    if( Is_JPEG_SlideMode() )
    {
        jpg_slide_time = JPEG_SLIDE_TIME;
        if(vpp_zoom!=0)
        {
            vpp_zoom = 0;
            show_zoom(1);
        }
    }
}
#endif //#ifdef ZOOM_DIRECT_STOP_SLIDE













//=================================ending====================================

⌨️ 快捷键说明

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