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

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

?? ebook.c

?? 智原mp3 SDK 開發包 與巨力 有mp3 wma ogg decoder
?? C
字號:
#include <string.h>
#include "api.h"
#include "mp3app.h"
#include "key.h"
#include "lcd.h"
#define EBOOK_SCREEN_WITH		128
#define EBOOK_SCREEN_HIGHT	128
#define COLOR_BLACK		RGB565(0x00,0x00,0x00)
#define COLOR_WHITE		RGB565(0xFF,0xFF,0xFF)
#define COLOR_GOLD		RGB565(0xFF,0xC1,0x25)
#define COLOR_GREEN		RGB565(0x00,0x80,0x80)
extern BOOLEAN change_dir(FILE_INFORMATION *pDir);
extern void scan_dir_file(UINT8 search_mode, UINT8 *extstr, BOOLEAN select_dir);
extern UINT8 select;
extern UINT16 totdir, totfile, totitem;
extern BOOLEAN change_dir(FILE_INFORMATION *pDir);
extern void scan_dir_file(UINT8 search_mode, UINT8 *extstr, BOOLEAN select_dir);
extern UINT8 select;
extern FILE_INFORMATION curr_finfo, curr_dir, play_dir;
extern UINT16 totdir, totfile, totitem;
extern FILE_t *fp;
extern INT8U _buf[256];

UINT16 page=0,theSpChar=0;
BOOLEAN iEbook_end=FALSE,iOnlyPageOne=FALSE,isUp=FALSE;
int savePrePagePos[200];
int thePos=0;
void gfx_txt_display(UINT8 *str,int remainwords)
{
	INT8S data r1;
	UINT8 n, y,*tempstr;
	fg_color = COLOR_WHITE;
	bg_color = COLOR_BLACK;
	r1 = 0;
	n = 0;
	y = 0;
	api_s8GetFont16x16BMP(0, TRUE);
	while(remainwords--){//(*str != '\0') {
		tempstr=str+1;
		if(*str==0x0D&&*tempstr==0x0A)
			{
				n=0;
				y+=16;
				str+=2;
				remainwords--;
				if(y>=128)
					break;
				
				continue;
			}
		if(n >=16) {
			n = 0;
			y += 16;
			if(y >= 128)
				break;
		}
		
		if(*str <= 0x80 && r1 != 1) {
			if(lcd_putc_8x16((n * 8)+4, y, *str++))
				n++;
			continue;
		}
		else {
			r1 = api_s8GetFont16x16BMP(*str++, FALSE);
			if(r1 == 0) {
				if(lcd_putc_16x16((n * 8)+4, y, 0))
					n += 2;
			}
		}
	}
}

/*void vcheckUpSpChar(FILE_t *fileFp)
{
	INT8S data r1=0;
	int remainwords=0,n=16,i=128;
	UINT8 *tempStr,theinputStr[128],*tempStr1,y=128;
	theSpChar=0;
	api_bFileSeek(fileFp,-128, SEEK_CUR);
	remainwords=api_u16FileRead(theinputStr, sizeof(theinputStr), fileFp);
	if(remainwords!=sizeof(theinputStr))
		api_bFileSeek(fileFp,-remainwords, SEEK_CUR);
	else
		api_bFileSeek(fileFp,-128, SEEK_CUR);
	
	api_s8GetFont16x16BMP(0, TRUE);
	tempStr1=theinputStr+remainwords;
	while(1)
		{	
			tempStr=tempStr1-1;
			
			
			if(*tempStr1==0x0A&&*tempStr==0x0D)
			{
				y-=16;
				i=i-n-2;//i-=2;
				if(y<=0)
					break;
				tempStr1-=2;
				
				n=16;
				continue;
			}
			if(n<=0)
			{
				n=16;
				y-=16;
				if(y<=0)
					break;
			}
			if(*tempStr1!=0x0A||*tempStr!=0x0D)
				{
					if(*tempStr1 <= 0x80 && r1 != 1) 
						{
							n--;
							tempStr1--;
							i--;
						}
					else
						{
							i--;
							r1 = api_s8GetFont16x16BMP(*tempStr1--, FALSE);
							if(r1 == 0)
								n -= 2;
							//continue;
						}
				}			
			
		}
	theSpChar=i;
	
		
}*/



void vcheckSpChar(FILE_t *fileFp)
{
	INT8S data r1=0;
	int remainwords=0,n=0,i=0;
	UINT8 *tempStr,theinputStr[128],*tempStr1,y=0;
	theSpChar=0;
	api_bFileSeek(fileFp,0, SEEK_CUR);
	remainwords=api_u16FileRead(theinputStr, sizeof(theinputStr), fileFp);
	if(remainwords!=sizeof(theinputStr))
		api_bFileSeek(fileFp,-remainwords, SEEK_CUR);
	else
		api_bFileSeek(fileFp,-128, SEEK_CUR);
	api_s8GetFont16x16BMP(0, TRUE);
	tempStr1=theinputStr;
	while(1)
		{	
			tempStr=tempStr1+1;
			
			
			if(*tempStr1==0x0D&&*tempStr==0x0A)
			{
				
				y+=16;
				
				if(y>=128)
					break;
				
				tempStr1+=2;
				i+=2;
				
				n=0;
				continue;
			}
			if(n>=16)
			{
				n=0	;
				y+=16;
				if(y>=128)
					break;
			}
			if(*tempStr1!=0x0D||*tempStr!=0x0A)
				{
					if(*tempStr1 <= 0x80 && r1 != 1) 
						{
							n++;
							tempStr1++;
							i++;
						}
					else
						{
							i++;
							r1 = api_s8GetFont16x16BMP(*tempStr1++, FALSE);
							if(r1 == 0)
								n += 2;
							//continue;
						}
				}
			
			
					
			
		}
	theSpChar=i;
		
}


void vchangePageUp(void)
{
	int thePrewords=0;
	if(!iOnlyPageOne)
		{			
					
					if(thePos<=0)
						{
							thePos=0;
							thePrewords=savePrePagePos[0];
						}
					else
						{
							thePos--;
							thePrewords=savePrePagePos[thePos];
						}
					iEbook_end=FALSE;	
					api_bFileSeek(fp,-thePrewords, SEEK_CUR);
					gfx_bg(COLOR_BLACK);
					delay(10);
					api_u16FileRead(time2seg, thePrewords,fp);
					api_bFileSeek(fp,-thePrewords, SEEK_CUR);
					gfx_txt_display(time2seg,thePrewords);		
					/*if(remainwords!= theSpChar)
					{
						iEbook_end=TRUE;
						
					}
					else
						iEbook_end=FALSE;	*/
				
		}
	
}
	





void vchangePageDown(void)
{
	int remainwords=0,i=0;
	if(!iOnlyPageOne)
		{
			gfx_bg(COLOR_BLACK);	
			
			vcheckSpChar(fp);
			delay(10);
			
				
			api_bFileSeek(fp,0, SEEK_CUR);
			remainwords=api_u16FileRead(time2seg, theSpChar,fp);
			if(thePos>=200)
				{
					for(i=0;i<199;i++)
						savePrePagePos[i]=savePrePagePos[i+1];
					savePrePagePos[i]=remainwords;
				}
			else
				savePrePagePos[thePos++]=remainwords;
			gfx_txt_display(time2seg,remainwords);		
			if(remainwords!= theSpChar)
				{
					
					iEbook_end=TRUE;
					//api_bFileSeek(fp,-remainwords, SEEK_CUR);
				}
			else
					iEbook_end=FALSE;	
		}
	
}
void vchangePage(void)
{
	int remainwords=0;
	gfx_bg(COLOR_BLACK);
	thePos=0;
	vcheckSpChar(fp);
	
	api_bFileSeek(fp,0, SEEK_SET);
	remainwords=api_u16FileRead(time2seg, theSpChar,fp);
	savePrePagePos[thePos++]=remainwords;
	gfx_txt_display(time2seg,remainwords);
	if(remainwords!= theSpChar)
		{
			iOnlyPageOne=TRUE;
			api_bFileSeek(fp,-remainwords, SEEK_CUR);
		}
		
}


BOOLEAN bOpenTxt(UINT8 *filename)
{
	fp = NULL;	
	if((fp = api_pFileOpen(filename)) == NULL)
		return false;
	vchangePage();
	
}



BOOLEAN find_txt(void)
{

	my_sprintf(_buf,"%s.TXT",curr_finfo.pu8FileName);
	bOpenTxt(_buf);	
	return true;
}



void screen_ebook_Init(void)
{
	page=0;
	iEbook_end=FALSE;
	thePos=0;
	api_bStop();
	
	if(screen_level != SCREEN_LEVEL_MAINMENU) {
		
		return;
	}
	
	change_dir(0);
	scan_dir_file(SEARCH_MODE_CURRDIR,"TXT",0);
	screen_map(SCREEN_FILEBROWSER);
	
	
}

void screen_ebook(UINT8 key)
{

	
	switch(key) {
		case KEY_MENU:
			api_vFileClose(fp);
			iOnlyPageOne=FALSE;
			theSpChar=0;
			screen_map(SCREEN_MAINMENU);
			return;
		case KEY_PLAY:
			
				
			break;
		case KEY_AB_REPEAT:
			api_vFileClose(fp);
			iOnlyPageOne=FALSE;
			theSpChar=0;
			screen_map(SCREEN_FILEBROWSER);
			break;
		case KEY_NEXT:
			if(!iEbook_end)
				{
					
					page++;
					vchangePageDown();
					delay(10);
				}
			break;
		case KEY_PREV:
				
				page--;
				if(page<=0)
					page=0;
			
				vchangePageUp();
					
				delay(10);	
				
			break;
		default:
			return;
	}
	
	
}





?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美高清在线精品一区| 丁香桃色午夜亚洲一区二区三区| 久久99这里只有精品| jizz一区二区| 精品国产一区二区三区久久久蜜月| 亚洲欧洲三级电影| 久久国产夜色精品鲁鲁99| 91麻豆免费看| 久久久久久免费| 免费在线观看一区| 欧美三级中文字幕在线观看| 中文字幕免费在线观看视频一区| 免费不卡在线观看| 欧美精品视频www在线观看| 亚洲欧洲三级电影| 高清久久久久久| 久久精品一区二区三区不卡牛牛| 免费在线一区观看| 欧美日韩国产综合草草| 亚洲欧洲99久久| 成人av动漫在线| 中文字幕国产精品一区二区| 国产乱子轮精品视频| 日韩欧美成人一区| 免费人成黄页网站在线一区二区| 欧美欧美午夜aⅴ在线观看| 亚洲黄色录像片| 色综合久久九月婷婷色综合| 亚洲欧美在线另类| 91在线高清观看| 亚洲美女偷拍久久| 欧洲在线/亚洲| 亚洲成人精品一区二区| 91麻豆精品国产91久久久更新时间| 一区二区三区电影在线播| 91网页版在线| 一区二区三区在线不卡| 91久久精品午夜一区二区| 一区二区三区欧美日| 欧美亚洲愉拍一区二区| 图片区日韩欧美亚洲| 91精品国产色综合久久ai换脸| 秋霞国产午夜精品免费视频| 日韩欧美中文字幕公布| 国产精选一区二区三区| 国产精品理伦片| 91国产免费观看| 视频一区在线视频| 欧美videos中文字幕| 国产一区二区三区黄视频 | 自拍偷拍国产精品| 色呦呦日韩精品| 日韩高清中文字幕一区| 精品福利一二区| av成人老司机| 亚洲二区在线视频| 日韩一级免费一区| 国产99久久久精品| 亚洲综合在线第一页| 欧美一区二区在线不卡| 国产成人综合网站| 亚洲激情综合网| 日韩女优电影在线观看| 成人免费视频视频| 亚洲成在人线在线播放| 久久久久久久久伊人| 91精彩视频在线观看| 精品一区二区三区久久久| 国产精品欧美经典| 欧美军同video69gay| 国产一区二区不卡| 一区二区三区欧美日| 欧美xxxx老人做受| 在线免费观看成人短视频| 美腿丝袜一区二区三区| 亚洲免费观看高清完整版在线观看熊| 正在播放亚洲一区| 91视频精品在这里| 六月婷婷色综合| 亚洲一区二区三区小说| 国产免费观看久久| 欧美一区二区在线看| 91蜜桃传媒精品久久久一区二区| 奇米综合一区二区三区精品视频| 日本一区二区三区高清不卡| 91精品国产日韩91久久久久久| 国产99精品在线观看| 丝袜亚洲另类欧美| 亚洲欧美另类综合偷拍| 国产无人区一区二区三区| 欧美日韩精品三区| 91啪亚洲精品| 国产99一区视频免费| 日韩国产成人精品| 亚洲一区成人在线| 日本一区二区不卡视频| 久久午夜电影网| 日韩一区二区三区高清免费看看| 一本大道久久a久久精二百| 国产一区 二区 三区一级| 天堂va蜜桃一区二区三区漫画版| 1区2区3区精品视频| 国产网红主播福利一区二区| 日韩精品一区二区三区中文精品| 欧美久久久久久久久| 欧美专区日韩专区| 欧美性受xxxx| 欧美亚洲高清一区二区三区不卡| 99精品久久99久久久久| 一本大道av一区二区在线播放| 欧美国产日韩一二三区| 日韩精品专区在线| 欧美日韩不卡视频| 在线免费一区三区| 91麻豆国产福利在线观看| 99久久精品国产一区二区三区| 国产成人在线观看免费网站| 国内精品伊人久久久久av影院| 蜜桃精品在线观看| 玖玖九九国产精品| 精品一区二区三区在线观看| 蜜桃精品在线观看| 国产精品亚洲第一| 国产成人精品免费| 成人精品gif动图一区| 成人精品在线视频观看| 99国产精品国产精品毛片| 99国产精品99久久久久久| 99久久精品免费| 日韩免费成人网| 26uuu亚洲综合色欧美| 精品捆绑美女sm三区| 欧美一级在线免费| 欧美成va人片在线观看| 26uuu亚洲婷婷狠狠天堂| 精品国产91洋老外米糕| 国产欧美日韩在线观看| 国产精品久久一级| 亚洲男同性视频| 亚洲另类色综合网站| 亚洲精品国久久99热| 一区二区三区在线不卡| 亚洲黄色免费网站| 亚洲国产美女搞黄色| 理论片日本一区| 成人国产精品免费网站| 一本大道av一区二区在线播放| 欧美性三三影院| 欧美精品三级日韩久久| 久久亚洲捆绑美女| 国产精品美女www爽爽爽| 亚洲一区二区欧美激情| 日本在线观看不卡视频| 丰满少妇久久久久久久| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 欧美疯狂性受xxxxx喷水图片| 久久久久久麻豆| 亚洲国产cao| 国产超碰在线一区| 欧美精品精品一区| 亚洲国产精品99久久久久久久久 | 国产精品美女视频| 亚洲va欧美va人人爽| 国产精品一色哟哟哟| 91传媒视频在线播放| 久久久久久久久97黄色工厂| 洋洋av久久久久久久一区| 久久精品噜噜噜成人88aⅴ| 91在线云播放| 欧美tickling网站挠脚心| 一区二区在线观看视频在线观看| 国内精品伊人久久久久av一坑 | 亚洲视频免费在线观看| 日韩在线一区二区| 99精品视频在线免费观看| 精品国产一区二区精华| 午夜电影久久久| 色拍拍在线精品视频8848| 国产人成一区二区三区影院| 天堂成人国产精品一区| 欧美综合欧美视频| 亚洲人成电影网站色mp4| 国内久久精品视频| 日韩一区二区三区电影在线观看 | 欧美性一级生活| 国产精品女同一区二区三区| 久久国产生活片100| 欧美日韩在线观看一区二区 | 裸体在线国模精品偷拍| 欧美在线观看一二区| 亚洲精品视频在线观看网站| 不卡一区在线观看| 国产亲近乱来精品视频| 九九热在线视频观看这里只有精品| 91国模大尺度私拍在线视频| 亚洲日本va在线观看| a级高清视频欧美日韩| 国产网站一区二区| 国产精品1区二区.| 欧美精品一区二区蜜臀亚洲|