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

📄 osdvga900.c

📁 LCD Monitor 部分源码
💻 C
📖 第 1 页 / 共 4 页
字号:
     DrawPen(1,(ucOsdState - _MENU_CONTRAST) * 3 + 5);
}
//------------------------------------------------------------
void MColorPageMenuOut()
{
     ucOsdState = _MENU_COLOR;
     CLEAR_OSD_CLIENT();
     DrawMainPage();
}
//------------------------------------------------------------
void MDrawColorPageRGB()
{
     CenterTextout((unsigned char code *)sRed[GET_LANGUAGE],5,23);
     CenterTextout((unsigned char code *)sGreen[GET_LANGUAGE],11,23);
     CenterTextout((unsigned char code *)sBlue[GET_LANGUAGE],17,23);
}
//------------------------------------------------------------
void MColorPageRGBSelect(unsigned char ucItem,unsigned char ucState)
{
     Gotoxy(ucItem * 6 + 4,22,BYTE_DISPLAY);
     if(ucState)    OutputChar(0x3b);
     else           OutputChar(' ');
}
//------------------------------------------------------------
void MDrawColorTmp()
{
     Gotoxy(4,23,BYTE_DISPLAY);
     Textout(sColorTmp);
}
//------------------------------------------------------------




//------------------------------------------------------------
void MColorAdjustPageProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MColorAdjustPageMenuOut();      break;
         case VK_MENU_IN:       MColorAdjustPageMenuIn();       break;
         case VK_PREV_MENU:                                     break;
         case VK_NEXT_MENU:                                     break;
         case VK_ADJ_DEC:       MColorAdjustPageLR(0);          break;
         case VK_ADJ_INC:       MColorAdjustPageLR(1);          break;
         case VK_DO:                                            break;
         case VK_ENTER:         MColorAdjustPageMenuIn();       break;
         case VK_LEFT:          MColorAdjustPageLR(0);          break;
         case VK_RIGHT:         MColorAdjustPageLR(1);          break;
     }
}
//------------------------------------------------------------
void MColorAdjustPageMenuIn()
{
     switch(ucOsdState)
     {
        case _MENU_RED:
             ucOsdState = _MENU_RED_ADJ;
             SLIDER1(USER_R_GUAGE,0x20);
             break;
        case _MENU_GREEN:
             ucOsdState = _MENU_GREEN_ADJ;
             SLIDER1(USER_G_GUAGE,0x30);
             break;
        case _MENU_BLUE:
             ucOsdState = _MENU_BLUE_ADJ;
             SLIDER1(USER_B_GUAGE,0x40);
             break;
     }
}
//------------------------------------------------------------
void MColorAdjustPageLR(unsigned char LR)
{
     // Step 1: Clear Old Select
     MColorPageRGBSelect(ucOsdState - _MENU_RED,0);

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

     // Step 3: Draw
     MColorPageRGBSelect(ucOsdState - _MENU_RED,1);
}
//------------------------------------------------------------
void MColorAdjustPageMenuOut()
{
     ucOsdState = _MENU_COLOR_ADJUST;
     CLEAR_OSD_ADJUST();
}
//------------------------------------------------------------

void MColorTmpPageProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MColorTmpPageMenuOut(); break;
         case VK_MENU_IN:                               break;
         case VK_PREV_MENU:     MColorTmpPageLR(0);     break;
         case VK_NEXT_MENU:     MColorTmpPageLR(1);     break;
         case VK_ADJ_DEC:                               break;
         case VK_ADJ_INC:                               break;
         case VK_DO:                                    break;
         case VK_ENTER:         MColorTmpPageMenuOut(); break;
         case VK_LEFT:          MColorTmpPageLR(0);     break;
         case VK_RIGHT:         MColorTmpPageLR(1);     break;
     }
}
//------------------------------------------------------------
void MColorTmpPageLR(unsigned char LR)
{
     // Step 1: Clear Old Select
     MColorPageRGBSelect(ucOsdState - _MENU_9300,0);

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

     // Step 3: Draw
     MColorPageRGBSelect(ucOsdState - _MENU_9300,1);
     switch(ucOsdState)
     {
        case _MENU_9300:
             SET_COLOR_TEMP_TYPE(_CT_9300);
             CEepromLoadColorTempData();
             break;
        case _MENU_6500:
             SET_COLOR_TEMP_TYPE(_CT_6500);
             CEepromLoadColorTempData();
             break;
        case _MENU_USER:
             SET_COLOR_TEMP_TYPE(_CT_USER);
             CEepromLoadColorTempData();
             break;
     }
     ucOsdEventMsg =  _SAVE_EE_SYSTEMDATA_MSG;
     CAdjustContrast();
}
//------------------------------------------------------------
void MColorTmpPageMenuOut()
{
     ucOsdState = _MENU_COLOR_TEMP;
     CLEAR_OSD_ADJUST();
}
//------------------------------------------------------------


void MImagePageProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MImagePageMenuOut();    break;
         case VK_MENU_IN:       MImagePageMenuIn();     break;
         case VK_PREV_MENU:     MImagePageLR(0);        break;
         case VK_NEXT_MENU:     MImagePageLR(1);        break;
         case VK_ADJ_DEC:                               break;
         case VK_ADJ_INC:                               break;
         case VK_DO:                                    break;
         case VK_ENTER:         MImagePageMenuIn();     break;
         case VK_LEFT:          MImagePageLR(0);        break;
         case VK_RIGHT:         MImagePageLR(1);        break;
     }
}
//------------------------------------------------------------
void MImagePageMenuIn()
{
     switch(ucOsdState)
     {
        case _MENU_CLOCK:
             ucOsdState = _MENU_CLOCK_ADJ;
             SLIDER(ClockGuage());
             break;
        case _MENU_PHASE:
             ucOsdState = _MENU_PHASE_ADJ;
             SLIDER(PHASE_GUAGE);
             break;
        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:
             MImagePageMenuOut();
             break;
     }

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

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

     // Step 3: Draw
     DrawPen(1,(ucOsdState - _MENU_CLOCK) * 3 + 5);
}
//------------------------------------------------------------
void MImagePageMenuOut()
{
     ucOsdState = _MENU_IMAGE_SETTING;
     CLEAR_OSD_CLIENT();
     DrawMainPage();
}
//------------------------------------------------------------
void MDrawGammaSelState(unsigned char ucItem,unsigned char ucState)
{
     Gotoxy((ucItem * 3) + 6,20,BYTE_DISPLAY);
     if(ucState)   OutputChar(0x3b);
     else          OutputChar(0x00);
}
//------------------------------------------------------------
void MDrawSharpnessSelState(unsigned char ucItem,unsigned char ucState)
{
     Gotoxy((ucItem * 3) + 4,20,BYTE_DISPLAY);
     if(ucState)   OutputChar(0x3b);
     else          OutputChar(0x00);
}
//------------------------------------------------------------





//------------------------------------------------------------
void MPositionPageProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MPositionPageMenuOut(); break;
         case VK_MENU_IN:       MPositionPageMenuIn();  break;
         case VK_PREV_MENU:     MPositionPageLR(0);     break;
         case VK_NEXT_MENU:     MPositionPageLR(1);     break;
         case VK_ADJ_DEC:                               break;
         case VK_ADJ_INC:                               break;
         case VK_DO:                                    break;
         case VK_ENTER:         MPositionPageMenuIn();  break;
         case VK_LEFT:          MPositionPageLR(0);     break;
         case VK_RIGHT:         MPositionPageLR(1);     break;
     }
}
//------------------------------------------------------------
void MPositionPageMenuIn()
{
     switch(ucOsdState)
     {
        case _MENU_HPOS:
             ucOsdState = _MENU_HPOS_ADJ;
             SLIDER(HPosGuage()); //H Position Slider
             break;
        case _MENU_VPOS:
             ucOsdState = _MENU_VPOS_ADJ;
             SLIDER(VPosGuage()); //V Position Slider
             break;
        case _MENU_POSITION_BACK:
             MPositionPageMenuOut();
             break;
     }
}
//------------------------------------------------------------
void MPositionPageLR(unsigned char LR)
{
     // Step 1: Clear Old Select
     DrawPen(0,(ucOsdState - _MENU_HPOS) * 3 + 5);

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

     // Step 3: Draw
     DrawPen(1,(ucOsdState - _MENU_HPOS) * 3 + 5);
}
//------------------------------------------------------------
void MPositionPageMenuOut()
{
     ucOsdState = _MENU_POSITION;
     CLEAR_OSD_CLIENT();
     DrawMainPage();
}
//------------------------------------------------------------




//------------------------------------------------------------
void MOsdPageProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MOsdPageMenuOut();      break;
         case VK_MENU_IN:       MOsdPageMenuIn();       break;
         case VK_PREV_MENU:     MOsdPageLR(0);          break;
         case VK_NEXT_MENU:     MOsdPageLR(1);          break;
         case VK_ADJ_DEC:                               break;
         case VK_ADJ_INC:                               break;
         case VK_DO:                                    break;
         case VK_ENTER:         MOsdPageMenuIn();       break;
         case VK_LEFT:          MOsdPageLR(0);          break;
         case VK_RIGHT:         MOsdPageLR(1);          break;
     }
}
//------------------------------------------------------------
void MOsdPageMenuIn()
{
     switch(ucOsdState)
     {
        case _MENU_OSD_HPOS:
             ucOsdState = _MENU_OSD_HPOS_ADJ;
             SLIDER(stOsdUserData.OsdHPos);  //OSD H Position Slider
             break;
        case _MENU_OSD_VPOS:
             ucOsdState = _MENU_OSD_VPOS_ADJ;
             SLIDER(stOsdUserData.OsdVPos);  //OSD V Position Slider
             break;
        case _MENU_OSD_TIMER:
             ucOsdState = _MENU_OSD_TIMER_ADJ;
             MDrawOsdTimer();
             break;
        case _MENU_OSD_COLOR:
             ucOsdState = _MENU_OSD_COLOR_ADJ;
             Gotoxy(4,21,BYTE_DISPLAY);
             Textout(sSharpnessAdj);
             MDrawSharpnessSelState(GET_OSDCOLOR(),1);
             break;
        case _MENU_OSD_BACK:
             MOsdPageMenuOut();
             break;
     }
}
//------------------------------------------------------------
void MOsdPageLR(unsigned char LR)
{
     // Step 1: Clear Old Select
     DrawPen(0,(ucOsdState - _MENU_OSD_HPOS) * 3 + 5);

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

     // Step 3: Draw
     DrawPen(1,(ucOsdState - _MENU_OSD_HPOS) * 3 + 5);
}
//------------------------------------------------------------
void MOsdPageMenuOut()
{
     ucOsdState = _MENU_OSD_MENU;
     CLEAR_OSD_CLIENT();
     DrawMainPage();
}
//------------------------------------------------------------
void MDrawOsdTimer()
{
     Gotoxy(6,21,BYTE_DISPLAY);
     OutputChar('-');

     DISPLAY_TIMEOUT();

     Gotoxy(14,21,BYTE_DISPLAY);
     OutputChar(0x2c);
}
//------------------------------------------------------------



//------------------------------------------------------------
void MMiscPageProc()
{
     switch(ucKeyMessage)
     {
         case VK_MENU_OUT:      MMiscPageMenuOut();     break;
         case VK_MENU_IN:       MMiscPageMenuIn();      break;
         case VK_PREV_MENU:     MMiscPageLR(0);         break;
         case VK_NEXT_MENU:     MMiscPageLR(1);         break;
         case VK_ADJ_DEC:                               break;
         case VK_ADJ_INC:                               break;
         case VK_DO:                                    break;
         case VK_ENTER:         MMiscPageMenuIn();      break;
         case VK_LEFT:          MMiscPageLR(0);         break;
         case VK_RIGHT:         MMiscPageLR(1);         break;
     }
}
//------------------------------------------------------------
void MMiscPageMenuIn()
{
     
     switch(ucOsdState)
     {
        case _MENU_RESET:
             {
                 unsigned char ucLanguage = GET_LANGUAGE;
                 DoReset();
                 stModeUserData.FirstAuto = 1;
                 ucOsdState = _MENU_NONE;
		         SET_LANGUAGE(ucLanguage);                  //hsl add
                 ucOsdEventMsg = _SAVE_EE_OSDUSERDATA_MSG;
                 COsdFxDisableOsd();
             }
             break;
        case _MENU_VOLUME:
             ucOsdState = _MENU_VOLUME_ADJ;
             //MDrawMuteState();
             SLIDER(stOsdUserData.Volume);
             break;
        case _MENU_MUTE:
             if(GET_MUTE_STATE() == STATE_MUTEON)
             {
                  SET_MUTE_STATE(STATE_MUTEOFF);
                  SetVolume();
             }
             else
             {
                  SET_MUTE_STATE(STATE_MUTEON);
                  MUTE_ON();
             }
             MDrawMuteState();
             ucOsdEventMsg = _SAVE_EE_OSDUSERDATA_MSG;
             break;
        case _MENU_MISC_BACK:
             MMiscPageMenuOut();
             break;
     }

}
//------------------------------------------------------------
void MMiscPageLR(unsigned char LR)
{

⌨️ 快捷键说明

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