📄 rtd2553v_osddisp.c
字号:
//----------------------------------------------------------------------------------------------------
// ID Code : OsdDisp.c No.0000
// Update Note :
//
//----------------------------------------------------------------------------------------------------
#define __RTD2553V_OSDDISP__
#include "Common\Header\Include.h"
#if((_SCALER_TYPE == _RTD2553V) || (_SCALER_TYPE == _RTD2546N) || (_SCALER_TYPE == _RTD2525L))
//----------------------------------------------------------------------------------------------------
// OSD Display Functions
//----------------------------------------------------------------------------------------------------
//--------------------------------------------------
// Description :
// Input Value :
// Output Value :
//--------------------------------------------------
void COsdDispFirstTimeLoadFont(void)
{
CScalerLoadHardwareVLCFont(tFONT_GLOBAL, 0x00);
CScalerLoadHardwareVLCFont(tFONT_GLOBAL_ICON, 0xd2);
}
//--------------------------------------------------
// Description :
// Input Value :
// Output Value :
//--------------------------------------------------
void COsdDispAutoProc(void)
{
if(GET_INPUTSOURCE_TYPE() == _SOURCE_VGA)
{
COsdDispAutoProcPrevWork();
CScalerLoadHardwareVLCFont(tFONT_AUTOCONFIG, 0x60);
COsdFxDrawWindow(XSTART(0), YSTART(0), XEND(COsdDispSetWindowPosDisp(stOsdUserData.Language, tOSD_AUTO_STR)*12), YEND(140), tOSD_WINDOW2_STYLE);
COsdFxChangeWindowColor(COLOR00(_CP_DARKBLUE), tOSD_WINDOW2_STYLE);
COsdFxDrawWindow(XSTART(10), YSTART(20), XEND(COsdDispSetWindowPosDisp(stOsdUserData.Language, tOSD_AUTO_STR))*12-10, YEND(120), tOSD_WINDOW6_STYLE);
COsdFxChangeWindowColor(COLOR00(_CP_LIGHTBLUE), tOSD_WINDOW6_STYLE);
COsdFxSetPosition(WIDTH(COsdDispSetWindowPosDisp(stOsdUserData.Language, tOSD_AUTO_STR)*12), WIDTH(140), 100, 100, 0x01);
COsdFxLoadIcon(ROW(3), COL(3), tOSD_AUTO_ICO);
COsdFxLoadText(ROW(4), COL(7), stOsdUserData.Language, tOSD_AUTO_STR);
COsdFxEnableOsd();
CAutoDoAutoConfig();
COsdFxDisableOsd();
}
}
//--------------------------------------------------
// Description :
// Input Value :
// Output Value :
//--------------------------------------------------
void COsdDispAutoColorProc(void)
{
if((GET_INPUTSOURCE_TYPE() == _SOURCE_VGA) || (GET_INPUTSOURCE_TYPE() == _SOURCE_YPBPR)) //V307 modify
{
COsdDispAutoProcPrevWork();
CScalerLoadHardwareVLCFont(tFONT_AUTOCOLOR, 0x60);
COsdFxDrawWindow(XSTART(0), YSTART(0), XEND(COsdDispSetWindowPosDisp(stOsdUserData.Language, tOSD_AUTOCOLOR_STR)*12), YEND(140), tOSD_WINDOW2_STYLE);
COsdFxChangeWindowColor(COLOR00(_CP_DARKBLUE), tOSD_WINDOW2_STYLE);
COsdFxDrawWindow(XSTART(10), YSTART(20), XEND(COsdDispSetWindowPosDisp(stOsdUserData.Language, tOSD_AUTOCOLOR_STR))*12-10, YEND(120), tOSD_WINDOW6_STYLE);
COsdFxChangeWindowColor(COLOR00(_CP_LIGHTBLUE), tOSD_WINDOW6_STYLE);
COsdFxSetPosition(WIDTH(COsdDispSetWindowPosDisp(stOsdUserData.Language, tOSD_AUTOCOLOR_STR)*12), WIDTH(140), 100, 100, 0x01);
COsdFxLoadIcon(ROW(3), COL(3), tOSD_AUTO_ICO);
COsdFxLoadText(ROW(4), COL(7), stOsdUserData.Language, tOSD_AUTOCOLOR_STR);
COsdFxEnableOsd();
CAutoDoWhiteBalance();
COsdFxDisableOsd();
}
}
//--------------------------------------------------
// Description :
// Input Value :
// Output Value :
//--------------------------------------------------
void COsdDispNoSignalProc(void)
{
CScalerLoadHardwareVLCFont(tFONT_GLOBAL, 0x00);
CScalerLoadFont(tFONT_NO_SIGNAL, 0x60, 0x23, _COMPRESS_FONT);
COsdDispAutoProcPrevWork();
COsdFxDrawWindow(XSTART(0), YSTART(0), XEND(COsdDispSetWindowPosDisp(stOsdUserData.Language, tOSD_NOSIGNAL_STR)*12), YEND(140), tOSD_WINDOW2_STYLE);
COsdFxChangeWindowColor(COLOR00(_CP_DARKBLUE), tOSD_WINDOW2_STYLE);
COsdFxDrawWindow(XSTART(10), YSTART(20), XEND(COsdDispSetWindowPosDisp(stOsdUserData.Language, tOSD_NOSIGNAL_STR))*12-10, YEND(120), tOSD_WINDOW6_STYLE);
COsdFxChangeWindowColor(COLOR00(_CP_LIGHTBLUE), tOSD_WINDOW6_STYLE);
COsdFxSetPosition(WIDTH(COsdDispSetWindowPosDisp(stOsdUserData.Language, tOSD_NOSIGNAL_STR)*12), WIDTH(140), 100, 100, 0x01);
COsdFxLoadIcon(ROW(3), COL(3), tOSD_NOSIGNAL_ICO);
COsdFxLoadText(ROW(4), COL(7), stOsdUserData.Language, tOSD_NOSIGNAL_STR);
COsdFxEnableOsd();
CAdjustBacklight(); //V306 modify
CPowerPanelOn();
}
//--------------------------------------------------
// Description :
// Input Value :
// Output Value :
//--------------------------------------------------
void COsdDispNoCableProc(void)
{
CScalerLoadHardwareVLCFont(tFONT_GLOBAL, 0x00);
CScalerLoadFont(tFONT_NO_SIGNAL, 0x60, 0x23, _COMPRESS_FONT);
COsdDispAutoProcPrevWork();
COsdFxDrawWindow(XSTART(0), YSTART(0), XEND(COsdDispSetWindowPosDisp(stOsdUserData.Language, tOSD_NOSIGNAL_STR)*12), YEND(140), tOSD_WINDOW2_STYLE);
COsdFxChangeWindowColor(COLOR00(_CP_DARKBLUE), tOSD_WINDOW2_STYLE);
COsdFxDrawWindow(XSTART(10), YSTART(20), XEND(COsdDispSetWindowPosDisp(stOsdUserData.Language, tOSD_NOSIGNAL_STR))*12-10, YEND(120), tOSD_WINDOW6_STYLE);
COsdFxChangeWindowColor(COLOR00(_CP_LIGHTBLUE), tOSD_WINDOW6_STYLE);
COsdFxSetPosition(WIDTH(COsdDispSetWindowPosDisp(stOsdUserData.Language, tOSD_NOSIGNAL_STR)*12), WIDTH(140), 100, 100, 0x01);
COsdFxLoadIcon(ROW(3), COL(3), tOSD_NOCABLE_ICO);
COsdFxLoadText(ROW(4), COL(7), stOsdUserData.Language, tOSD_NOCABLE_STR);
COsdFxEnableOsd();
CAdjustBacklight(); //V306 modify
CPowerPanelOn();
}
//--------------------------------------------------
// Description :
// Input Value :
// Output Value :
//--------------------------------------------------
void COsdDispNoSupportProc(void)
{
CScalerLoadHardwareVLCFont(tFONT_GLOBAL, 0x00);
CScalerLoadFont(tFONT_OUT_OF_RANGE, 0x60, 0x18, _COMPRESS_FONT);
COsdDispAutoProcPrevWork();
COsdFxDrawWindow(XSTART(0), YSTART(0), XEND(COsdDispSetWindowPosDisp(stOsdUserData.Language, tOSD_NOSUPPORT_STR)*12), YEND(140), tOSD_WINDOW2_STYLE);
COsdFxChangeWindowColor(COLOR00(_CP_DARKBLUE), tOSD_WINDOW2_STYLE);
COsdFxDrawWindow(XSTART(10), YSTART(20), XEND(COsdDispSetWindowPosDisp(stOsdUserData.Language, tOSD_NOSUPPORT_STR))*12-10, YEND(120), tOSD_WINDOW6_STYLE);
COsdFxChangeWindowColor(COLOR00(_CP_LIGHTBLUE), tOSD_WINDOW6_STYLE);
COsdFxSetPosition(WIDTH(COsdDispSetWindowPosDisp(stOsdUserData.Language, tOSD_NOSUPPORT_STR)*12), WIDTH(140), 100, 100, 0x01);
COsdFxLoadIcon(ROW(3), COL(3), tOSD_NOSUPPORT_ICO);
COsdFxLoadText(ROW(4), COL(7), stOsdUserData.Language, tOSD_NOSUPPORT_STR);
COsdFxEnableOsd();
CAdjustBacklight(); //V306 modify
CPowerPanelOn();
}
//----------------------------------------------------------------------------------------------------
// OSD Combination Functions
//----------------------------------------------------------------------------------------------------
void COsdDispFullSlider(BYTE ucRow, BYTE ucCol, BYTE ucLength, WORD usValue, WORD usRange, WORD usMin, BYTE ucColor, BYTE ucNumColor)
{
COsdFxHLine(ucRow, ucCol, ucLength, ((ucColor & 0x0f) << 4), _WRITE_BYTE2);
COsdFxHLine(ucRow, ucCol, 1, 0x0d, _WRITE_BYTE1);
COsdFxHLine(ucRow, ucCol + ucLength - 1, 1, 0x0c, _WRITE_BYTE1);
COsdFxSlider(ucRow, ucCol + 1, ucLength - 2, usValue, usRange + usMin, usMin);
COsdFxHLine(ucRow - 1, ucCol + ucLength - 3, 3, ((ucNumColor & 0x0f) << 4), _WRITE_BYTE2);
COsdFxShowNumber(ucRow - 1, ucCol + ucLength - 3, usValue - usMin, (_ALIGN_RIGHT | _FORCE_SHOW_NUMBER_OFF | _SHOW_3));
}
void COsdDispClearIcon(BYTE ucRow, BYTE ucCol, BYTE ucWidth, BYTE ucHeight)
{
BYTE temp;
for(temp=0;temp<ucHeight;temp++)
{
COsdFxCalcStartAddress(ucRow+temp, ucCol, 1);
CScalerWriteAmount(0x92, ucWidth, 0x69, _NON_AUTOINC);
}
}
void COsdDispClearText(BYTE ucRow,BYTE ucCol, BYTE ucWidth,BYTE ucHeight)
{
BYTE temp;
for(temp=0;temp<ucHeight;temp++)
{
COsdFxHLine(ROW(ucRow + temp), COL(ucCol), LENGTH(ucWidth), 0x10, _WRITE_BYTE2);
COsdFxHLine(ROW(ucRow + temp), COL(ucCol), LENGTH(ucWidth), 0x00, _WRITE_BYTE1);
COsdFxHLine(ROW(ucRow + temp), COL(ucCol), LENGTH(ucWidth), 0x8c, _WRITE_BYTE0);
}
}
void COsdDispPenPoint(BYTE ucSrcX, BYTE ucSrcY, BYTE ucDesX, BYTE ucDesY, BYTE ucState)
{
COsdFxHLine(ROW(ucSrcX), COL(ucSrcY), LENGTH(2), 0x69, _WRITE_BYTE1);
COsdFxHLine(ROW(ucDesX), COL(ucDesY), LENGTH(1), 0x6a, _WRITE_BYTE1);
COsdFxHLine(ROW(ucDesX), COL(ucDesY + 1), LENGTH(1), 0x6b, _WRITE_BYTE1);
ucOsdState = ucState;
}
void COsdDispArrowPoint(BYTE ucSrcX, BYTE ucSrcY, BYTE ucDesX, BYTE ucDesY, BYTE ucState)
{
COsdFxHLine(ROW(ucSrcX), COL(ucSrcY), LENGTH(1), 0x00, _WRITE_BYTE1);
COsdFxHLine(ROW(ucDesX), COL(ucDesY), LENGTH(1), 0x4a, _WRITE_BYTE1);
COsdFxChange1bitColor(ROW(ucDesX), COL(ucDesY), WIDTH(1), HEIGHT(1), FGCOLOR(_CP_RED), BGCOLOR(_CP_BLACK));
ucOsdState = ucState;
}
void COsdDispWindowPoint(BYTE ucRowNum, BYTE ucState)
{
//width:120 height:20
COsdFxDrawWindow(XSTART(12), YSTART(17 + ucRowNum * 36), XEND(132), YEND(17 + ucRowNum * 36 +20), tOSD_WINDOW4_STYLE);
COsdFxChangeWindowColor(COLOR00(_CP_RED), tOSD_WINDOW4_STYLE);
ucOsdState = ucState;
}
void COsdDispWindowHPoint(BYTE ucRowNum, BYTE ucStart, BYTE ucInterval, BYTE ucItemNum, BYTE ucThick, BYTE ucState)
{
//width:120 height:20
COsdFxDrawWindow(XSTART(ucStart + ucInterval*ucItemNum), YSTART(18 + ucRowNum * 36), XEND(ucStart + ucInterval*ucItemNum + ucThick), YEND(18 + ucRowNum * 36 +18), tOSD_WINDOW2_STYLE);
COsdFxChangeWindowColor(COLOR00(_CP_RED), tOSD_WINDOW2_STYLE);
ucOsdState = ucState;
}
void COsdDispDrawInitWindow(void)
{
BYTE temp;
COsdDispClearIcon(ROW(5), COL(0), 5, 20);
COsdDispClearText(ROW(5), COL(5), 18, 15);
COsdFxChange2bitColor(ROW(5), COL(0), WIDTH(5), HEIGHT(20), COLOR00(_CP_BLACK),COLOR01(_CP_WHITE),COLOR10(_CP_RED),COLOR11(_CP_GREEN));
for(temp=0;temp<7;temp++)
{
// COsdFxLoadIcon(ROW(5 + temp*3), COL(2), tLONGICONPOS_TABLE[temp]);
COsdFxLoadText(ROW(5 + temp*2), COL(7), stOsdUserData.Language, tTEXT_TABLE[temp]);
}
}
void COsdDispLanguageBack(void)
{
COsdDispClearIcon(ROW(5), COL(0), ROW(5), COL(20));
COsdDispClearText(ROW(5), COL(5), ROW(17), COL(15));
COsdDispDrawInitWindow();
COsdDispPenPoint(ROW(5), COL(3), ROW(13), COL(3), _MENU_LANGUAGE);
}
void COsdDispShowFactoryModeValue(void)
{
BYTE temp;
CEepromLoadAdcData();
for(temp=0;temp<3;temp++)
COsdFxShowNumber(ROW(5), COL(17 + temp * 5), stAdcData.AdcOffset[temp], (_ALIGN_RIGHT | _FORCE_SHOW_NUMBER_OFF | _SHOW_3));
for(temp=0;temp<3;temp++)
COsdFxShowNumber(ROW(7), COL(16 + temp * 5), stAdcData.AdcGain[temp], (_ALIGN_RIGHT | _FORCE_SHOW_NUMBER_OFF | _SHOW_3));
for(temp=0;temp<5;temp++)
{
SET_COLOR_TEMP_TYPE(temp);
CEepromLoadColorTempData();
COsdFxShowNumber(ROW(9 + temp*2), COsdFxGetColWithinText(15, temp+4, tOSD_FACTORY_ITEM_STR), stColorTempData.ColorTemp[_RED], (_ALIGN_RIGHT | _FORCE_SHOW_NUMBER_OFF | _SHOW_3));
COsdFxShowNumber(ROW(9 + temp*2), COsdFxGetColWithinText(20, temp+4, tOSD_FACTORY_ITEM_STR), stColorTempData.ColorTemp[_GREEN], (_ALIGN_RIGHT | _FORCE_SHOW_NUMBER_OFF | _SHOW_3));
COsdFxShowNumber(ROW(9 + temp*2), COsdFxGetColWithinText(25, temp+4, tOSD_FACTORY_ITEM_STR), stColorTempData.ColorTemp[_BLUE], (_ALIGN_RIGHT | _FORCE_SHOW_NUMBER_OFF | _SHOW_3));
}
COsdFxShowNumber(ROW(19), COL(17), stConBriData.Brightness, (_ALIGN_RIGHT | _FORCE_SHOW_NUMBER_OFF | _SHOW_3));
}
void COsdDispAutoProcPrevWork(void)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -