亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fsgui.c

?? dvd里面的一個文件系統的代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include "global.h"
#include "func.h" 
#include "memmap.h"
#include "util.h" 
#include "graph.h"
#include "framebuf.h"
#include "macro.h"
#include "stc.h"
#include "cfont.h"
#include "vfdfunc.h"
#include "osd.h"
#include "image.h"
#include "iop.h"
#include "memcfg.h"
#include "ircmd.h"
#include "dsp3_if.h"

#include "user_init.h"
#include "nesinit.h"
#include "fs96602.h"

#include "fsNAV.h"

#include "fsGUI.h"
#include "stdlib.h"

#include "fsgui_rgb8.inc"

void FSGUI_DecImg(BYTE *src, BYTE *dest, UINT32 iSrcLen, UINT32 *destLen)
{
	unsigned char cHeader;
	register unsigned char i;
	UINT32 iCurI, iCurO;
	BYTE *pSrc, *pDest;
	
	iCurI = iCurO = 0;
	pSrc = src;
	pDest = dest;
	
	while (iCurI < iSrcLen) {
		cHeader = *(pSrc+iCurI++);
		
		if (cHeader & 0x80) {
			unsigned char array_to_write[129];
			BYTE ch;
			unsigned char i;
			
			ch = *(pSrc+iCurI++);
			
			memset(array_to_write, ch, (cHeader & 127)+2);
			
			for (i=0; i<((cHeader & 127)+2); i++) {
				*(pDest+iCurO++) = *(array_to_write+i);
			}
		} else {
			for (i=0;i<=cHeader;i++) {
				BYTE ch;
				
				ch = *(pSrc+iCurI++);
				
				*(pDest+iCurO++) = ch;
			}
		}
	} // end of while (!end_of_data())
	
	*destLen = iCurO;
}


void FSGUI_FillFrameBuf(int x, int y, int xSize, int ySize, UINT16 color_Y, UINT16 color_CrCb)
{
    int i, j;
    for (j = y; j < y + ySize; j++)
    {
        for (i = x; i < x + xSize; i++)
        {
            *Y_XY(i, j) = (color_Y) & 0xff;
            *C_XY(i, j) = color_CrCb;
        }
    }
}


void FSGUI_ReplaceFrameBuf(int x, int y, int xSize, int ySize, UINT16 replace_Y, UINT16 replace_CrCb, UINT16 color_Y, UINT16 color_CrCb)
{
    int i,j;
    for (j=y; j<y+ySize; j++)
    {
        for (i=x; i<x+xSize; i++)
        {
            UINT8  *py = Y_XY(i,j);
            UINT16 *pc = C_XY(i,j);
            if (py[0]==(replace_Y&0xff) && pc[0]==replace_CrCb)
            {
	        py[0] = color_Y;
	        pc[0] = color_CrCb;
            }
        }
    }
}

	//freyman add 2004-4-19 19:05, to collect the public function in fsGUI1.c and fsGUI_new.c
	#include "fsGUI_pub.c"
	
	//Notes: Now most of the functions in fsGUI1. and fsGUI_new.c
	//		 have been move to fsGUI_pub.c
	//       Any question contact me, wanghaoying 2004-05-14 14:00
	#if defined (NEW_MP3_GUI) || defined(INDIGO_STYLE_FSGUI)  //zhaoyanhua add for new MP3 GUI 3-7-10 14:11
		#ifdef MP3_LARGE_GUI	//Maoyong add for new large GUI, 2003/12/19 14:47
	 	#include "fsGUI_new_large.c"
		#else    
    	#include "fsGUI_new.c"
   		#endif
    #elif defined FS_BMP_GUI//zhaoyanhua add 2004-6-8 9:52
    	#include "fsGUI_BmpUI.c"
	#else
	    #include "fsGUI1.c"
	#endif//ifdef NEW_MP3_GUI
	#if 0//def  FAT_FILE_MODE  //wthsin , 2004/10/8 09:26am//liweihua mark 2004-11-2
	    #include "filemode_GUI.c"
	#endif//ifdef FAT_FILE_MODE 
	#ifdef  FILE_MODE_WRITE  //sunzhh 20041225
	    #include "filemodeGUI_pub.c"
	#endif//ifdef FILE_MODE_WRITE    
   


//Don't remove the following(use the same font set as OSD)
#if 0//20020801
void FSShowChar_Bfm(UINT16 x, UINT16 y, BYTE c, BYTE iY, UINT16 iCbCr)
{	
	int     i, j, i4x, j2x;
	BYTE    *pFont;
	UINT32  my16Bits;
	
	pFont = get_font_entry(0,c+22);
	//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( (x+8-j), (y+i) ) = iY;
				*C_XYB( (x+8-j), (y+i) ) = iCbCr;
			}
		}
	}
}

/*
void draw_char_3byte2line(unsigned char *FontBitmap, int x, int y, BYTE iY, UINT16 iCbCr)
{
	int px, py, bit, i, j;

	for(i = 0; i < 6; i++)
	{
		//3byte => 
		//1st byte-> 1st line MSB 8 pixels, 3th byte-> 2nd line MSB 8 pixels
		//2nd byte-> 1st line LSB 4 pixels,2nd line LSB 4 pixels
		py = i << 1;
		for (j = 0; j < 3; j++)
		{
			if (j == 1)
				px = 8;
			else
				px = 0;

			for (bit = 0; bit < 8; bit++, px++)
			{
				if ((j == 1) && (bit == 4))
				{
					py++;
					px = 8;
				}
				
				if (*(FontBitmap + j) & (1 << (7 - bit)))
				{
					*Y_XY((x + px), (y + py)) = iY;
					*C_XY((x + px), (y + py)) = iCbCr;
				}
			}
        }
        FontBitmap += 3;
    }
}
*/

#if defined( USE_BIG5_FONT )
extern const unsigned char JMT_BIG5_12X12_FONT_BITMAP[];
#define  big5font_table     JMT_BIG5_12X12_FONT_BITMAP

#elif defined( USE_BIG5_COMMON_FONT )
extern const unsigned char JMT_BIG5_12X12_FONT_BITMAP_COMMON[];
#define  big5font_table     JMT_BIG5_12X12_FONT_BITMAP_COMMON

#elif defined USE_GB2312_FONT
extern const unsigned char GUO_GB2312_12X12_FONT_BITMAP[];
#define  hzfont_table     GUO_GB2312_12X12_FONT_BITMAP
#endif

#ifdef USE_GB2312_FONT

#ifdef MP3_LARGE_GUI	//Maoyong add for 32*24 HZ display in 720*480 GUI
#define ROW 2
#define COL  2
void FSGUI_GBShowChar(BYTE vid, int x, int y, BYTE c, BYTE c1, BYTE iY, UINT16 iCbCr)
{
	int index, i,i4x = 0;
    	UINT8 font1[24];
	BYTE cc1, cc2, cc3,cc4;


	/************************************************************
	1. get Font from 12*12 Hz Library and transfer back to 16*12, 
	even byte's low 4 bytes is all 0
	*******************************88888888**********************/
	index = 18 * ((c - 161) * 94 + c1 - 161);
	//draw a character
	for (i = 0; i < 12; i++)
	{
		if(i % 2)
		{
			i4x = i4x + 2;
			cc1 = hzfont_table[index + i4x];
			cc2 = hzfont_table[index + i4x - 1] & 0x0f;
           		 font1[i*2]=cc1;
            		font1[i*2+1]=(cc2<<4);
		}
		else
		{
			i4x = i * 3 / 2;
			cc1 = hzfont_table[index + i4x];
			cc2 = hzfont_table[index + i4x + 1] & 0xf0;
            		font1[i*2]=cc1;
            		font1[i*2+1]=(cc2);
		}
	}
    /****************************************************
	2.Transfer 16*12 to 32 *24 Font	
	*****************************************************/
	BYTE j, k, m, n;
	BYTE width,height;
    	width=16;
    	height=12;
    	UINT16 my16bits=0;
    	UINT8 font2[24*ROW*COL];

	for (i=0;i<height;i++)
       	for(n=0;n<ROW;n++)
            		for(j=0;j<(width/8);j++){
                		for(k=0;k<8;k++)
                    			for(m=0;m<COL;m++)
                        			if((font1[i*2+j]>>(7-k))&0x01)
                             			my16bits |= (1<<(width-1-(k*COL+m)));
                	font2[(i*ROW+n)*4+j*COL]=(my16bits>>8);
                	font2[(i*ROW+n)*4+j*COL+1]=my16bits&0xff;
                	my16bits=0;
            		}
		
       /****************************************************
	3. Draw every valid pixel in this Chinese Font: 
	because the Last 8 bit of a line's 32 bit is always 0, just 24*24
	*****************************************************/
	UINT32 my24Bits = 0;       
       for(i = 0; i<24; i++)	//height
       {
       	i4x = i*4;
       	cc1 = font2[i4x];
       	cc2 = font2[i4x + 1];
       	cc3 = font2[i4x + 2];
       	cc4 = font2[i4x + 3];
       	my24Bits = (cc1<<16) + (cc2<<8) + cc3;	
       	for(j = 0; j<24; j++) //width
       	{
       		if ((1 << j) & my24Bits) 
			{
				*Y_XY( (x + 24 - j),  (y+i) ) = iY;
				*C_XY( (x + 24 - j),  (y+i) ) = iCbCr;				
			}
       	}
       }       
}
#else
void FSGUI_GBShowChar(BYTE vid, int x, int y, BYTE c, BYTE c1, BYTE iY, UINT16 iCbCr)
{
	int index, i, j, i4x = 0;
	UINT32 my12Bits;

	index = 18 * ((c - 161) * 94 + c1 - 161);	//12*12 Table (12*12)/8 = 18, every  char
	//draw a character
	for (i = 0; i < 12; i++)
	{
		BYTE cc1, cc2;
		
		if(i % 2)	//odd line
		{
			i4x = i4x + 2;
			cc1 = hzfont_table[index + i4x];
			cc2 = hzfont_table[index + i4x - 1] & 0x0f;
			my12Bits = (cc1<<4) | cc2;
		}
		else		//even line
		{
			i4x = i * 3 / 2;
			cc1 = hzfont_table[index + i4x];
			cc2 = hzfont_table[index + i4x + 1] & 0xf0;
			my12Bits = (cc1<<4) | (cc2>>4);
		}
		
		for (j = 0; j < 12; j++)
		{
			if ((1 << j) & my12Bits) 
			{
				if (vid == 2)  //Jeff 20020823
				{
					*Y_XYB( (x+14-j), (y+i) ) = iY;
					*C_XYB( (x+14-j), (y+i) ) = iCbCr;
				}
				else
				{
					*Y_XY( (x+14-j), (y+i) ) = iY;
					*C_XY( (x+14-j), (y+i) ) = iCbCr;
				}
			}
		}
	}
}

#endif   //USE_GB2312_FONT
#endif	//end MP3_LARGE_GUI

#if defined( USE_BIG5_FONT ) || defined( USE_BIG5_COMMON_FONT )
#ifdef MP3_LARGE_GUI		//Maoyong 2004.1.13
#define ROW 2
#define COL  2
void FSGUI_Big5ShowChar(BYTE vid, int x, int y, BYTE c, BYTE c1, BYTE iY, UINT16 iCbCr)
{
    // 2004/09/10 yltseng
    int index, i,i4x = 0;
    UINT8 font1[24];
    BYTE cc1, cc2, cc3,cc4;

#ifdef SUPPORT_FONT_UTIL
    UINT8 aCode[2]      = { c, c1, };
    const UINT8* pBmp   = NULL;
    GetCharacterBmp( aCode, &pBmp );
#else
	BYTE CL, CH;
	int seq;

	/****************************************************
	1. get Font from 12*12 Hz Library and transfer back to 16*12, 
	even byte's low 4 bytes is all 0
	*****************************************************/
	CL = c1;
	CH = c;
	
	seq = 0;
	CL -= (CL < 127 ? 64 : 98);
    seq = ( CH - 161 ) * 157 + CL;
	index = seq * 18;
#endif

	for (i = 0; i < 12; i++)
	{		
		if(i % 2)
		{
			i4x = i4x + 2;
#ifdef SUPPORT_FONT_UTIL
            cc1 = pBmp[i4x];
            cc2 = pBmp[i4x-1]&0x0f;
#else
			cc1 = big5font_table[index + i4x];
			cc2 = big5font_table[index + i4x - 1] & 0x0f;
#endif
           	font1[i*2]=cc1;
            font1[i*2+1]=(cc2<<4);
		}
		else
		{
			i4x = i * 3 / 2;
#ifdef SUPPORT_FONT_UTIL
            cc1 = pBmp[i4x];
            cc2 = pBmp[i4x+1]&0xf0;
#else
			cc1 = big5font_table[index + i4x];
			cc2 = big5font_table[index + i4x + 1] & 0xf0;
#endif
            font1[i*2]=cc1;
            font1[i*2+1]=(cc2);
		}
	}
    /****************************************************
	2.Transfer 16*12 to 32 *24 Font	
	*****************************************************/
	BYTE j, k, m, n;
	BYTE width,height;
    	width=16;
    	height=12;
    	UINT16 my16bits=0;
    	UINT8 font2[24*ROW*COL];

	for (i=0;i<height;i++)
       	for(n=0;n<ROW;n++)
            		for(j=0;j<(width/8);j++){
                		for(k=0;k<8;k++)
                    			for(m=0;m<COL;m++)
                        			if((font1[i*2+j]>>(7-k))&0x01)
                             			my16bits |= (1<<(width-1-(k*COL+m)));
                	font2[(i*ROW+n)*4+j*COL]=(my16bits>>8);
                	font2[(i*ROW+n)*4+j*COL+1]=my16bits&0xff;
                	my16bits=0;
            		}

       /****************************************************
	3. Draw every valid pixel in this Chinese Font: 
	because the Last 8 bit of a line's 32 bit is always 0, just 24*24
	*****************************************************/
	UINT32 my24Bits = 0;       
       for(i = 0; i<24; i++)	//height
       {
       	i4x = i*4;
       	cc1 = font2[i4x];
       	cc2 = font2[i4x + 1];
       	cc3 = font2[i4x + 2];
       	cc4 = font2[i4x + 3];
       	my24Bits = (cc1<<16) + (cc2<<8) + cc3;	
       	for(j = 0; j<24; j++) //width
       	{
       		if ((1 << j) & my24Bits) 
			{
				*Y_XY( (x + 24 - j),  (y+i) ) = iY;
				*C_XY( (x + 24 - j),  (y+i) ) = iCbCr;				
			}
       	}
       }	
}
#else
void FSGUI_Big5ShowChar(BYTE vid, int x, int y, BYTE c, BYTE c1, BYTE iY, UINT16 iCbCr)
{
    // 2004/09/10 yltseng
	int index, i, j, i4x = 0;
	UINT32 my12Bits;

#ifdef SUPPORT_FONT_UTIL
    UINT8 aCode[2]      = { c, c1, };
    const UINT8* pBmp   = NULL;
    GetCharacterBmp( aCode, &pBmp );
#else
	int seq;
	BYTE CL, CH;
	
	CL = c1;
	CH = c;
	
	seq = 0;
	CL -= (CL < 127 ? 64 : 98);

    seq = ( CH - 161 ) * 157 + CL;
	index = seq * 18;
#endif

	//draw a character
	for (i = 0; i < 12; i++)
	{
		BYTE cc1, cc2;
		
		if(i % 2)
		{
			i4x = i4x + 2;
#ifdef SUPPORT_FONT_UTIL
            cc1 = pBmp[i4x];
            cc2 = pBmp[i4x-1]&0x0f;
#else
			cc1 = big5font_table[index + i4x];

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久毛片| 国产精品伊人色| 国产自产视频一区二区三区| 91日韩精品一区| 欧美一级欧美三级在线观看| 国产精品伦理在线| 精品一二线国产| 欧美这里有精品| 国产精品欧美一区二区三区| 蜜臀久久99精品久久久久久9| 91丝袜高跟美女视频| 精品国产乱码久久久久久影片| 亚洲精品视频在线看| 高清国产一区二区三区| 欧美成人国产一区二区| 亚洲图片自拍偷拍| 91美女蜜桃在线| 国产精品丝袜久久久久久app| 麻豆视频一区二区| 欧美日韩不卡在线| 亚洲图片欧美综合| 91福利在线免费观看| 国产精品剧情在线亚洲| 国产精品18久久久| 久久女同互慰一区二区三区| 日韩av一区二| 欧美一级理论性理论a| 亚洲成a人v欧美综合天堂| 91一区二区在线| 综合激情网...| 91免费视频网址| 亚洲欧美自拍偷拍| 成人av在线一区二区| 亚洲国产高清在线观看视频| 国产精品一区专区| 日本一区二区三区在线观看| 国产黄色精品网站| 久久久激情视频| 成人精品免费网站| 亚洲欧美经典视频| 色哟哟一区二区| 亚洲一级电影视频| 欧美三日本三级三级在线播放| 玉足女爽爽91| 欧美日韩不卡在线| 久国产精品韩国三级视频| 精品国产乱码久久久久久浪潮| 狠狠色2019综合网| 日韩欧美一级二级| 高清免费成人av| 综合久久一区二区三区| 欧美性感一区二区三区| 日韩精品一区第一页| 精品免费国产一区二区三区四区| 国产毛片一区二区| 中文字幕一区二区三区乱码在线 | 国产日韩精品一区| 成人综合婷婷国产精品久久蜜臀| 国产精品色哟哟| 色成年激情久久综合| 日本视频免费一区| 久久久久久久久久久久久夜| 国产成人在线免费| 一区二区在线观看视频在线观看| 欧美狂野另类xxxxoooo| 国产一区激情在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 91精品国产欧美一区二区| 高清不卡在线观看av| 亚洲国产精品一区二区www| 精品成a人在线观看| 99精品视频在线播放观看| 石原莉奈一区二区三区在线观看| 精品国产成人在线影院| 91丝袜高跟美女视频| 精品亚洲成a人| 亚洲一区二区不卡免费| 精品国产sm最大网站免费看| 色欧美片视频在线观看| 丝袜美腿成人在线| 日韩一区欧美小说| 欧美大肚乱孕交hd孕妇| 色婷婷综合激情| 国产suv一区二区三区88区| 午夜私人影院久久久久| 国产亚洲精品aa午夜观看| 欧美熟乱第一页| 成人午夜视频在线观看| 六月丁香综合在线视频| 亚洲图片欧美色图| 亚洲伦在线观看| 国产欧美一区在线| 欧美成va人片在线观看| 欧美三级视频在线观看| 99re成人精品视频| 麻豆91小视频| 日韩综合一区二区| 亚洲精品国产无天堂网2021 | 国产乱色国产精品免费视频| 日韩国产欧美三级| 一区二区成人在线| 亚洲人成精品久久久久久| 久久精品亚洲乱码伦伦中文| 日韩一区和二区| 中文字幕第一区第二区| 日韩欧美亚洲另类制服综合在线| 91搞黄在线观看| 一本色道**综合亚洲精品蜜桃冫| 不卡一区二区三区四区| 国产成人免费视频精品含羞草妖精| 美女视频黄免费的久久| 亚洲成人动漫在线免费观看| 亚洲综合男人的天堂| 亚洲美女电影在线| 一区二区三区在线免费| 亚洲欧洲综合另类| 夜色激情一区二区| 亚洲国产美女搞黄色| 亚洲第一会所有码转帖| 亚洲va欧美va人人爽| 五月天激情综合| 日本女人一区二区三区| 捆绑调教一区二区三区| 精品影视av免费| 国产一区二区三区不卡在线观看 | 91性感美女视频| 成人一区在线看| 99久久婷婷国产综合精品电影| 91在线精品一区二区| 亚洲国产精品精华液2区45| 国产视频一区二区在线| 亚洲国产成人在线| 成人免费在线视频| 亚洲一区二区四区蜜桃| 五月婷婷激情综合网| 精品一区二区三区免费播放| 国产剧情一区二区| av电影在线观看完整版一区二区| 99久精品国产| 欧美日韩一区不卡| 日韩欧美电影一区| 国产午夜亚洲精品不卡| 亚洲免费高清视频在线| 日本一道高清亚洲日美韩| 国产一区二区在线看| 国产成人av一区| 色婷婷久久综合| 精品免费一区二区三区| 国产精品传媒在线| 日韩电影在线观看电影| 成人性生交大片免费看视频在线| 色综合一个色综合亚洲| 日韩一区二区影院| 国产精品不卡在线| 亚洲综合成人网| 精品一区二区三区在线播放视频| 99久久久无码国产精品| 欧美一级日韩不卡播放免费| 国产精品丝袜在线| 丝袜美腿一区二区三区| 99热精品国产| 久久综合资源网| 亚洲午夜精品17c| 成年人午夜久久久| 欧美videos中文字幕| 亚洲美女一区二区三区| 国内精品免费在线观看| 欧美日韩国产一区二区三区地区| 国产欧美日韩亚州综合 | 在线看日韩精品电影| 精品国产乱码久久久久久1区2区 | 欧美日韩一级黄| 中文字幕精品在线不卡| 日韩精品久久久久久| 91在线观看下载| 国产亚洲精品福利| 另类小说色综合网站| 欧美午夜在线一二页| 亚洲丝袜另类动漫二区| 国产成人精品亚洲日本在线桃色| 日韩一区二区免费在线观看| 亚洲综合在线观看视频| 99视频精品免费视频| 国产欧美一区二区精品婷婷| 九色|91porny| 欧美一级日韩一级| 亚洲bt欧美bt精品| 欧美体内she精高潮| 亚洲国产欧美一区二区三区丁香婷| 99久久免费视频.com| 亚洲欧洲在线观看av| 成人精品免费视频| 国产精品婷婷午夜在线观看| 国产成人精品免费网站| 国产欧美日韩另类视频免费观看| 国产一区二区三区美女| 久久久久久久久久美女| 成人免费毛片app| 综合激情成人伊人| 91丨九色丨国产丨porny|