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

📄 osdtv900.c

📁 LCD Monitor 部分源码
💻 C
📖 第 1 页 / 共 2 页
字号:
             ucOsdState = _MENU_OSD_HPOS;
             DrawOSDPage();
             break;
        case _MENU_LANGUAGE:
             ucOsdState = _MENU_LANGUAGE_ADJ;
             DrawLanguagePage();
             break;
        case _MENU_MISC:
             ucOsdState = _MENU_RESET;
             DrawMiscPage();
             break;
        case _MENU_EXIT:
             ucOsdState = _MENU_NONE;
             COsdFxDisableOsd();
             break;
     }
}
//------------------------------------------------------------
void MTVMainLR(unsigned char LR)
{
     DrawTVPen(0);

     if(LR)
     {
         switch(ucOsdState)
         {
            case _MENU_COLOR:               ucOsdState = _MENU_EXIT;            break;
            case _MENU_IMAGE_SETTING:       ucOsdState = _MENU_COLOR;           break;
            case _MENU_TV:                  ucOsdState = _MENU_IMAGE_SETTING;   break;
            case _MENU_OSD_MENU:            ucOsdState = _MENU_TV;              break;
            case _MENU_LANGUAGE:            ucOsdState = _MENU_OSD_MENU;        break;
            case _MENU_MISC:                ucOsdState = _MENU_LANGUAGE;        break;
            case _MENU_EXIT:                ucOsdState = _MENU_MISC;            break;
         }
     }
     else
     {
         switch(ucOsdState)
         {
            case _MENU_COLOR:               ucOsdState = _MENU_IMAGE_SETTING;   break;
            case _MENU_IMAGE_SETTING:       ucOsdState = _MENU_TV;              break;
            case _MENU_TV:                  ucOsdState = _MENU_OSD_MENU;        break;
            case _MENU_OSD_MENU:            ucOsdState = _MENU_LANGUAGE;        break;
            case _MENU_LANGUAGE:            ucOsdState = _MENU_MISC;            break;
            case _MENU_MISC:                ucOsdState = _MENU_EXIT;            break;
            case _MENU_EXIT:                ucOsdState = _MENU_COLOR;           break;
         }
     }
     DrawTVPen(1);
}
//------------------------------------------------------------
void MTVMainMenuOut()
{
     ucOsdState = _MENU_NONE;
     COsdFxDisableOsd();
}
//------------------------------------------------------------





//------------------------------------------------------------
void MTVSubMenuProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MTVSubMenuOut();        break;
         case VK_MENU_IN:       MTVSubMenuIn();         break;
         case VK_PREV_MENU:     MTVSubMenuLR(0);        break;
         case VK_NEXT_MENU:     MTVSubMenuLR(1);        break;
         case VK_ADJ_DEC:                               break;
         case VK_ADJ_INC:                               break;
         case VK_DO:                                    break;
         case VK_ENTER:         MTVSubMenuIn();         break;
         case VK_LEFT:          MTVSubMenuLR(0);        break;
         case VK_RIGHT:         MTVSubMenuLR(1);        break;
     }           
}
//------------------------------------------------------------
void MTVSubMenuIn()
{
     switch(ucOsdState)
     {
          case _MENU_CHANNEL:
               ucOsdState = _MENU_CHANNEL_ADJ;
               DrawChannel();
               break;
          case _MENU_SYSTEM:
               ucOsdState = _MENU_SYSTEM_ADJ;
               DrawTVSystem();
               break;
          case _MENU_TUNING:
               ucOsdState = _MENU_TUNING_ADJ;
               DrawTuning();
               break;
          case _MENU_SWAP:
               ucOsdState = _MENU_SWAP_ADJ;
               DrawSwap();
               break;
          case _MENU_AUTO_SEARCH:
               // Do Auto Search
               CModeSetFreeRun();
               CAdjustBackgroundColor(0x00, 0x00, 0xff);
               stVDCColor.CurrentChannel = 0;
               CTvAutoSearch();
               CLEAR_OSD_ADJUST();
               ucCurrState   = _SEARCH1_STATE;
               ucOsdEventMsg = _SAVE_EE_VEDIOCOLOR_MSG;
               ucOsdState = _MENU_NONE;
               COsdFxDisableOsd();
               break;
          case _MENU_MANUAL_SEARCH:
               ucOsdState = _MENU_MANUAL_SEARCH_ADJ;
               DrawManualSearch();
               break;
          case _MENU_TV_BACK:
               ucOsdState = _MENU_TV;
               CLEAR_OSD_CLIENT();
               DrawMainPage();
               break;
     }
}
//------------------------------------------------------------
void MTVSubMenuLR(unsigned char LR)
{
     // Step 1: Clear Old Select
     DrawPen(0,(ucOsdState - _MENU_CHANNEL) * 2 + 5);

     // Step 2: Change Select Item
     ucOsdState = ValueInRangeChange(_MENU_CHANNEL,_MENU_TV_BACK,ucOsdState,LR,1);

     // Step 3: Draw
     DrawPen(1,(ucOsdState - _MENU_CHANNEL) * 2 + 5);
}
//------------------------------------------------------------
void MTVSubMenuOut()
{
     ucOsdState = _MENU_TV;
     CLEAR_OSD_CLIENT();
     DrawMainPage();
}
//------------------------------------------------------------





//---------------------------------------------------------------------------
void MChannelProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MChannelMenuOut();      break;
         case VK_MENU_IN:                               break;
         case VK_PREV_MENU:                             break;
         case VK_NEXT_MENU:                             break;
         case VK_ADJ_DEC:       MChannelLR(0);          break;
         case VK_ADJ_INC:       MChannelLR(1);          break;
         case VK_DO:                                    break;
         case VK_ENTER:         MTVSubMenuOut();        break;
         case VK_LEFT:          MChannelLR(0);          break;
         case VK_RIGHT:         MChannelLR(1);          break;
     }
}
//------------------------------------------------------------
void MChannelLR(unsigned char LR)
{
    stVDCColor.CurrentChannel = ValueInRangeChange(0,CLoadMaxChannelNumber(),stVDCColor.CurrentChannel,LR,1);
    CSetTVChannel(stVDCColor.CurrentChannel);
    DrawChannel();
    // Save current channel
    ucOsdEventMsg = _SAVE_EE_VEDIOCOLOR_MSG;
    //CEepromSaveVedioColor();
}
//------------------------------------------------------------
void MChannelMenuOut()
{
     ucOsdState = _MENU_CHANNEL;
     CLEAR_OSD_ADJUST();
}
//------------------------------------------------------------



//---------------------------------------------------------------------------
void MSystemProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MSystemMenuOut();       break;
         case VK_MENU_IN:                               break;
         case VK_PREV_MENU:                             break;
         case VK_NEXT_MENU:                             break;
         case VK_ADJ_DEC:       MSystemLR(0);           break;
         case VK_ADJ_INC:       MSystemLR(1);           break;
         case VK_DO:                                    break;
         case VK_ENTER:         MSystemMenuOut();       break;
         case VK_LEFT:          MSystemLR(0);           break;
         case VK_RIGHT:         MSystemLR(1);           break;
     }
}
//------------------------------------------------------------
void MSystemLR(unsigned char LR)
{
    ucTVType = ValueInRangeChange(0, 3, ucTVType, LR, 1);

    // Save adjust result
    CSaveChannelColorType(stVDCColor.CurrentChannel, ucTVType);

    CWrite9886(ucTVType); // set 9886

    CLEAR_OSD_ADJUST();
    DrawTVSystem();

}
//------------------------------------------------------------
void MSystemMenuOut()
{
     ucOsdState = _MENU_SYSTEM;
     CLEAR_OSD_ADJUST();
}
//------------------------------------------------------------





//---------------------------------------------------------------------------
void MTuningProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MTuningMenuOut();       break;
         case VK_MENU_IN:                               break;
         case VK_PREV_MENU:                             break;
         case VK_NEXT_MENU:                             break;
         case VK_ADJ_DEC:       MTuningLR(0);           break;
         case VK_ADJ_INC:       MTuningLR(1);           break;
         case VK_DO:                                    break;
         case VK_ENTER:         MTuningMenuOut();       break;
         case VK_LEFT:          MTuningLR(0);           break;
         case VK_RIGHT:         MTuningLR(1);           break;
     }
}
//------------------------------------------------------------
void MTuningLR(unsigned char LR)
{
     // : Insert Adjust Code & Redraw
     CTuningCurrentChannel((bit)LR,stVDCColor.CurrentChannel);
     DrawTuning();
}
//------------------------------------------------------------
void MTuningMenuOut()
{
     ucOsdState = _MENU_TUNING;
     CLEAR_OSD_ADJUST();

}
//------------------------------------------------------------



//---------------------------------------------------------------------------
void MSwapProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MSwapMenuOut(); break;
         case VK_MENU_IN:                       break;
         case VK_PREV_MENU:                     break;
         case VK_NEXT_MENU:                     break;
         case VK_ADJ_DEC:       MSwapLR(0);     break;
         case VK_ADJ_INC:       MSwapLR(1);     break;
         case VK_DO:                            break;
         case VK_ENTER:         MSwapMenuOut(); break;
         case VK_LEFT:          MSwapLR(0);     break;
         case VK_RIGHT:         MSwapLR(1);     break;
     }
}
//------------------------------------------------------------
void MSwapLR(unsigned char LR)
{
    stVDCColor.CurrentChannel = ValueInRangeChange(0,CLoadMaxChannelNumber(),stVDCColor.CurrentChannel,LR,1);
    CSetTVChannel(stVDCColor.CurrentChannel);
    DrawSwap();
}
//------------------------------------------------------------  
void MSwapMenuOut()
{
    WORD ucSwapFreq        = CLoadChannelFreq(stVDCColor.CurrentChannel);
    BYTE ucSwapColorSystem = CLoadChannelColorType(stVDCColor.CurrentChannel);
    BYTE ucSwapSoundSystem = CLoadChannelSoundType(stVDCColor.CurrentChannel);

    CSaveChannelFreq(CLoadChannelFreq(ucPrevChannel), stVDCColor.CurrentChannel);
    CSaveChannelColorType(CLoadChannelColorType(ucPrevChannel), stVDCColor.CurrentChannel);
    CSaveChannelSoundType(CLoadChannelSoundType(ucPrevChannel), stVDCColor.CurrentChannel);

    CSaveChannelFreq(ucSwapFreq, ucPrevChannel);
    CSaveChannelColorType(ucSwapColorSystem, ucPrevChannel);
    CSaveChannelSoundType(ucSwapSoundSystem, ucPrevChannel);

    CSetTVChannel(stVDCColor.CurrentChannel);

    ucOsdState = _MENU_SWAP;
    CLEAR_OSD_ADJUST();
}
//------------------------------------------------------------





//------------------------------------------------------------
void MManualSearchProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MManualSearchMenuOut();         break;
         case VK_MENU_IN:                                       break;
         case VK_PREV_MENU:                                     break;
         case VK_NEXT_MENU:                                     break;
         case VK_ADJ_DEC:       MManualSearchLR(0);             break;
         case VK_ADJ_INC:       MManualSearchLR(1);             break;
         case VK_DO:                                            break;
         case VK_ENTER:         MManualSearchMenuOut();         break;
         case VK_LEFT:          MManualSearchLR(0);             break;
         case VK_RIGHT:         MManualSearchLR(1);             break;
     }
}
//------------------------------------------------------------
void MManualSearchLR(unsigned char LR)
{
    CManualSearch((bit)LR,stVDCColor.CurrentChannel);
    CTimerDelayXms(200);
}
//------------------------------------------------------------
void MManualSearchMenuOut()
{
     ucOsdState = _MENU_MANUAL_SEARCH;
     CLEAR_OSD_ADJUST();
}
//------------------------------------------------------------




#endif //#if(_VIDEO_TV_SUPPORT)
#endif //#if(OSD_TYPE == OSD900)

⌨️ 快捷键说明

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