?? fsgui_util.c
字號:
*Y_XYB( (x+16-j)-(i>>2), (y+i) ) = iY;
*C_XYB( (x+16-j)-(i>>2), (y+i) ) = iCbCr;
}
else
{
*Y_XY( (x+16-j)-(i>>2), (y+i) ) = iY;
*C_XY( (x+16-j)-(i>>2), (y+i) ) = iCbCr;
}
}
}
}
}
#endif
#endif
#if 0//yltseng merged to fsgui.c
extern BYTE* get_font_entry(int, int);
void FSGUI_ShowChar_SR(int x, int y, BYTE c, BYTE iY, UINT16 iCbCr) //Jeff 20020823
{
int i, j, i4x, j2x;
BYTE *pFont;
UINT32 my16Bits;
#ifdef OSD_FONT_COMPRESS
pFont = (BYTE *)(SDRAM_BASE + COMP_OSD_FONT * 1024 + font_table[c]);
#else
pFont = (BYTE *)font_table[c];
#endif
//draw a character
for (i = 0; i < 12; i++)
{
BYTE c1, c2;
i4x = i << 2;
c1 = pFont[3 + i4x];
c2 = pFont[4 + i4x];
my16Bits = (c1 << 8) | c2;
for (j = 0; j < 8; j++)
{
j2x = j << 1;
if ((1 << j2x) & my16Bits)
{
*Y_XYB_SR( (x+8-j), (y+i) ) = iY;
*C_XYB_SR( (x+8-j), (y+i) ) = iCbCr;
}
}
}
}
#if defined (USE_SMALL_FONT) && (defined (MP3_LARGE_GUI) || defined(FS_BMP_GUI))
//libing 2005-1-5 21:23
void FSGUI_ShowChar (BYTE vid, int x, int y, BYTE c, BYTE iY, UINT16 iCbCr) //Jeff 20020823
{//libing modified it 2004-12-01 17:48
// Modified by yltseng 20040329 to reduce some computation
int p, i, j;
unsigned uiData;
unsigned data, data1;
BYTE *pFont = NULL;
pFont = get_font_entry(0,c);
if( !pFont )
return;
//pFont += 3;
p = 2;
//draw a character
for (i = 0; i < 16; i++)
{
if(i%2==0)
{
data = pFont[++p];
data1 = pFont[++p] & 0xf0;
uiData = data<<4 | data1>>4;
}else{
data = pFont[p] & 0x0f;
data1 = pFont[++p];
uiData = data<<8 | data1;
}
for (j = 0; j < 12; j++)
{
if ((1 << j) & uiData)
{
if (vid == 2)
{
*Y_XYB( (x+12-j), (y+i) ) = iY;
*C_XYB( (x+12-j), (y+i) ) = iCbCr;
}
else
{
*Y_XY( (x + 12 - j), (y+i) ) = iY;
*C_XY( (x + 12 - j), (y+i) ) = iCbCr;
}
}
}
}
}
#elif defined (MP3_LARGE_GUI) || defined (FS_BMP_GUI) //Maoyong 2003/12/19 add for 720*480 MP3 GUI
void FSGUI_ShowChar (BYTE vid, int x, int y, BYTE c, BYTE iY, UINT16 iCbCr) //Jeff 20020823
{
// Modified by yltseng 20040329 to reduce some computation
int i, j;
UINT16 uiData;
BYTE *pFont = NULL;
pFont = get_font_entry(0,c);
if( !pFont )
return;
pFont += 3;
//draw a character
for (i = 0; i < 24; i++)
{
uiData = ( pFont[0] << 8 ) | pFont[1];
for (j = 0; j < 16; j++)
{
if ((1 << j) & uiData)
{
*Y_XY( (x + 16 - j), (y+i) ) = iY;
*C_XY( (x + 16 - j), (y+i) ) = iCbCr;
}
}
pFont += 2;
}
}
#elif defined (USE_SMALL_FONT) && (!defined (MP3_LARGE_GUI) && !defined(FS_BMP_GUI))
//libing 2005-1-6 9:18
void FSGUI_ShowChar(BYTE vid, int x, int y, BYTE c, BYTE iY, UINT16 iCbCr) //Jeff 20020823
{//libing modified it 2004-12-01 17:48
// Modified by yltseng 20040329 to reduce some computation
int p, i, j;
unsigned uiData;
unsigned data, data1;
BYTE *pFont = NULL;
pFont = get_font_entry(0,c);
if( !pFont )
return;
//pFont += 3;
p = 1;
//draw a character
for (i = 0; i < 8; i++)
{
p +=2;
data = pFont[p];
data1 = pFont[++p] & 0xf0;
uiData = data<<4 | data1>>4;
unsigned uiOffsetBit = 0x01;
for (j = 0; j < 12; j++)
{
if (uiOffsetBit & uiData)
{
if (vid == 2)
{
*Y_XYB( (x+12-j), (y+i) ) = iY;
*C_XYB( (x+12-j), (y+i) ) = iCbCr;
}
else
{
*Y_XY( (x + 12 - j), (y+i+1) ) = iY;
*C_XY( (x + 12 - j), (y+i+1) ) = iCbCr;
}
}
uiOffsetBit <<= 2;
}
}
}
#else//#if defined (MP3_LARGE_GUI) || defined (FS_BMP_GUI) //Maoyong 2003/12/19 add for 720*480 MP3 GUI
void FSGUI_ShowChar(BYTE vid, int x, int y, BYTE c, BYTE iY, UINT16 iCbCr) //Jeff 20020823
{
// Modified by yltseng 20040329. Reduce computation and local variables
int i, j;
UINT16 uiData;
BYTE *pFont;
pFont = get_font_entry(0,c);
if( !pFont )
return;
pFont += 3;
//draw a character
#ifdef PULIANG_6PIC_GUI //yaowh add 05-02-04
if (JPEG_THUMBNAIL_MODE == pFsJpeg->g_nJpegMode)
for (i = 0; i < 24; i++)
{
uiData = ( pFont[0] << 8 ) | pFont[1];
for (j = 0; j < 16; j++)
{
if ((1 << j) & uiData)
{
*Y_XY( (x + 16 - j), (y+i) ) = iY;
*C_XY( (x + 16 - j), (y+i) ) = iCbCr;
}
}
pFont += 2;
}
else
#endif
for (i = 0; i < 12; i++)
{
uiData = (pFont[0] << 8) | pFont[1];
UINT32 uiOffsetBit = 0x01;
for (j = 0; j < 8; j++)
{
if ( uiOffsetBit & uiData )
{
if (vid == 2) //Jeff 20020823
{
*Y_XYB( (x+8-j), (y+i) ) = iY;
*C_XYB( (x+8-j), (y+i) ) = iCbCr;
}
else
{
*Y_XY( (x+8-j), (y+i) ) = iY;
*C_XY( (x+8-j), (y+i) ) = iCbCr;
}
}
uiOffsetBit <<= 2;
}
pFont += 4;
}
}
#endif//if defined (MP3_LARGE_GUI) || defined (FS_BMP_GUI)
#ifdef FS_BMP_GUI
/*
Function:in NTSC mode, show 1/4 size char for jpeg file information
Creator:Feeling
*/
void FSGUI_ShowLittleChar(BYTE vid, int x, int y, BYTE c, BYTE iY, UINT16 iCbCr)
{
// Modified by yltseng 20040329. Reduce computation and local variables
int i, j;
UINT16 uiData;
BYTE *pFont;
pFont = get_font_entry(0,c);
if( !pFont )
return;
pFont += 3;
//draw a character
for (i = 0; i < 12; i++)
{
uiData = (pFont[0] << 8) | pFont[1];
UINT32 uiOffsetBit = 0x01;
for (j = 0; j < 8; j++)
{
if ( uiOffsetBit & uiData )
{
if (vid == 2) //Jeff 20020823
{
*Y_XYB( (x+8-j), (y+i) ) = iY;
*C_XYB( (x+8-j), (y+i) ) = iCbCr;
}
else
{
*Y_XY( (x+8-j), (y+i) ) = iY;
*C_XY( (x+8-j), (y+i) ) = iCbCr;
}
}
uiOffsetBit <<= 2;
}
pFont += 4;
}
}
#endif//#ifdef FS_BMP_GUI
#endif//#if 0//yltseng merged to fsgui.c
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -