📄 rtd2553v_osddisp.c
字号:
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 + -