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

📄 rtd2553v_osddisp.c

📁 Realtek LCD monitor chip RTD25xx source code
💻 C
📖 第 1 页 / 共 2 页
字号:
    COsdFxDisableOsd();
    COsdFxApplyMapSetting(_OSD_MAP2);

    COsdFxCloseWindow(WINNO(0));
    COsdFxCloseWindow(WINNO(1));
    COsdFxCloseWindow(WINNO(3));
    COsdFxCloseWindow(WINNO(4));
    COsdFxCloseWindow(WINNO(5));
}

void COsdDispColorTempSelect(void)
{
    switch(stSystemData.ColorTemp)
    {
        case _CT_9300:
            SET_COLOR_TEMP_TYPE(_CT_9300);
            break;

        case _CT_6500:
            SET_COLOR_TEMP_TYPE(_CT_6500);
            break;

        case _CT_5800:
            SET_COLOR_TEMP_TYPE(_CT_5800);
            break;

        case _CT_SRGB:
            SET_COLOR_TEMP_TYPE(_CT_SRGB);
            break;

        case _CT_USER:
            SET_COLOR_TEMP_TYPE(_CT_USER);
            break;
    }
    CEepromLoadColorTempData();
    CAdjustContrast();
}

BYTE COsdDispSetWindowPosDisp(BYTE ucSelect, BYTE code *pArray)
{
    BYTE cnt, temp, temp1;
    WORD length;

    length    = 0;
    cnt       = 0;
    temp      = 0;
    temp1     = 0;

    while(_TRUE)
    {
        if(*pArray == _END_)
        {
            if(temp == ucSelect)
            {
                pArray = pArray - cnt;
                break;
            }
            else
            {
                pArray++;
                cnt = 0;
            }
 
            temp++;//equal language select 
        }

        pArray++;
        cnt++;
    }

    while(*pArray != _END_)
    {
        cnt=0;
        while(tOSD_CHARWIDTH_TABLE[cnt][0] != _END_)
        {
            if((*pArray == tOSD_CHARWIDTH_TABLE[cnt][0])&&(tOSD_CHARWIDTH_TABLE[cnt][1]!=_END_))
            {
                length += (tOSD_CHARWIDTH_TABLE[cnt][1]&0x0f);
                break;
            }
            cnt++;
        }
        if(tOSD_CHARWIDTH_TABLE[cnt][0] == _END_)
            length += 12;
            
        pArray++;
    }
    
    length=length/12;
    temp = (length)+12;
    return temp;
}

//----------------------------------------------------------------------------------------------------
// OSD Event Functions
//----------------------------------------------------------------------------------------------------
void COsdDispOsdTimerEvent(void)
{
    COsdFxDisableOsd();
    CAdjustHLWindowBrightness(stOsdUserData.MZBright);
    CAdjustHLWindowContrast(stOsdUserData.MZContrast);
    ucOsdState = _MENU_NONE;
}


void COsdDispMZReturnMain(BYTE ucNum)
{
    BYTE temp;

    COsdDispClearText(ROW(3), COL(0), WIDTH(28), HEIGHT(22));
    COsdFxLoadText(ROW(4), COL(10), 0, tOSD_MZ_TITLE_STR);

    for(temp=0;temp<4;temp++)
    {
        COsdFxLoadText(ROW(6 + temp * 2), COL(2), 0, tTOSD_MZ_MAIN_PAGE_TABLE[temp]);
    }

    COsdDispMZMainItemSelect(ucNum);
}

void COsdDispMZReturnICM(BYTE ucNum)
{
    BYTE temp;

    COsdDispClearText(ROW(4), COL(0), WIDTH(28), HEIGHT(21));
    COsdFxLoadText(ROW(4), COL(12), 0, tOSD_MZ_ICM_STR);

    for(temp=0;temp<3;temp++)
    {
        COsdFxLoadText(ROW(6 + temp * 2), COL(2), _ENGLISH, tMZ_ICM_TABLE[temp]);
    }

    COsdFxLoadText(ROW(12), COL(2), _ENGLISH, tMZ_ICM_ON_OFF_TABLE[GET_MZ_ICM_ON_OFF_TYPE()]);

    ucOsdState = ucNum;

    COsdDispMZSubItemSelect(ucOsdState, _SUB_ITEM_ICM);
}

void COsdDispMZReturnWindowConfig(BYTE ucNum)
{
    BYTE temp;

    COsdDispClearText(ROW(4), COL(0), WIDTH(28), HEIGHT(21));
    COsdFxLoadText(ROW(4), COL(9), 0, tOSD_MZ_WINDOW_CONFIG_STR);

    for(temp=0;temp<4;temp++)
    {
        COsdFxLoadText(ROW(6 + temp * 2), COL(2), _ENGLISH, tMZ_WINDOW_CONFIG_TABLE[temp]);
    }

    ucOsdState = ucNum;

    COsdDispMZSubItemSelect(ucOsdState, _SUB_ITEM_WINDOW_CONFIG);

    CAdjustHLWindowBrightness(stOsdUserData.MZBright);
    CAdjustHLWindowContrast(stOsdUserData.MZContrast);

    if(ucOsdState == _MENU_MZ_WINDOW)
    {
        CAdjustNormalizeFactor(stOsdUserData.MZHWidth, stOsdUserData.MZVHeight);
        CScalerSetBit(_DCC_CTRL0_E4, ~_BIT4, 0x00);
    }
}

void COsdDispMZMainItemSelect(BYTE ucNum)
{
    CTimerWaitForEvent(_EVENT_IEN_STOP);
    COsdFxDrawWindow(XSTART(15), YSTART(104 + (ucNum - _MENU_MZ_WINDOW_CONFIG) * 36), XEND(340), YEND(129 + (ucNum - _MENU_MZ_WINDOW_CONFIG) * 36), tOSD_WINDOW3_STYLE);
    COsdFxChangeWindowColor(COLOR00(_CP_LIGHTBLUE), tOSD_WINDOW3_STYLE);
    ucOsdState = ucNum;
}

void COsdDispMZSubItemSelect(BYTE ucNum, BYTE ucPar)
{
    BYTE pos;

    switch(ucPar)
    {
        case _SUB_ITEM_WINDOW_CONFIG:
            pos = ucNum - _MENU_MZ_DISABLE;
            break;

        case _SUB_ITEM_WINDOW:
            pos = ucNum - _MENU_MZ_USER_H_POSITION;
            break;

        case _SUB_ITEM_DCC:
            pos = ucNum - _MENU_MZ_DCC_MOVIE;
            break;

        case _SUB_ITEM_ICM:
            pos = ucNum - _MENU_MZ_ICM_RED;
            break;

        case _SUB_ITEM_ICM_RED:
            pos = ucNum - _MENU_MZ_ICM_RED_HUE;
            break;

        case _SUB_ITEM_ICM_GREEN:
            pos = ucNum - _MENU_MZ_ICM_GREEN_HUE;
            break;

        case _SUB_ITEM_ICM_BLUE:
            pos = ucNum - _MENU_MZ_ICM_BLUE_HUE;
            break;

        case _SUB_ITEM_COLOR:
            pos = ucNum - _MENU_MZ_COLOR_BRIGHTNESS;
            break;

    }

    CTimerWaitForEvent(_EVENT_IEN_STOP);
    COsdFxDrawWindow(XSTART(15), YSTART(104 + pos * 36), XEND(340), YEND(129 + pos * 36), tOSD_WINDOW3_STYLE);
    COsdFxChangeWindowColor(COLOR00(_CP_LIGHTBLUE), tOSD_WINDOW3_STYLE);
    ucOsdState = ucNum;
}

void COsdDispMZItemAdjSelect(BYTE ucNum, BYTE ucPar, BYTE ucColor)
{
    BYTE pos;

    switch(ucPar)
    {
        case _SUB_ITEM_WINDOW_CONFIG:
            pos = ucNum - _MENU_MZ_USER_H_POSITION_ADJ;
            break;

        case _SUB_ITEM_ICM_RED:
            pos = ucNum - _MENU_MZ_ICM_RED_HUE_ADJ;
            break;

        case _SUB_ITEM_ICM_GREEN:
            pos = ucNum - _MENU_MZ_ICM_GREEN_HUE_ADJ;
            break;

        case _SUB_ITEM_ICM_BLUE:
            pos = ucNum - _MENU_MZ_ICM_BLUE_HUE_ADJ;
            break;

        case _SUB_ITEM_COLOR:
            pos = ucNum - _MENU_MZ_COLOR_BRIGHTNESS_ADJ;
            break;

        case _SUB_ITEM_WINDOW_CONFIG_ADJ:
            pos = ucNum - _MENU_MZ_USER_H_POSITION;
            break;

        case _SUB_ITEM_ICM_RED_ADJ:
            pos = ucNum - _MENU_MZ_ICM_RED_HUE;
            break;

        case _SUB_ITEM_ICM_GREEN_ADJ:
            pos = ucNum - _MENU_MZ_ICM_GREEN_HUE;
            break;

        case _SUB_ITEM_ICM_BLUE_ADJ:
            pos = ucNum - _MENU_MZ_ICM_BLUE_HUE;
            break;

        case _SUB_ITEM_COLOR_ADJ:
            pos = ucNum - _MENU_MZ_COLOR_BRIGHTNESS;
            break;

    }

    CTimerWaitForEvent(_EVENT_IEN_STOP);
    COsdFxHLine(6 + pos * 2, 0, 28, ((ucColor & 0x0f) << 4), _WRITE_BYTE2);
    ucOsdState = ucNum;
}

void COsdDispMZSlider(BYTE ucRow, BYTE ucCol, BYTE ucLength, WORD usValue, WORD usMax, WORD usMin)
{
    COsdFxSlider(ucRow, ucCol, ucLength - 2, usValue, usMax, usMin);
    COsdFxShowNumber(ucRow, ucCol + ucLength + 2, usValue - usMin, (_ALIGN_RIGHT | _FORCE_SHOW_NUMBER_OFF | _SHOW_4));
}


#endif  // End of #if((_SCALER_TYPE == _RTD2553V) || (_SCALER_TYPE == _RTD2546N) || (_SCALER_TYPE == _RTD2525L)) 

⌨️ 快捷键说明

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