亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? guiapp_action_displaymenu.c

?? IT projecotr reference design.
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*****************************************************************************
**             TEXAS INSTRUMENTS PROPRIETARY INFORMATION
**
**  (c) Copyright, Texas Instruments Incorporated, 2006.
**      All Rights Reserved.
**
**  Property of Texas Instruments Incorporated. Restricted Rights -
**  Use, duplication, or disclosure is subject to restrictions set
**  forth in TI's program license agreement and associated documentation.
******************************************************************************/

#include "common.h"
#include "guiStyle.h"
#include "guiApp_action.h"
#include "guiApp_action_menu_values.h"
#include "dmd.h"
#include "cw.h"
#include "app_cfg.h"
#include "datapath.h"
#include "ddp2230_rtos_include.h"
#include "eeprom.h"
#include "OSD.h"
#include "source.h"
#include "dispfmt.h"
#include "deccontrol.h"
#include "environment.h"

/* local function */
int08 guiApp_action_CheckImagePositionEnable( void );

GUI_DISPLAY_MENU_VALUES_STRUCT *displayMenuValues;
extern uint32 gID_MemPool; 


/* Initialize the items */
int08 guiApp_action_DisplayMenu_OnStart( int16 menuId, GUIMSG *msg )
{
    int16 min, max;
    uint08 listSize;
    
    DP_SOURCEDESC *srcDesc;
    
    if( RTA_MemRequest( gID_MemPool, sizeof( GUI_DISPLAY_MENU_VALUES_STRUCT ), (void **)&displayMenuValues ) == PASS )
    {
	    datapath_GetSourceDesc( &srcDesc );
	    
	    /* get all general projector settings from EEPROM */
	    EE_GETVAR( UserMachine.Projector.BlankScreenColor, displayMenuValues->blankScreenColor );
	    EE_GETVAR( UserMachine.Projector.KeystonePitch, displayMenuValues->keystone );
	    EE_GETVAR( UserMachine.Projector.AutoKeystone, displayMenuValues->autoKeystone );
	    EE_GETVAR( UserMachine.Projector.AspectRatio, displayMenuValues->aspectRatio );
	    EE_GETVAR( UserMachine.Projector.ImageSizeEnum, displayMenuValues->imageSizeEnum );
        EE_GETVAR( UserMachine.Projector.ImageSizeManualSteps, displayMenuValues->imageSizeManualSteps );	    
	    EE_GETVAR( UserMachine.Projector.ImageOffset, displayMenuValues->imagePosition );
	    
	        
	    /* get all connector specific projector settings from EEPROM */
	    if( srcDesc->sourceActive )
	    {
	        EE_GETVAR( UserMachine.ConnectorSettings[srcDesc->connector].Overscan, displayMenuValues->overscan );
	        EE_GETVAR( UserMachine.ConnectorSettings[srcDesc->connector].VideoStandard, displayMenuValues->videoStandard ); 
	    }  
	    

	    /**** blank screen color init ****/    // never hide blank screen color
        OSD_GetListSize( LIST_BLANKSCREENLIST, &listSize );
	    displayMenuValues->blankScreenColor = MIN( displayMenuValues->blankScreenColor, listSize - 1 );
	    
        guiStyle_item_SetListIndex( ITEM_BLANKSCREENITEM, displayMenuValues->blankScreenColor );    
        
 	    /**** auto keystone init ****/    
        OSD_GetListSize( LIST_AUTOKEYSTONELIST, &listSize );
        displayMenuValues->autoKeystone = MIN( displayMenuValues->autoKeystone, listSize - 1 );   
        
        guiStyle_item_SetListIndex( ITEM_AUTOKEYSTONEITEM, displayMenuValues->autoKeystone );           
   	    
        /**** keystone init ****/        
        if( displayMenuValues->autoKeystone )
        {
            /* rely on display formatting to remember pitch during auto keystone.  Set to current           */
            /* value but grayed out.  Update value only when menu is re-opened or auto keystone is disabled */
            dispfmt_GetKeystoneAnglePitch( &displayMenuValues->keystone );
            displayMenuValues->keystone = displayMenuValues->keystone >> 8;
            guiStyle_item_SetSingleValue( ITEM_KEYSTONEITEM, displayMenuValues->keystone, min >> 8, max >> 8 );
            guiStyle_GrayOutItem( menuId, ITEM_KEYSTONEITEM, TRUE );
        }
        else
        {
            /* no auto keystone, init keystone pitch from EEPROM */
	        dispfmt_GetKeystoneAnglePitchLimits( &min, &max );
	        displayMenuValues->keystone = LMT( min >> 8, displayMenuValues->keystone, max >> 8 );   
	    
	        guiStyle_item_SetSingleValue( ITEM_KEYSTONEITEM, displayMenuValues->keystone, min >> 8, max >> 8 );
        }
       
	    /**** aspect ratio init ****/    
        OSD_GetListSize( LIST_ASPECTLIST, &listSize );
        displayMenuValues->aspectRatio = MIN( displayMenuValues->aspectRatio, listSize - 1 );   
        
        guiStyle_item_SetListIndex( ITEM_ASPECTITEM, displayMenuValues->aspectRatio );    
	        
	    /**** image size init ****/    
        OSD_GetListSize( LIST_IMAGESIZELIST, &listSize );
        displayMenuValues->imageSizeEnum = MIN( displayMenuValues->imageSizeEnum, listSize - 1 );   
        
        dispfmt_GetImageSizeLimits( &min, &max );
        displayMenuValues->imageSizeManualSteps = LMT( min, displayMenuValues->imageSizeManualSteps, max );
        
        guiStyle_item_SetListIndex( ITEM_IMAGESIZEITEM, displayMenuValues->imageSizeEnum );
        
	    /**** image position init ****/    
        dispfmt_GetImagePositionLimits( &min, &max );
        displayMenuValues->imagePosition = LMT( min, displayMenuValues->imagePosition, max );        
        guiStyle_item_SetSingleValue( ITEM_IMAGEPOSITIONITEM, displayMenuValues->imageSizeManualSteps, min, max );
        guiApp_action_CheckImagePositionEnable();
         
	    /**** magnify init ****/    
	    if( srcDesc->sourceActive )
	    {
	        dispfmt_GetMagnifyLimits( &min, &max );
	        dispfmt_GetMagnify( &displayMenuValues->magnify );
	        displayMenuValues->magnify = LMT( min, displayMenuValues->magnify, max );   
	        
            guiStyle_item_SetSingleValue( ITEM_MAGNIFYSOURCEITEM, displayMenuValues->magnify, min, max );    
	    }
	    else
	        guiStyle_HideItem( menuId, ITEM_MAGNIFYSOURCEITEM, TRUE );
	    
	    /**** pan and scan init ****/    
	    if( !srcDesc->sourceActive )
	        guiStyle_HideItem( menuId, ITEM_PANANDSCANITEM, TRUE );
	    else
	    {
	        if( displayMenuValues->magnify  == 0 )
	        {
	            guiStyle_GrayOutItem( menuId, ITEM_PANANDSCANITEM, TRUE );
	        }
	    }
	        
	    /**** video standard init ****/    
	    if( srcDesc->sourceActive && (( srcDesc->connector == COMPOSITE) || ( srcDesc->connector == SVIDEO )))
	    {
		    EE_GETVAR( UserMachine.ConnectorSettings[srcDesc->connector].VideoStandard, displayMenuValues->videoStandard );
            OSD_GetListSize( LIST_VIDEOSTANDARDLIST, &listSize );
	        displayMenuValues->videoStandard = MIN( displayMenuValues->videoStandard, listSize - 1 );   
	        
            guiStyle_item_SetListIndex( ITEM_VIDEOSTANDARDITEM, displayMenuValues->videoStandard );    
	    }
	    else
	        guiStyle_HideItem( menuId, ITEM_VIDEOSTANDARDITEM, TRUE );
	        
	        
	    /**** video overscan init ****/    
	    if( srcDesc->sourceActive && srcDesc->isVideo)
	    {
            OSD_GetListSize( LIST_OVERSCANCHECKBOXLIST, &listSize );
	        displayMenuValues->overscan = MIN( displayMenuValues->overscan, listSize - 1 );   
	        
            guiStyle_item_SetListIndex( ITEM_OVERSCANITEM, displayMenuValues->overscan );    
	    }
	    else
	        guiStyle_HideItem( menuId, ITEM_OVERSCANITEM, TRUE ); 
	    
    }    
    else /* hide all items if we cannot allocate memory */
    {
        guiStyle_HideItem( menuId, ITEM_BLANKSCREENITEM, TRUE );
        guiStyle_HideItem( menuId, ITEM_KEYSTONEITEM, TRUE );
        guiStyle_HideItem( menuId, ITEM_AUTOKEYSTONEITEM, TRUE );        
	    guiStyle_HideItem( menuId, ITEM_ASPECTITEM, TRUE );
	    guiStyle_HideItem( menuId, ITEM_IMAGESIZEITEM, TRUE );
        guiStyle_HideItem( menuId, ITEM_IMAGEPOSITIONITEM, TRUE );	    
	    guiStyle_HideItem( menuId, ITEM_MAGNIFYSOURCEITEM, TRUE );
	    guiStyle_HideItem( menuId, ITEM_PANANDSCANITEM, TRUE );
	    guiStyle_HideItem( menuId, ITEM_VIDEOSTANDARDITEM, TRUE );
	    guiStyle_HideItem( menuId, ITEM_OVERSCANITEM, TRUE ); 
	}
          
    return PASS;
}

int08 guiApp_action_DisplayMenu_OnClose( int16 menuId )
{
    DP_SOURCEDESC *srcDesc;
    
    datapath_GetSourceDesc( &srcDesc );
    
    /* save all general projector settings */
    EE_PUTVAR( UserMachine.Projector.BlankScreenColor, displayMenuValues->blankScreenColor );
    EE_PUTVAR( UserMachine.Projector.KeystonePitch, displayMenuValues->keystone );
    EE_PUTVAR( UserMachine.Projector.AutoKeystone, displayMenuValues->autoKeystone );
    EE_PUTVAR( UserMachine.Projector.AspectRatio, displayMenuValues->aspectRatio );
    EE_PUTVAR( UserMachine.Projector.ImageSizeEnum, displayMenuValues->imageSizeEnum );
    EE_PUTVAR( UserMachine.Projector.ImageSizeManualSteps, displayMenuValues->imageSizeManualSteps );	    
    EE_PUTVAR( UserMachine.Projector.ImageOffset, displayMenuValues->imagePosition );
        
    /* release image menu memory structure requested in onStart */
    RTA_MemRelease( displayMenuValues );

    return PASS;
}


/* specify the highlight window as required by the GUI Style */
int08 guiApp_action_DisplayMenu_GetHighlightWindow( int16 menuId, uint08 *window )
{
    *window = WIND_DISPLAYMENUHIGHLIGHT;
    return PASS;
}

/* implement item behavior, system interaction */
int08 guiApp_action_DisplayMenu_GuiMsg( int16 menuId, int16 itemId, GUIMSG *msg )
{
    GUIMSG newmsg;
    uint08 listSize;
    int16 min,max;
    uint08 tempIndex;
    DP_SOURCEDESC *srcDesc;
    

    if( msg == NULL )
        return FAIL;

    switch( itemId )
    {
        case ITEM_BLANKSCREENITEM:
        
            OSD_GetListSize( LIST_BLANKSCREENLIST, &listSize );
        
            switch( msg->type )
            {
                case GUIMSG_DEC:
                    if( displayMenuValues->blankScreenColor == 0 )  // decrement SFG index
                        displayMenuValues->blankScreenColor = listSize - 1;
                    else 
                        displayMenuValues->blankScreenColor--;
                        
                    datapath_UserSetBlankScreenColor( displayMenuValues->blankScreenColor );
                    guiStyle_item_SetListIndex( ITEM_BLANKSCREENITEM, displayMenuValues->blankScreenColor );
                    break;
            
                case GUIMSG_INC:
                    if( displayMenuValues->blankScreenColor == listSize - 1 )  // decrement SFG index
                        displayMenuValues->blankScreenColor = 0;
                    else 
                        displayMenuValues->blankScreenColor++;
                        
                    datapath_UserSetBlankScreenColor( displayMenuValues->blankScreenColor );
                    guiStyle_item_SetListIndex( ITEM_BLANKSCREENITEM, displayMenuValues->blankScreenColor );
                    break;
            }
                      
            break;

        case ITEM_KEYSTONEITEM:
            switch( msg->type )
            {
		        case GUIMSG_DEC:
		            if( datapath_UserSetKeystoneAnglePitch( (displayMenuValues->keystone - 1) << 8 ) == PASS )
		            {
		                displayMenuValues->keystone--;
		                dispfmt_GetKeystoneAnglePitchLimits( &min, &max );
		                guiStyle_item_SetSingleValue( ITEM_KEYSTONEITEM, displayMenuValues->keystone, min >> 8, max >> 8 );
		            }                
		            break;
		        
		        case GUIMSG_INC:
		            if( datapath_UserSetKeystoneAnglePitch( (displayMenuValues->keystone + 1) << 8 ) == PASS )
		            {
		                displayMenuValues->keystone++;
		                dispfmt_GetKeystoneAnglePitchLimits( &min, &max );
		                guiStyle_item_SetSingleValue( ITEM_KEYSTONEITEM, displayMenuValues->keystone, min >> 8, max >> 8 );
		            }                
		            break;
		        
		        case GUIMSG_ASSERT:
                    guiStyle_Exit();
                    guiStyle_StartMenu( MENU_KEYSTONEPOPUP, NULL );
					break;
			}
			break;
            
        case ITEM_AUTOKEYSTONEITEM:
            switch( msg->type )
            {
                case GUIMSG_ASSERT:
                    enviro_enableAutoTilt( TRUE );
                    guiStyle_item_SetListIndex( ITEM_AUTOKEYSTONEITEM, TRUE );                                        
                    displayMenuValues->autoKeystone = TRUE;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久这里只有精品视频网| 久久麻豆一区二区| 欧美电视剧在线看免费| 中文字幕精品一区| 天天色图综合网| 99视频精品全部免费在线| 在线不卡免费欧美| 综合久久久久久久| 久久成人麻豆午夜电影| 欧美怡红院视频| 国产欧美视频一区二区| 日本成人超碰在线观看| 欧美综合一区二区| 国产精品嫩草久久久久| 久久99久久久欧美国产| 欧美日韩一区国产| 亚洲精品久久久蜜桃| 国产成人小视频| 欧美一区二区免费视频| 婷婷久久综合九色国产成人| 一本到不卡免费一区二区| 国产日韩视频一区二区三区| 乱一区二区av| 日韩视频一区二区三区在线播放| 亚洲美女少妇撒尿| 99在线热播精品免费| 日本一区二区三级电影在线观看| 麻豆成人免费电影| 日韩一区二区三区免费观看| 日韩电影免费一区| 欧美日韩一二区| 一区二区成人在线视频| 欧美在线不卡视频| 亚洲激情在线播放| 欧美中文字幕一区| 亚洲国产视频网站| 欧美三级蜜桃2在线观看| 亚洲中国最大av网站| 99久久99久久免费精品蜜臀| 国产精品九色蝌蚪自拍| 成人av网站免费| 亚洲欧美日韩精品久久久久| 91一区在线观看| 一区二区免费视频| 欧美精品v国产精品v日韩精品| 日欧美一区二区| 日韩一区二区在线看| 极品美女销魂一区二区三区免费| 精品国产一区二区精华| 国产成人精品1024| 中文字幕在线视频一区| 色婷婷激情一区二区三区| 亚洲国产精品天堂| 欧美一级高清大全免费观看| 国产盗摄一区二区| 亚洲男同性视频| 欧美高清精品3d| 国产伦理精品不卡| 中文字幕亚洲一区二区av在线| 在线观看国产精品网站| 久久av老司机精品网站导航| 国产日韩欧美精品一区| 色婷婷精品大视频在线蜜桃视频| 美女高潮久久久| 国产精品理论在线观看| 欧美色倩网站大全免费| 韩国av一区二区三区四区| 中文字幕一区二区视频| 欧美日韩激情一区二区三区| 国产一区二区不卡| 亚洲国产va精品久久久不卡综合| 欧美不卡视频一区| 成人激情文学综合网| 亚洲成年人网站在线观看| 久久久五月婷婷| 在线观看日韩电影| 国产一区啦啦啦在线观看| 一区二区视频在线| 久久综合九色综合97_久久久| 91丨九色丨尤物| 国内国产精品久久| 亚洲成av人片在线| 亚洲国产精品传媒在线观看| 欧美二区在线观看| 99re6这里只有精品视频在线观看| 日本欧美一区二区三区乱码| 亚洲丝袜精品丝袜在线| 欧美精品一区二区三区高清aⅴ| 一本一本大道香蕉久在线精品| 久久er99精品| 日韩高清一级片| 亚洲影院久久精品| 国产精品视频线看| 欧美大度的电影原声| 在线视频中文字幕一区二区| 国产麻豆精品在线| 蜜臀a∨国产成人精品| 亚洲图片自拍偷拍| 一区二区高清免费观看影视大全| 久久综合网色—综合色88| 制服视频三区第一页精品| 日本韩国一区二区三区| 国产v日产∨综合v精品视频| 国产在线精品免费av| 麻豆免费精品视频| 日本人妖一区二区| 青青国产91久久久久久| 天天综合色天天综合色h| 亚洲精选一二三| 有码一区二区三区| 亚洲日本va午夜在线影院| 国产欧美一区二区三区在线看蜜臀 | 麻豆视频观看网址久久| 午夜一区二区三区视频| 亚洲在线免费播放| 一区二区三区欧美亚洲| 亚洲欧美日韩国产一区二区三区 | 国产成人在线免费| 久久精品国产成人一区二区三区| 视频一区国产视频| 无码av免费一区二区三区试看| 亚洲国产视频直播| 亚洲成人一区二区| 日本在线不卡视频一二三区| 日韩avvvv在线播放| 美腿丝袜亚洲一区| 国内国产精品久久| 成人综合激情网| 91小宝寻花一区二区三区| 日本久久电影网| 69堂亚洲精品首页| 欧美一区二区三区电影| 日韩一区二区在线看片| 国产女人18水真多18精品一级做| 久久精品在这里| 成人欧美一区二区三区黑人麻豆| 亚洲欧美日韩综合aⅴ视频| 亚洲视频1区2区| 日韩成人dvd| 国产精品亚洲一区二区三区在线| 成人av综合在线| 色综合色综合色综合色综合色综合| 91麻豆精品国产91久久久 | 日本道在线观看一区二区| 在线影院国内精品| 欧美一区二区在线免费观看| 亚洲精品一区二区精华| 成人免费在线视频观看| 亚洲国产成人va在线观看天堂| 奇米精品一区二区三区在线观看| 韩日精品视频一区| 色婷婷综合久久久久中文一区二区| 欧美日韩性生活| 久久蜜桃av一区精品变态类天堂 | 人人狠狠综合久久亚洲| 国产91在线观看丝袜| 欧美影视一区在线| 久久综合色综合88| 亚洲国产另类av| 国产成人av福利| 欧美日韩久久久| 中文字幕亚洲视频| 老色鬼精品视频在线观看播放| av成人免费在线观看| 日韩一区二区三| 亚洲欧美视频一区| 韩国女主播成人在线| 欧美午夜视频网站| 国产精品水嫩水嫩| 久久 天天综合| 欧美日韩在线亚洲一区蜜芽| 中文字幕精品在线不卡| 毛片av一区二区| 欧美三级电影一区| 国产精品久久久久毛片软件| 人人精品人人爱| 欧美三级电影在线看| 中文字幕亚洲电影| 韩国女主播一区| 日韩欧美在线1卡| 亚洲午夜激情av| 99视频在线精品| 国产精品人妖ts系列视频| 麻豆精品久久久| 欧美日韩免费在线视频| 亚洲欧美欧美一区二区三区| 国产91富婆露脸刺激对白| 日韩精品一区二区三区视频在线观看| 亚洲综合成人在线| 欧美色涩在线第一页| 亚洲欧美日韩人成在线播放| 国产·精品毛片| 久久人人爽人人爽| 精品夜夜嗨av一区二区三区| 日韩无一区二区| 蜜臀av一区二区| 欧美精品一区二区高清在线观看 | 一区二区国产盗摄色噜噜| 97精品久久久久中文字幕| 中文字幕欧美一|