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

📄 fsgui_util.c

📁 dvd里面的一个文件系统的代码
💻 C
📖 第 1 页 / 共 2 页
字号:
					*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 + -