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

📄 osdav900.c

📁 LCD Monitor 部分源码
💻 C
📖 第 1 页 / 共 2 页
字号:
     {
         switch(ucOsdState)
         {
            case _MENU_COLOR:             ucOsdState = _MENU_EXIT;                break;
            case _MENU_IMAGE_SETTING:     ucOsdState = _MENU_COLOR;               break;
            case _MENU_OSD_MENU:          ucOsdState = _MENU_IMAGE_SETTING;       break;
            case _MENU_LANGUAGE:          ucOsdState = _MENU_OSD_MENU;            break;
            case _MENU_MISC:              ucOsdState = _MENU_LANGUAGE;            break;
            case _MENU_EXIT:              ucOsdState = _MENU_MISC;                break;
         }
     }     

     // Step 3: Draw
     DrawAVMainPageSelect(1);
}
//------------------------------------------------------------
void MAVMainMenuMenuOut()
{
     ucOsdState = _MENU_NONE;
     COsdFxDisableOsd();
}
//------------------------------------------------------------
void DrawAVMainPageSelect(unsigned char state)
{
     unsigned char ucY = 0;
     switch(ucOsdState)
     {
        case _MENU_COLOR:             ucY = 5;             break;
        case _MENU_IMAGE_SETTING:     ucY = 8;             break;
        case _MENU_OSD_MENU:          ucY = 11;            break;
        case _MENU_LANGUAGE:          ucY = 14;            break;
        case _MENU_MISC:              ucY = 17;            break;
        case _MENU_EXIT:              ucY = 20;            break;
     }
     DrawPen(state,ucY);
}
//------------------------------------------------------------



//------------------------------------------------------------
void MAVColorPageProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MAVColorPageMenuOut();  break;
         case VK_MENU_IN:       MAVColorPageMenuIn();   break;
         case VK_PREV_MENU:     MAVColorPageLR(0);      break;
         case VK_NEXT_MENU:     MAVColorPageLR(1);      break;
         case VK_ADJ_DEC:                               break;
         case VK_ADJ_INC:                               break;
         case VK_DO:                                    break;
         case VK_ENTER:         MAVColorPageMenuIn();   break;
         case VK_LEFT:          MAVColorPageLR(0);      break;
         case VK_RIGHT:         MAVColorPageLR(1);      break;
     }
}
//------------------------------------------------------------
void MAVColorPageMenuIn()
{
     switch(ucOsdState)
     {
        case _MENU_CONTRAST:
             ucOsdState = _MENU_CONTRAST_ADJ;
             SLIDER(CONTRAST_GUAGE);
             break;
        case _MENU_BRIGHTNESS:
             ucOsdState = _MENU_BRIGHTNESS_ADJ;
             SLIDER(BRIGHTNESS_GUAGE);
             break;
        case _MENU_HUE:
             ucOsdState = _MENU_HUE_ADJ;
             SLIDER(HUE_GUAGE);
             break;
        case _MENU_SATURATION:
             ucOsdState = _MENU_SATURATION_ADJ;
             SLIDER(SATURATION_GUAGE);
             break;
        case _MENU_COLOR_BACK:
             MAVColorPageMenuOut();
             break;
     }
}
//------------------------------------------------------------
void MAVColorPageLR(unsigned char LR)
{
     // Step 1: Clear Old Select
     DrawAVColorPageSelect(0);

     // Step 2: Change Select Item
     if(LR)
     {
         switch(ucOsdState)
         {
            case _MENU_CONTRAST:       ucOsdState = _MENU_BRIGHTNESS;     break;
            case _MENU_BRIGHTNESS:     ucOsdState = _MENU_HUE;            break;
            case _MENU_HUE:            ucOsdState = _MENU_SATURATION;     break;
            case _MENU_SATURATION:     ucOsdState = _MENU_COLOR_BACK;     break;
            case _MENU_COLOR_BACK:     ucOsdState = _MENU_CONTRAST;       break;
         }
     }
     else
     {
         switch(ucOsdState)
         {
            case _MENU_CONTRAST:       ucOsdState = _MENU_COLOR_BACK;     break;
            case _MENU_BRIGHTNESS:     ucOsdState = _MENU_CONTRAST;       break;
            case _MENU_HUE:            ucOsdState = _MENU_BRIGHTNESS;     break;
            case _MENU_SATURATION:     ucOsdState = _MENU_HUE;            break;
            case _MENU_COLOR_BACK:     ucOsdState = _MENU_SATURATION;     break;
         }
     }

     // Step 3: Draw
     DrawAVColorPageSelect(1);
}
//------------------------------------------------------------
void MAVColorPageMenuOut()
{
     ucOsdState = _MENU_COLOR;
     CLEAR_OSD_CLIENT();
     DrawMainPage();
}
//------------------------------------------------------------
void DrawAVColorPageSelect(unsigned char state)
{
     unsigned char ucY = 0;
     switch(ucOsdState)
     {
        case _MENU_CONTRAST:       ucY = 5;             break;
        case _MENU_BRIGHTNESS:     ucY = 8;             break;
        case _MENU_HUE:            ucY = 11;            break;
        case _MENU_SATURATION:     ucY = 14;            break;
        case _MENU_COLOR_BACK:     ucY = 17;            break;
     }
     DrawPen(state,ucY);
}
//------------------------------------------------------------




//------------------------------------------------------------
void MAVImagePageProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MAVImagePageMenuOut();          break;
         case VK_MENU_IN:       MAVImagePageMenuIn();           break;
         case VK_PREV_MENU:     MAVImagePageLR(0);              break;
         case VK_NEXT_MENU:     MAVImagePageLR(1);              break;
         case VK_ADJ_DEC:                                       break;
         case VK_ADJ_INC:                                       break;
         case VK_DO:                                            break;
         case VK_ENTER:         MAVImagePageMenuIn();           break;
         case VK_LEFT:          MAVImagePageLR(0);              break;
         case VK_RIGHT:         MAVImagePageLR(1);              break;
     }
}
//------------------------------------------------------------
void MAVImagePageMenuIn()
{
     switch(ucOsdState)
     {
        case _MENU_GAMMA:
             ucOsdState = _MENU_GAMMA_ADJ;
             Gotoxy(6,21,BYTE_DISPLAY);
             Textout(sGammaAdj);
             MDrawGammaSelState(0,1);
             break;
        case _MENU_SHARPNESS:
             ucOsdState = _MENU_SHARPNESS_ADJ;
             Gotoxy(4,21,BYTE_DISPLAY);
             Textout(sSharpnessAdj);
             MDrawSharpnessSelState(GET_SHARPNESS(),1);
             break;
        case _MENU_IMAGE_BACK:
             MAVImagePageMenuOut();
             break;
     }

}
//------------------------------------------------------------
void MAVImagePageLR(unsigned char LR)
{
     // Step 1: Clear Old Select
     DrawPen(0,(ucOsdState - _MENU_GAMMA) * 3 + 5);

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

     // Step 3: Draw
     DrawPen(1,(ucOsdState - _MENU_GAMMA) * 3 + 5);
}
//------------------------------------------------------------
void MAVImagePageMenuOut()
{
     ucOsdState = _MENU_IMAGE_SETTING;
     CLEAR_OSD_CLIENT();
     DrawMainPage();
}
//------------------------------------------------------------



//--------- AV HUE PROC ----------------------------------
void MAVHueAdjProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MAVHueMenuOut();        break;
         case VK_MENU_IN:                               break;
         case VK_PREV_MENU:                             break;
         case VK_NEXT_MENU:                             break;
         case VK_ADJ_DEC:       MAVHueLR(0);            break;
         case VK_ADJ_INC:       MAVHueLR(1);            break;
         case VK_DO:                                    break;
         case VK_ENTER:         MAVHueMenuOut();        break;
         case VK_LEFT:          MAVHueLR(0);            break;
         case VK_RIGHT:         MAVHueLR(1);            break;
     }
}
//------------------------------------------------------------
void MAVHueLR(unsigned char  LR)
{
     SET_KEYREPEATENABLE();     
     stVDCColor.Hue = ValueInRangeChange(0,100,stVDCColor.Hue,LR,0);
     SLIDER(HUE_GUAGE);
     rp_CAdjustVDCHue(stVDCColor.Hue);
}
//------------------------------------------------------------
void MAVHueMenuOut()
{
     ucOsdState = _MENU_HUE;
     CLEAR_OSD_ADJUST();
     CLR_KEYREPEATENABLE();
     ucOsdEventMsg = _SAVE_EE_VEDIOCOLOR_MSG;
}
//------------------------------------------------------------


      
//--------- AV SATURATION PROC ----------------------------------
void MAVSaturationAdjProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MAVSaturationMenuOut();         break;
         case VK_MENU_IN:                                       break;
         case VK_PREV_MENU:                                     break;
         case VK_NEXT_MENU:                                     break;
         case VK_ADJ_DEC:       MAVSaturationLR(0);             break;
         case VK_ADJ_INC:       MAVSaturationLR(1);             break;
         case VK_DO:                                            break;
         case VK_ENTER:         MAVSaturationMenuOut();         break;
         case VK_LEFT:          MAVSaturationLR(0);             break;
         case VK_RIGHT:         MAVSaturationLR(1);             break;
     }
}
//------------------------------------------------------------
void MAVSaturationLR(unsigned char  LR)
{
     SET_KEYREPEATENABLE();
     stVDCColor.Saturation = ValueInRangeChange(0,100,stVDCColor.Saturation,LR,0);
     SLIDER(SATURATION_GUAGE);
     rp_CAdjustVDCSaturation(stVDCColor.Saturation);
}
//------------------------------------------------------------
void MAVSaturationMenuOut()
{
     ucOsdState = _MENU_SATURATION;
     CLEAR_OSD_ADJUST();
     CLR_KEYREPEATENABLE();

     ucOsdEventMsg = _SAVE_EE_VEDIOCOLOR_MSG;
}
//------------------------------------------------------------
#endif    //#if(_VIDEO_AV_SUPPORT || _VIDEO_SV_SUPPORT || _VIDEO_TV_SUPPORT)
#endif    //#if(OSD_TYPE == OSD900)

⌨️ 快捷键说明

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