📄 showinfo.c
字号:
#include"CORE_LIB.H"
#include"EEPROM.H"
#include"MENUITEM.H"
#include"OSD_LIB.H"
#include"PROCESS.H"
#include"STATE.H"
#include"SYMBOL.H"
#include"TOOL.H"
#include"VIDEO.H"
void SHOW_CHAR(
unsigned char CHARACTER,unsigned char COLUMN
,unsigned char ROW,unsigned char FOREcolor
,unsigned char BACKcolor
)
{
CHARACTER_TEXT[1]=CHARACTER;
SetItemColor(FOREcolor,BACKcolor);
OsdLoadString(
CHARACTER_TEXT,BACKcolor,FOREcolor,COLUMN*FONTwidth
,ROW*FONTheight
);
}
void SHOW_STRING(
unsigned char *STRING,unsigned char COLUMN
,unsigned char ROW,unsigned char FOREcolor
,unsigned char BACKcolor
)
{
SetItemColor(FOREcolor,BACKcolor);
OsdLoadString(
STRING,BACKcolor,FOREcolor,COLUMN*FONTwidth
,ROW*FONTheight
);
}
void ShowBlank(
unsigned char ROW,unsigned char FOREcolor
,unsigned char BACKcolor
)
{
SHOW_STRING(BLANK_TEXT,0,ROW,FOREcolor,BACKcolor);
}
void SHOW_BAR(
unsigned char DATA,unsigned char ROW
,unsigned char FOREcolor,unsigned char BACKcolor
)
{
SHOW_CHAR(_DCM,4,ROW,FOREcolor,BACKcolor);
SHOW_CHAR(_ICM,17,ROW,FOREcolor,BACKcolor);
OsdShowBar(
0,DATA,BACKcolor,FOREcolor
,BARxPOSITION+(2*FONTwidth),ROW*FONTheight
);
}
void SHOW_FACTORY_TITLE()
{
unsigned char COLUMN=GetMiddleColumn(0,20,FACTORY_STRING[0]);
switch (LEVEL)
{
case LEVEL0:
SHOW_STRING(
FACTORY_STRING,COLUMN,0,TITLEforegroundCOLOR
,FOREGROUNDcolor
);
break;
case LEVEL1:
COLUMN=GetMiddleColumn(0,20,FACTORY_MAIN_MENU[ITEM0][0]);
SHOW_STRING(
FACTORY_MAIN_MENU[ITEM0],COLUMN,0,TITLEforegroundCOLOR
,FOREGROUNDcolor
);
break;
case LEVEL2:
switch (ITEM0)
{
case FACTORYmainACTIONitem:
COLUMN=GetMiddleColumn(0,20,OSD_POSITION_STRING[0]);
SHOW_STRING(
OSD_POSITION_STRING,COLUMN,0,TITLEforegroundCOLOR
,FOREGROUNDcolor
);
break;
}
break;
}
}
void SHOW_MENU(
unsigned char *MENU[],unsigned char CURRENTitem
,unsigned char MINitem,unsigned char MAXitem
)
{
unsigned char LINE=MINitem,FOREcolor;
SHOW_STRING(BLANK_TEXT,0,0,FOREGROUNDcolor,FOREGROUNDcolor);
SHOW_STRING(BLANK_TEXT,0,MAXitem+2,FOREGROUNDcolor,FOREGROUNDcolor);
do {
FOREcolor= (LINE==CURRENTitem) ? CURRENTcolor : FOREGROUNDcolor;
SHOW_STRING(BLANK_TEXT,0,LINE+1,BACKGROUNDcolor,BACKGROUNDcolor);
SHOW_STRING(MENU[LINE],0,LINE+1,FOREcolor,BACKGROUNDcolor);
} while (++LINE<=MAXitem);
SHOW_FACTORY_TITLE();
}
void SHOW_MODE()
{
unsigned char STATE=GetMode();
SHOW_STRING(TEXT_GRAPHIC_STRING[STATE],12,1,YELLOW,BACKGROUNDcolor);
}
void ShowBar(unsigned char VALUE)
{
CHARACTER_TEXT[1]=_DCM;
OsdLoadString(
CHARACTER_TEXT,BACKGROUNDcolor,CURRENTcolor
,5*FONTwidth,BARyUSER
);
CHARACTER_TEXT[1]=_ICM;
OsdLoadString(
CHARACTER_TEXT,BACKGROUNDcolor,CURRENTcolor
,18*FONTwidth,BARyUSER
);
OsdShowBar(
0,VALUE,WHITE,CURRENTcolor
,BARxPOSITION+(3*FONTwidth),BARyUSER
);
}
void ShowBrightnessBar()
{
unsigned char VALUE=(unsigned char)TRANSFER_RANGE_VALUE(
GetBrightness()
,MINbrightness
,MAXbrightness
,0,255
);
ShowBar(VALUE);
}
void ShowContrastBar()
{
unsigned char VALUE=(unsigned char)TRANSFER_RANGE_VALUE(
GetContrast()
,MINcontrast
,MAXcontrast
,0,255
)
,BACKcolor= (INTERFACE==USERinterface)
? WHITE
: BACKGROUNDcolor;
ShowBar(VALUE);
}
void ShowPositionBar(unsigned char HorV)
{
unsigned char VALUE,BACKcolor= (INTERFACE==USERinterface)
? WHITE
: BACKGROUNDcolor;
switch (HorV)
{
case 'H':
case 'h':
VALUE=255-UltHPositionSetting(DISPLAYmode);
break;
case 'V':
case 'v':
VALUE=UltVPositionSetting(DISPLAYmode);
break;
}
ShowBar(VALUE);
}
void ShowColorTemperature(
unsigned char COLUMN,unsigned char ROW
,unsigned char FOREcolor
,unsigned char BACKcolor
)
{
SHOW_STRING(
COLOR_TEMPERATURE_STRING[GetColorTemperature()],COLUMN
,ROW,FOREcolor,BACKcolor
);
} // end of function SHOW_COLOR_TEMPERATURE()
void ShowMainIcon()
{
unsigned char INDEX=0,ROW,COLUMN;
do
{
ROW=GetY(INDEX),COLUMN=GetX(INDEX);
switch (INDEX)
{
case AUTOicon:
OsdLoadPicture(AUTO_ENABLE,COLUMN,ROW);
break;
case CONTRASTicon:
OsdLoadPicture(BRIGHTNESS_ENABLE,COLUMN,ROW);
break;
case CLOCKicon:
OsdLoadPicture(CLOCK_ENABLE,COLUMN,ROW);
break;
case RGBicon:
OsdLoadPicture(RGB_ENABLE,COLUMN,ROW);
break;
case POSITIONicon:
OsdLoadPicture(H_V_ENABLE,COLUMN,ROW);
break;
case ASPECicon:
OsdLoadPicture(RATIO_ENABLE,COLUMN,ROW);
break;
case ADCicon:
OsdLoadPicture(SHARPNESS_ENABLE,COLUMN,ROW);
break;
case VIDEOicon:
OsdLoadPicture(VIDEO_ENABLE,COLUMN,ROW);
break;
}
} while (++INDEX<MAINiconMAX);
}
void ShowCurrentIcon()
{
unsigned char Y,X;
switch (LEVEL)
{
case LEVEL0:
X=GetX(ITEM0);
Y=GetY(ITEM0);
break;
case LEVEL1:
switch (ITEM0)
{
case AUTOicon:
case VIDEOicon:
X=GetX(ITEM1);
Y=GetY(ITEM1);
break;
}
break;
}
OsdSubwinPosSet(0,X,Y,X+FONTwidth*2,Y+FONTheight);
OsdSubwinOnOffSet(1,1);
OsdSubwinOnOffSet(0,1);
OsdBlinkDutySet(1);
OsdBlinkStyleSet(0,ON,LIGHTGRAY);
}
void SHOW_TITLE()
{
unsigned COLUMN,FOREcolor=GREEN;
// blank
OsdLoadString(
BLANK_TEXT,BACKGROUNDcolor,BACKGROUNDcolor
,0,2*FONTheight+3
);
if (GetSourceTypeFlag()==AnalogInput)
{ // analog
switch (LEVEL)
{
case LEVEL0:
COLUMN=GetMiddleColumn(0,20,MAIN_TITLE[ITEM0][0]);
OsdLoadString(
MAIN_TITLE[ITEM0],BACKGROUNDcolor,YELLOW
,COLUMN*FONTwidth,2*FONTheight+3
);
break;
case LEVEL1:
switch (ITEM0)
{
case CONTRASTicon:
COLUMN=GetMiddleColumn(0,20,BRIGHTNESS_STRING[0]);
OsdLoadString(
BRIGHTNESS_STRING,BACKGROUNDcolor
,FOREcolor,COLUMN*FONTwidth
,2*FONTheight+3
);
break;
case CLOCKicon:
COLUMN=GetMiddleColumn(0,20,CLOCK_STRING[0]);
OsdLoadString(
CLOCK_STRING,BACKGROUNDcolor
,FOREcolor,COLUMN*FONTwidth
,2*FONTheight+3
);
break;
}
break;
case LEVEL2:
switch (ITEM0)
{
case CONTRASTicon:
COLUMN=GetMiddleColumn(0,20,CONTRAST_STRING[0]);
OsdLoadString(
CONTRAST_STRING,BACKGROUNDcolor,FOREcolor
,COLUMN*FONTwidth,2*FONTheight+3
);
break;
case CLOCKicon:
COLUMN=GetMiddleColumn(0,20,PHASE_STRING[0]);
OsdLoadString(
PHASE_STRING,BACKGROUNDcolor,FOREcolor
,COLUMN*FONTwidth,2*FONTheight+3
);
break;
case POSITIONicon:
switch (ITEM1)
{
case Hitem:
COLUMN=GetMiddleColumn(0,20,H_POSITION_STRING[0]);
OsdLoadString(
H_POSITION_STRING,BACKGROUNDcolor
,FOREcolor,COLUMN*FONTwidth
,2*FONTheight+3
);
break;
case Vitem:
COLUMN=GetMiddleColumn(0,20,V_POSITION_STRING[0]);
OsdLoadString(
V_POSITION_STRING,BACKGROUNDcolor
,FOREcolor,COLUMN*FONTwidth
,2*FONTheight+3
);
break;
}
break;
case ASPECicon:
COLUMN=GetMiddleColumn(0,20,ASPEC_MENU[ITEM1][0]);
OsdLoadString(
ASPEC_MENU[ITEM1],BACKGROUNDcolor,FOREcolor
,COLUMN*FONTwidth,2*FONTheight+3
);
break;
}
} // end of switch (LEVEL)
} // end of if analog
else { // video
switch (LEVEL)
{
case LEVEL1:
switch (ITEM0)
{
case VIDEObrightness:
COLUMN=GetMiddleColumn(0,20,BRIGHTNESS_STRING[0]);
OsdLoadString(
BRIGHTNESS_STRING,BACKGROUNDcolor
,FOREcolor,COLUMN*FONTwidth
,2*FONTheight+3
);
break;
case VIDEOcontrast:
COLUMN=GetMiddleColumn(0,20,CONTRAST_STRING[0]);
OsdLoadString(
CONTRAST_STRING,BACKGROUNDcolor
,FOREcolor,COLUMN*FONTwidth
,2*FONTheight+3
);
break;
case VIDEOsaturation:
COLUMN=GetMiddleColumn(0,20,SATURATION_STRING[0]);
OsdLoadString(
SATURATION_STRING,BACKGROUNDcolor
,FOREcolor,COLUMN*FONTwidth
,2*FONTheight+3
);
break;
case VIDEOhue:
COLUMN=GetMiddleColumn(0,20,HUE_STRING[0]);
OsdLoadString(
HUE_STRING,BACKGROUNDcolor
,FOREcolor,COLUMN*FONTwidth
,2*FONTheight+3
);
break;
} // end of switch (ITEM0)
} // end of switch (LEVEL)
} // end of else for video
}
void ShowEtronMark()
{
SHOW_STRING(ETRON_MARK[0],0,0,WHITE,BROWN);
SHOW_STRING(ETRON_MARK[1],0,1,WHITE,BROWN);
}
void ShowPartialLine(unsigned char BOTTOMrow)
{
OsdWindowClear(BLACK,0,31,240,32);
OsdWindowClear(BLACK,0,(BOTTOMrow+1)<<4,240,((BOTTOMrow+1)<<4)+1);
}
void ShowEtronPage(unsigned char LINE)
{
unsigned char INDEX=0;
SetOsdSize(PAGEwidth,LINE+4);
do {
if ((INDEX==LINE+3)||(INDEX<2))
ShowBlank(INDEX,BROWN,BROWN);
else ShowBlank(INDEX,BACKGROUNDcolor,BACKGROUNDcolor);
} while (++INDEX<LINE+4);
ShowEtronMark();
ShowPartialLine(LINE+2);
}
void ShowPictureIcon(unsigned char *PICTURE)
{
OsdLoadPicture(PICTURE,24,56);
}
void SHOW_ITEM(unsigned char ITEM)
{
unsigned char FOREcolor;
if (GetSourceTypeFlag()==AnalogInput)
{ // analog
FOREcolor= (ITEM==ITEM1) ? CURRENTcolor : BLUE;
switch (ITEM0)
{
case POSITIONicon:
switch (ITEM)
{
case Hitem:
SHOW_STRING(H_POSITION_STRING,0,2,FOREcolor,BACKGROUNDcolor);
break;
case Vitem:
SHOW_STRING(V_POSITION_STRING,0,3,FOREcolor,BACKGROUNDcolor);
break;
}
break;
case ADCicon:
switch (ITEM)
{
case ADCgain:
SHOW_STRING(GAIN_STRING,0,2,FOREcolor,BACKGROUNDcolor);
break;
case ADCoffset:
SHOW_STRING(OFFSET_STRING,0,3,FOREcolor,BACKGROUNDcolor);
break;
}
break;
}
} // end of if (GetSourceTypeFlag()==ANALOGinput)
else { // video
FOREcolor= (ITEM==ITEM0) ? CURRENTcolor : BLUE;
switch (ITEM)
{
case VIDEObrightness:
SHOW_STRING(BRIGHTNESS_STRING,5,2,FOREcolor,BACKGROUNDcolor);
break;
case VIDEOcontrast:
SHOW_STRING(CONTRAST_STRING,5,3,FOREcolor,BACKGROUNDcolor);
break;
case VIDEOsaturation:
SHOW_STRING(SATURATION_STRING,5,4,FOREcolor,BACKGROUNDcolor);
break;
case VIDEOhue:
SHOW_STRING(HUE_STRING,5,5,FOREcolor,BACKGROUNDcolor);
break;
case VIDEOchange:
SHOW_STRING(CHANGE_ANALOG_STRING,5,6,FOREcolor,BACKGROUNDcolor);
break;
}
} // end of else of video
}
void SHOW_Video_MAIN_ITEM()
{
unsigned char INDEX=0,Y,X;
do
{
Y=GetY(INDEX),X=GetX(INDEX);
switch (INDEX)
{
case VIDEObrightness:
OsdLoadPicture(BRIGHTNESS_ENABLE,X,Y);
break;
case VIDEOcontrast:
OsdLoadPicture(CONTRAST_ENABLE,X,Y);
break;
case VIDEOsaturation:
OsdLoadPicture(SHARPNESS_ENABLE,X,Y);
break;
case VIDEOhue:
OsdLoadPicture(RATIO_ENABLE,X,Y);
break;
case VIDEOchange:
OsdLoadPicture(ANALOG_ENABLE,X,Y);
break;
}
SHOW_ITEM(INDEX);
} while (++INDEX<VIDEOmainITEMmax);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -