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

📄 osdmenufunc003.c

📁 RTD2662板卡源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
        {
            ucState = _ST_NORMAL;
        }
        
        DrawColorPageMenuItem(i,        ucState);
    }
    DrawPageNullLine(_MI_BRIGHTNESS,_MI_COLORTEMP);
}
//---------------------------------------------------------------------------
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE 
void DrawAutoAdjust(BYTE State)
{
    BYTE y;
    BYTE ucColor;
    
    // get display line
    y = GetShowIndex(_MI_AUTOADJUST,BEGIN(_MI_AUTOADJUST),END(_MI_CLOCK));
    
    if(y == _NOT_SHOW)
        return;
    
    // get display color
    ucColor = StateColor(State);
    
    y = SHOWINDEX_TO_LINE(y);
    
    SubMenuTextOut(sAutoConfig[GET_LANGUAGE()],y,ucColor,State);
    
}
//---------------------------------------------------------------------------
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE 
void DrawHPosition(BYTE State)
{
    BYTE y;
    BYTE ucColor;
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)      
    BYTE ucColor1;
#endif  
    
    // get display line
    y = GetShowIndex(_MI_HPOSITION,BEGIN(_MI_AUTOADJUST),END(_MI_CLOCK));
    
    if(y == _NOT_SHOW)
        return;
    
    // get display color
    ucColor = StateColor(State);
    
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)
    if(State == _ST_ADJUST)
    {
        ucColor1 = StateColor(_ST_SELECT);
    }
    else
    {
        ucColor1 = ucColor;
    }
#endif  
    
    y = SHOWINDEX_TO_LINE(y);
    
#if(_KEY_TYPE == _KT_PCB2660_003)
        SubMenuTextOut(sHPosition[GET_LANGUAGE()],y,ucColor,State);
#endif
    
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)
    SubMenuTextOut(sHPosition[GET_LANGUAGE()],y,ucColor1,State);
#endif
    
    // draw slider
    OSD_SLIDER(y,COsdCtrlGetHPosition(),ucColor);
    
}
//---------------------------------------------------------------------------
void HPositionAdjust(BYTE ucMode)
{
    // ucMode : _INC or _DEC
    BYTE y;
    
    SET_KEYREPEATENABLE();
    
    stModeUserData.HPosition = ValueInRangeChange(stModeUserCenterData.CenterHPos - _HPOSITION_BIAS,
        stModeUserCenterData.CenterHPos + _HPOSITION_BIAS,
        stModeUserData.HPosition,_NON_LOOP | ucMode);
    
    ucOsdEventMsg = _SAVE_EE_MODEUSERDATA_MSG;
    CAdjustHPosition();
    
    // get display line
    y = GetShowIndex(_MI_HPOSITION,BEGIN(_MI_AUTOADJUST),END(_MI_CLOCK));
    
    if(y == _NOT_SHOW)
        return;
    
    y = SHOWINDEX_TO_LINE(y);
#if(_KEY_TYPE == _KT_PCB2660_003)
    OSD_SLIDER(y,COsdCtrlGetHPosition(),_MENU_SECECT_COLOR);
#endif
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)
    OSD_SLIDER(y,COsdCtrlGetHPosition(),_MENU_ADJUST_COLOR);
#endif
}
//---------------------------------------------------------------------------


//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE 
void DrawVPosition(BYTE State)
{
    BYTE y;
    BYTE ucColor;
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)  
    BYTE ucColor1;
#endif
    
    // get display line
    y = GetShowIndex(_MI_VPOSITION,BEGIN(_MI_AUTOADJUST),END(_MI_CLOCK));
    
    if(y == _NOT_SHOW)
        return;
    
    // get display color
    ucColor = StateColor(State);
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)
    if(State == _ST_ADJUST)
    {
        ucColor1 = StateColor(_ST_SELECT);
    }
    else
    {
        ucColor1 = ucColor;
    }   
#endif
    
    y = SHOWINDEX_TO_LINE(y);
    
#if(_KEY_TYPE == _KT_PCB2660_003)
    SubMenuTextOut(sVPosition[GET_LANGUAGE()],y,ucColor,State);
#endif
    
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)
    SubMenuTextOut(sVPosition[GET_LANGUAGE()],y,ucColor1,State);
#endif
    // draw slider
    OSD_SLIDER(y,COsdCtrlGetVPosition(),ucColor);
    
    
}
//---------------------------------------------------------------------------
void VPositionAdjust(BYTE ucMode)
{
    // ucMode : _INC or _DEC
    BYTE y;
    
    SET_KEYREPEATENABLE();
    
    stModeUserData.VPosition = ValueInRangeChange(stModeUserCenterData.CenterVPos - _VPOSITION_BIAS,
        stModeUserCenterData.CenterVPos + _VPOSITION_BIAS,
        stModeUserData.VPosition,
        _NON_LOOP | ucMode);
    
    ucOsdEventMsg = _SAVE_EE_MODEUSERDATA_MSG;
    CAdjustVPosition();
    
    // get display line
    y = GetShowIndex(_MI_VPOSITION,BEGIN(_MI_AUTOADJUST),END(_MI_CLOCK));
    
    if(y == _NOT_SHOW)
        return;
    
    y = SHOWINDEX_TO_LINE(y);
#if(_KEY_TYPE == _KT_PCB2660_003)
    OSD_SLIDER(y,COsdCtrlGetVPosition(),_MENU_SECECT_COLOR);
#endif
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)
    OSD_SLIDER(y,COsdCtrlGetVPosition(),_MENU_ADJUST_COLOR);
#endif
}
//---------------------------------------------------------------------------
void PhaseAdjust(BYTE ucMode)
{
    // ucMode : _INC or _DEC
    BYTE y;
    
    SET_KEYREPEATENABLE();
    
    // stModeUserData.VPosition = ValueInRangeChange(stModeUserCenterData.CenterVPos - _VPOSITION_BIAS,stModeUserCenterData.CenterVPos + _VPOSITION_BIAS,stModeUserData.VPosition,_NON_LOOP | ucMode);
    stModeUserData.Phase = ValueInRangeChange(0, 63, stModeUserData.Phase, _NON_LOOP | ucMode);
    
    ucOsdEventMsg = _SAVE_EE_MODEUSERDATA_MSG;
    CAdjustPhase(stModeUserData.Phase);
    
    // get display line
    y = GetShowIndex(_MI_PHASE,BEGIN(_MI_AUTOADJUST),END(_MI_CLOCK));
    
    if(y == _NOT_SHOW)
        return;
    
    y = SHOWINDEX_TO_LINE(y);
#if(_KEY_TYPE == _KT_PCB2660_003)
    OSDSlider(y, 30, 10, stModeUserData.Phase, 63, _MENU_SECECT_COLOR);
#endif
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)
    
    OSDSlider(y, 30, 10, stModeUserData.Phase, 63, _MENU_ADJUST_COLOR);
    //  OSD_SLIDER(y,stModeUserData.Phase,_MENU_SECECT_COLOR);
#endif
}
//---------------------------------------------------------------------------
void ClockAdjust(BYTE ucMode)
{
    // ucMode : _INC or _DEC
    BYTE y;
    
    SET_KEYREPEATENABLE();
    
    // stModeUserData.VPosition = ValueInRangeChange(stModeUserCenterData.CenterVPos - _VPOSITION_BIAS,stModeUserCenterData.CenterVPos + _VPOSITION_BIAS,stModeUserData.VPosition,_NON_LOOP | ucMode);
    stModeUserData.Clock = ValueInRangeChange(COsdFxGetAdcClockRange(_GET_CLOCKRANGE_MIN), COsdFxGetAdcClockRange(_GET_CLOCKRANGE_MAX), stModeUserData.Clock, _NON_LOOP | ucMode);
    
    ucOsdEventMsg = _SAVE_EE_MODEUSERDATA_MSG;
    CAdjustAdcClock(stModeUserData.Clock);
    
    // get display line
    y = GetShowIndex(_MI_CLOCK,BEGIN(_MI_AUTOADJUST),END(_MI_CLOCK));
    
    if(y == _NOT_SHOW)
        return;
    
    y = SHOWINDEX_TO_LINE(y);
#if(_KEY_TYPE == _KT_PCB2660_003)
    OSD_SLIDER(y,COsdCtrlGetClock(),_MENU_SECECT_COLOR);
#endif
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)
    OSD_SLIDER(y,COsdCtrlGetClock(),_MENU_ADJUST_COLOR);
#endif
}
//---------------------------------------------------------------------------


//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE 
void DrawPhase(BYTE State)
{
    BYTE y;
    BYTE ucColor;
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)  
    BYTE ucColor1;
#endif
    
    // get display line
    y = GetShowIndex(_MI_PHASE,BEGIN(_MI_AUTOADJUST),END(_MI_CLOCK));
    
    if(y == _NOT_SHOW)
        return;
    
    // get display color
    ucColor = StateColor(State);
    
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)
    if(State == _ST_ADJUST)
    {
        ucColor1 = StateColor(_ST_SELECT);
    }
    else
    {
        ucColor1 = ucColor;
    }       
#endif
    
    y = SHOWINDEX_TO_LINE(y);
    
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)
    SubMenuTextOut(sPhase[GET_LANGUAGE()],y,ucColor1,State);
#endif
#if(_KEY_TYPE == _KT_PCB2660_003)
    SubMenuTextOut(sPhase[GET_LANGUAGE()],y,ucColor,State);
#endif
    // draw slider
    OSDSlider(y, 30, 10, stModeUserData.Phase, 63, ucColor);
    //  OSD_SLIDER(y,COsdCtrlGetPhase(),ucColor);   
}
//---------------------------------------------------------------------------
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE 
void DrawClock(BYTE State)
{
    BYTE y;
    BYTE ucColor;
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)  
    BYTE ucColor1;
#endif  
    
    // get display line
    y = GetShowIndex(_MI_CLOCK,BEGIN(_MI_AUTOADJUST),END(_MI_CLOCK));
    
    if(y == _NOT_SHOW)
        return;
    
    // get display color
    ucColor = StateColor(State);
    
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)
    if(State == _ST_ADJUST)
    {
        ucColor1 = StateColor(_ST_SELECT);
    }
    else
    {
        ucColor1 = ucColor;
    }   
#endif  
    
    y = SHOWINDEX_TO_LINE(y);
    
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)
    SubMenuTextOut(sClock[GET_LANGUAGE()],y,ucColor1,State);
#endif
    
#if(_KEY_TYPE == _KT_PCB2660_003)
    SubMenuTextOut(sClock[GET_LANGUAGE()],y,ucColor,State);
#endif
    
    // draw slider
    OSD_SLIDER(y,COsdCtrlGetClock(),ucColor);
    
}
//---------------------------------------------------------------------------
// ucItem : MainMenu\Adjust\_MI_AUTOADJUST,_MI_HPOSITION,_MI_VPOSITION,_MI_PHASE,_MI_CLOCK,
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE 
void DrawAdjustPageMenuItem(BYTE ucItem,BYTE ucState)
{
    if(!g_tMenuItem[ucItem].Enable())
    {
        ucState = _ST_DISABLE;  
    }
    
    switch(ucItem)
    {
    case _MI_AUTOADJUST:        DrawAutoAdjust(ucState);        break;
    case _MI_HPOSITION:         DrawHPosition(ucState);         break;
    case _MI_VPOSITION:         DrawVPosition(ucState);         break;
    case _MI_PHASE:             DrawPhase(ucState);             break;
    case _MI_CLOCK:             DrawClock(ucState);             break;
    }
}
//---------------------------------------------------------------------------
// MainMenu\Adjust\_MI_AUTOADJUST,_MI_HPOSITION,_MI_VPOSITION,_MI_PHASE,_MI_CLOCK,
void DrawAdjustPage(void)
{
    BYTE i;
    BYTE ucState;
    
    for(i=_MI_AUTOADJUST;i<=_MI_CLOCK;i++)
    {
        if(i == ucOsdState)
        {
            ucState = _ST_SELECT;
        }
        else
        {
            ucState = _ST_NORMAL;
        }
        
        DrawAdjustPageMenuItem(i,       ucState);
    }
    DrawPageNullLine(_MI_AUTOADJUST,_MI_CLOCK);
}
//---------------------------------------------------------------------------
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE 
void DrawLanguage(BYTE State)
{
    BYTE y;
    BYTE ucColor;
    
    // get display line
    y = GetShowIndex(_MI_LANGUAGE,BEGIN(_MI_LANGUAGE),END(_MI_TRANSPARENT));
    
    if(y == _NOT_SHOW)
        return;
    
    // get display color
    ucColor = StateColor(State);
    
    y = SHOWINDEX_TO_LINE(y);
    
    SubMenuTextOut(sLanguage[GET_LANGUAGE()],y,ucColor,State);
    
    SUBMENU_RIGHT_TEXTOUT(sLanguageName[GET_LANGUAGE()],y);
}
//---------------------------------------------------------------------------
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE 
void DrawOSDHPosition(BYTE State)
{
    BYTE y;
    BYTE ucColor;
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)  
    BYTE ucColor1;
#endif
    
    
    // get display line
    y = GetShowIndex(_MI_OSD_HPOSITION,BEGIN(_MI_LANGUAGE),END(_MI_TRANSPARENT));
    
    if(y == _NOT_SHOW)
        return;
    
    // get display color
    ucColor = StateColor(State);
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)
    if(State == _ST_ADJUST)
    {
        ucColor1 = StateColor(_ST_SELECT);
    }
    else
    {
        ucColor1 = ucColor;
    }   
#endif  
    
    y = SHOWINDEX_TO_LINE(y);
#if(_KEY_TYPE == _KT_PCB2660_003)
    SubMenuTextOut(sHPosition[GET_LANGUAGE()],y,ucColor,State);
#endif
    
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)
    SubMenuTextOut(sHPosition[GET_LANGUAGE()],y,ucColor1,State);
#endif
    // draw slider
    OSD_SLIDER(y,stOsdUserData.OsdHPos,ucColor);
}
//---------------------------------------------------------------------------
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE 
void DrawOSDVPosition(BYTE State)
{
    BYTE y;
    BYTE ucColor;
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)  
    BYTE ucColor1;
#endif  
    
    // get display line
    y = GetShowIndex(_MI_OSD_VPOSITION,BEGIN(_MI_LANGUAGE),END(_MI_TRANSPARENT));
    
    if(y == _NOT_SHOW)
        return;
    
    // get display color
    ucColor = StateColor(State);
    
    y = SHOWINDEX_TO_LINE(y);
    
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)      
    if(State == _ST_ADJUST)
    {
        ucColor1 = StateColor(_ST_SELECT);
    }
    else
    {
        ucColor1 = ucColor;
    }   
    
    SubMenuTextOut(sVPosition[GET_LANGUAGE()],y,ucColor1,State);
#endif
#if(_KEY_TYPE == _KT_PCB2660_003)
    SubMenuTextOut(sVPosition[GET_LANGUAGE()],y,ucColor,State);
#endif
    
    // draw slider
    OSD_SLIDER(y,stOsdUserData.OsdVPos,ucColor);
}
//---------------------------------------------------------------------------
//ucState : _ST_NORMAL,_ST_SELECT,_ST_DISABLE 
void DrawOSDTimer(BYTE State)
{
    BYTE y;
    BYTE ucColor;
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)  
    BYTE ucColor1;
#endif  
    
    // get display line
    y = GetShowIndex(_MI_TIMER,BEGIN(_MI_LANGUAGE),END(_MI_TRANSPARENT));
    
    if(y == _NOT_SHOW)
        return;
    
    // get display color
    ucColor = StateColor(State);
    
    y = SHOWINDEX_TO_LINE(y);
    
#if(_KEY_TYPE == _KT_PCB2660_003_5KEY)
    if(State == _ST_ADJUST)
    {

⌨️ 快捷键说明

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