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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 2.txt

?? 該代碼適用于嵌入式開發(fā)
?? TXT
?? 第 1 頁 / 共 3 頁
字號(hào):
    in_x = 0;  }  if (in_y < 0) {    in_h -= in_y;    in_y = 0;  }  if (in_w > screen_width) {    in_w = screen_width;  }  if (in_h > screen_height) {    in_h = screen_height;  }  if (in_w < 0) {    in_w = 0;  }  if (in_h < 0) {    in_h = 0;  }  *out_x = in_x;  *out_y = in_y;  *out_w = in_w;  *out_h = in_h;}		void patternfill( short dest_x,		 short dest_y, 		 short w,		 short h,		 unsigned char*dest,		 short dest_units_per_line);void  fillrect(short x1, short y1, short x2, short y2){	short x, y, w, h;	clip_screen(x1, y1, x2-x1, y2-y1, &x, &y, &w, &h); 	patternfill(x, y, w, h, screen_ptr, screen_width>>3);}void bitblt(		 short src_x,		 short src_y,		 short w,		 short h,		 short dest_x,		 short dest_y, 		 unsigned char *src,		 short src_units_per_line, 		 unsigned char *dest,		 short dest_units_per_line		 ) {  /* todo: clip */  register char dx;  unsigned short x,y;  unsigned char src_off, dest_off;  short dest_n;  unsigned char dest_beg_mask, dest_end_mask;    /* goto line y */  src += src_y * src_units_per_line;  dest += dest_y * dest_units_per_line;    /* goto UNIT-offset x */  src += src_x >>3;  dest += dest_x >>3;  /* determine number of affected units per line */    dest_n = ((dest_x + w + 8 - 1) >>3) - (dest_x >>3);  /* determine PIXEL-offsets */  src_off = src_x & 7;  dest_off = dest_x & 7;  dx = dest_off - src_off;    /* make masks to mask out untouchable destination */  dest_beg_mask = ~((unsigned char)(-1) >> dest_off);  dest_end_mask = (unsigned char)(-1) >> ((dest_off + w) & 7);  if (dest_end_mask == (unsigned char)(-1)) {    /* bit stupid */    dest_end_mask = 0;  }  //printf("dx=%d\n", dx);  //dump_unit("dest_beg_mask", dest_beg_mask);  //dump_unit("dest_end_mask", dest_end_mask);  for (y = 0; y < h; y++) {    // process one line    register unsigned char *sp;    register unsigned char *dp;    register unsigned char mask = 0;    register unsigned char left, right;    unsigned char s, d;    sp = src;    dp = dest;    for (x = 0; x < dest_n; x++, sp++, dp++) {      // process one unit      if (dx < 0) {	// first, don't care about masks	left = *sp << (-dx);	right = *(sp+1) >> (8 + dx);      } else if (dx > 0) {	// first, don't care about masks	left = *(sp-1) << (8-dx);	right = *(sp) >> (dx);      } else {	left = *sp;	right = 0;      }      s = left | right;      // combine with destination      switch (Mode) {      case MODE_SRC:      default:	d = s;	break;      case MODE_NOT_SRC:	d = ~s;	break;      case MODE_SRC_OR_DST:	d = *dp | s;	break;      case MODE_SRC_AND_DST:	d = *dp & s;	break;      case MODE_SRC_XOR_DST:	d = *dp ^ s;	break;      case MODE_NOT_SRC_OR_DST:	d = *dp | ~s;	break;      case MODE_NOT_SRC_AND_DST:	d = *dp & ~s;	break;      case MODE_NOT_SRC_XOR_DST:	d = *dp ^ ~s;	break;      case MODE_SRC_OR_NOT_DST:	d = ~*dp | s;	break;      case MODE_SRC_AND_NOT_DST:	d = ~*dp & s;	break;      case MODE_SRC_XOR_NOT_DST:	d = ~*dp ^ ~s;	break;      }      mask = 0;      if (x == 0) {	mask |= dest_beg_mask;      }      if (x == dest_n-1) {	mask |= dest_end_mask;      }      *dp = (*dp & mask) | (d & ~mask);    }    src += src_units_per_line;    dest += dest_units_per_line;  }}void patternfill( short dest_x,		 short dest_y, 		 short w,		 short h,		 unsigned char*dest,		 short dest_units_per_line)  {    /* todo: clip */  register char dx;  unsigned short x,y;  unsigned char src_off, dest_off;  short dest_n;  unsigned char dest_beg_mask, dest_end_mask;  const Pattern *pattern = patterns[P_Index];    /* goto line y */  dest += dest_y * dest_units_per_line;    /* goto UNIT-offset x */  dest += dest_x / 8;  /* determine number of affected units per line */    dest_n = (dest_x + w + 8 - 1) / 8 - dest_x / 8;  /* determine PIXEL-offsets */  dest_off = dest_x % 8;    /* make masks to mask out untouchable destination */  dest_beg_mask = ~((unsigned char)(-1) >> dest_off);  dest_end_mask = (unsigned char)(-1) >> ((dest_off + w) % 8);  if (dest_end_mask == (unsigned char)(-1)) {    /* bit stupid */    dest_end_mask = 0;  }    for (y = 0; y < h; y++) {    // process one line    register unsigned char *dp;    register unsigned char mask = 0;    unsigned char s=pattern->data[(dest_y+y)%pattern->height], d;    dp = dest;    for (x = 0; x < dest_n; x++, dp++) {      // combine with destination      switch (Mode) {      case MODE_SRC:      default:	d = s;	break;      case MODE_NOT_SRC:	d = ~s;	break;      case MODE_SRC_OR_DST:	d = *dp | s;	break;      case MODE_SRC_AND_DST:	d = *dp & s;	break;      case MODE_SRC_XOR_DST:	d = *dp ^ s;	break;      case MODE_NOT_SRC_OR_DST:	d = *dp | ~s;	break;      case MODE_NOT_SRC_AND_DST:	d = *dp & ~s;	break;      case MODE_NOT_SRC_XOR_DST:	d = *dp ^ ~s;	break;      case MODE_SRC_OR_NOT_DST:	d = ~*dp | s;	break;      case MODE_SRC_AND_NOT_DST:	d = ~*dp & s;	break;      case MODE_SRC_XOR_NOT_DST:	d = ~*dp ^ ~s;	break;      }      mask = 0;      if (x == 0) {	mask |= dest_beg_mask;      }      if (x == dest_n-1) {	mask |= dest_end_mask;      }      *dp = (*dp & mask) | (d & ~mask);    }    dest += dest_units_per_line;  }}short initgraph(void){  struct fb_var_screeninfo screeninfo;    screen_fd = open("/dev/fb0", O_RDWR);  if (screen_fd == -1)   	{      perror("Unable to open frame buffer device /dev/fb0");      return 0;	 }  if (ioctl(screen_fd, FBIOGET_VSCREENINFO, &screeninfo)==-1) {      perror("Unable to retrieve framebuffer information");      return 0;          }  //screen_width = screeninfo.xres_virtual;  screen_width = 240;//screeninfo.xres_virtual;  //screen_height = screeninfo.yres_virtual;  screen_height = 320;//screeninfo.yres_virtual;  //lyk modified it  //E_Font	= (unsigned char*)(screeninfo.english_font);  //printf("E_Font Address %x %x\n",E_Font,screeninfo.english_font);  //if(!E_Font) 	  //E_Font=(unsigned char*)(0x8804);	  //E_Font=(unsigned char*)(0x8812);   E_Font=fontdata_8x16;//(unsigned char*)(0x0004a690);  screen_ptr = mmap(NULL, ((screen_height * screen_width*2)/4096+1)*4096, PROT_READ|PROT_WRITE, /*0*/MAP_SHARED, screen_fd, 0);   if (screen_ptr==MAP_FAILED) {              perror("Unable to mmap frame buffer");	      close(screen_fd);	      return 0;       }    C_Font=fopen(CHINESE_FONT_FILE,"rb");    if(!C_Font)  	{	 perror("Unable to open Chinese font file");	 close(screen_fd);	 return 0;	}  Color=1;	    return 1;}void closegraph(){  if(screen_fd!=-1) {	close(screen_fd);  }  if(C_Font)	  fclose(C_Font);}void clearscreen(){	memset(screen_ptr,0,screen_width*screen_height*2);}void draw_xbm(short sx, short sy, short width, short height, char* pixel){	short i, j, k, t,l=(width>>=3)*height,m,wid=screen_width>>3;	short d,off;	char *loc=screen_ptr+(off=((sy*screen_width+sx)>>3));          for(k=0,i=0;i<height;i++,k+=wid)          for(j=0;(j<width)&&(j<20);j++) 	{	      d=0;	      for(m=0;m<8;m++)	        if(pixel[k+j]&masktab[m]) d|=masktab[7-m];	      t=k+j;              if((t+off)>=3200) return;	      loc[t]=d;			       	    	}}void draw_bmp(short sx, short sy, short rwidth, short height, char* pixel){	short i, j, k, t,l=rwidth*height,m;	int off,d;	char *loc=screen_ptr+(off=((sy*screen_width+sx)>>3));	//printf("drawing bmp.\n");         for(t=0,k=0,i=0;i<height;i++,k+=screen_width>>3,t+=rwidth)          for(j=0;(j<rwidth)&&(j<20);j++) 	{	      m=k+j;              if(m+off>=3200) 	//	if(m+off>=4000)      	      		return;	      loc[m]=pixel[t+j];			       	    	}	 //printf("draw_bmp finished.\n");}void ShowBMP(char *filename,short x,short y){  BMPHEAD bm;  int tmpi;    FILE *fp=fopen(filename,"rb");  char *buf,c;  int i,j,t,width;  long size;  //printf("showing BMP KEYBORAD.\n");  if(!fp) return;  //printf("freading...\n");  fread(&bm,1,sizeof(BMPHEAD),fp);  //printf("fread finished.\n");	  /*buf = (char*)&bm;  for(tmpi=0;tmpi<sizeof(BMPHEAD);tmpi++)	  printf("%02x ",buf[tmpi]);  printf("\n");  for(tmpi=0;tmpi<sizeof(BMPHEAD);tmpi+=2)	  printf("%04x  ",*((short *)(buf+tmpi)) );  printf("\n");  for(tmpi=0;tmpi<sizeof(BMPHEAD);tmpi+=4)	  printf("%08x      ",*((long *)(buf+tmpi)) );  printf("\n");*/  buf=(char*)&bm.bits;  c=buf[0];  buf[0]=buf[1];  buf[1]=c;  if(bm.bits!=0x100)        {         fclose(fp);         printf("\ngraphic: Unsupported color bitmap\n");         return;        }  //printf("exchange width\n");  //printf("graphic:width=%08x\n",bm.width);  bm.width = 160;  /*buf=(char*)&bm.width;  c=buf[0];  buf[0]=buf[3];  buf[3]=c;  c=buf[1];  buf[1]=buf[2];  buf[2]=c;  printf("graphic:width=%08x\n",bm.width);  */  //printf("exchange height\n");  bm.height = 60;  /*  buf=(char*)&bm.height;  c=buf[0];  buf[0]=buf[3];  buf[3]=c;  c=buf[1];  buf[1]=buf[2];  buf[2]=c;  */  width=(bm.width+7)>>3;  if(width&3)   width+=(4-(width&3));  //printf("bmphead=%d",sizeof(BMPHEAD));  //printf("width=%d,bm.height=%ld,size=%ld\n",width,bm.height,width*bm.height);  buf=(char*)malloc(size=(width*bm.height));  //printf("malloc ok\n");    //fread(&i,1,8,fp);  //fread(buf,1,100,fp);  //lyk  //fread(buf,1,8,fp);  //fread(buf,1,1,fp);  //lseek(fp,8,1);  fread(buf,1,size,fp);  fclose(fp);  //printf("entering loop...\n");  for(i=0;i<(bm.height>>1); i++)    for(t=i*width,j=0;j<width;j++)        {         c=buf[t+j]^0xff;          buf[t+j]=buf[size-width-t+j]^0xff;         buf[size-width-t+j]=c;       }  //printf("loop finished.\n");  draw_bmp(x,y,width,bm.height,buf);  free(buf);}void V_scroll_screen(short height) //Up/Down Scroll{   short dir=(height<0);	   if(dir) height=-height;	      if(height<screen_height) 	{    short nBytes=(screen_width>>3)*height,    	  nCount=(screen_width>>3)*(screen_height-height);	    if(dir)  //Down Scroll	    {	    memmove(screen_ptr+nBytes,screen_ptr,nCount);	    memset(screen_ptr,0,nBytes);	    }	    else     //Up Scroll	    {	    memmove(screen_ptr,screen_ptr+nBytes,nCount);	    memset(screen_ptr+nCount,0,nBytes);    	    }	}   else     clearscreen();	   }void H_scroll_screen(short width) //Left Scroll{ short dir=(width<0);  if(dir) width=-width;  if(width<screen_width) {   if(width&7)   //Check whether it is byte aligned  {  short nCount=screen_width*screen_height>>3;  static unsigned char mskr[]={0,1,3,7,0xf,0x1f,0x3f,0x7f},	  	       mskl[]={0,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe},		       buf[3200];  unsigned char /*buf,*/c,flag=0,d;  short start=(width>>3),length=(width&7),i,j,wid=(screen_width>>3),off;    memcpy(buf,screen_ptr,nCount);  if(dir)  {  for(off=0,j=0;j<screen_height;j++,off+=wid)  {   for(flag=0,i=wid-1;i>=start;i--)   {	d=c=*(buf+off+i);	c<<=length;	if(flag) c|=(flag>>(8-length));	flag=d&mskl[length];	*(buf+off+i)=c;   }  if(start)    for(i=wid-start;i<wid;i++)    {	*(buf+off+i)=0;    }  }  }  else  for(off=0,j=0;j<screen_height;j++,off+=wid)  {   for(flag=0,i=start;i<wid;i++)   {	d=c=*(buf+off+i);	c>>=length;	if(flag) c|=(flag<<(8-length));	flag=d&mskr[length];	*(buf+off+i)=c;   }  if(start)    for(i=0;i<start;i++)    {	*(buf+off+i)=0;    }  }  memcpy(screen_ptr,buf,nCount);   } else  {    short i,j=0,wid=screen_width>>3;        width>>=3;    for(i=0;i<screen_height;i++,j+=wid)    {	    memmove(screen_ptr+j+width,screen_ptr+j,wid-width);	    memset(screen_ptr+j,0,width);    }  } } else   clearscreen();}void textout(short x,short y,unsigned char *buf){  int i,j,count=strlen(buf);  short k,l,m=screen_width>>3;  char pixel[32];  //printf("screen_height=%d\n",screen_height);#ifdef FONT  if(!font) {		puts("Please Init Chinese Enviroment First!");                return;           }#endif      for(i=0;i<count;)  {	 // printf("gui:i=%d,count=%d\n",i,count);   if(y>=screen_height)         {	memmove(screen_ptr,screen_ptr+320,2880);        memset(screen_ptr+2880,0,320);	y-=16;       }      if((buf[i]>=161)&&(buf[i+1]>=161))   {	//int nHeadCount;	//char cTmp;       j=((buf[i]-161)*94+(buf[i+1]-161))<<5;       fseek(C_Font,j,SEEK_SET);       fread(pixel,32,1,C_Font);       //Yongkui Lu changed it to fit the small head problem from Big head problem.       /*for(nHeadCount=0;nHeadCount<32;nHeadCount+=2)       {	       cTmp=pixel[nHeadCount];	       pixel[nHeadCount]=pixel[nHeadCount+1];	       pixel[nHeadCount+1]=cTmp;       }*/       draw_bmp(x,y,2,16,pixel);       x+=16;  	              if(x>=screen_width) {                              y+=16;                             x=0;                           }       i+=2;      }    else     {      //Yongkui Lu add it to fit the small head problem!      //int iTmp=i;//backup i      //printf("gui:i=%d,count=%d,buf[%d]=%c\n",i,count,i,buf[i]);      /*if(i%2==0){	      i++;      }else{	      i--;      }*/      if(buf[i]=='\n') {	      		k=(y*screen_width+x)>>3;			l=(screen_width-x)>>3;	      		for(j=0;j<16;j++,k+=m)			  memset(screen_ptr+k,0,l);	      		x=0;y+=16;	           			}      else      {	      draw_bmp(x,y,1,16,E_Font+(buf[i]<<4));		      x+=8;      }      //i=iTmp; //load from backup      i++;      /*iTmp=i;//backup i      if(i%2==0){	      i++;      }else{	      i--;      }      if(buf[i]=='\n') {	      		k=(y*screen_width+x)>>3;			l=(screen_width-x)>>3;	      		for(j=0;j<16;j++,k+=m)			  memset(screen_ptr+k,0,l);	      		x=0;y+=16;	           			}      else      {	      draw_bmp(x,y,1,16,E_Font+(buf[i]<<4));		      x+=8;      }      i=iTmp; //load from backup      i++;*/     }  }}void setmode(CopyMode mode){  Mode=mode;}CopyMode getmode(void)	{  return Mode;	}void setcolor(short color){  Color=color;}UINT getcolor(void){	return Color;}void setfillpattern(PatternIndex index){  P_Index=index;	}PatternIndex getfillpattern(void){  return P_Index;	}void moveto(short x,short y){	X=x;Y=y;}void lineto(short x,short y){	line(x,y,X,Y);	X=x;Y=y;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区有码在线| 精品国产第一区二区三区观看体验| 色噜噜夜夜夜综合网| 欧美日韩和欧美的一区二区| 日韩一区国产二区欧美三区| 久久久久久黄色| 一区二区免费看| 精品一区二区三区久久| 97精品久久久午夜一区二区三区 | 欧美一区二区三区四区五区| 久久精品男人的天堂| 一区二区三区四区高清精品免费观看 | 日日骚欧美日韩| 国产精品一二一区| 欧美日韩一区二区欧美激情| 久久色视频免费观看| 一区二区三区日韩精品| 精品一区二区三区影院在线午夜 | 亚洲精品成人精品456| 久久精品国产澳门| 色老头久久综合| 337p日本欧洲亚洲大胆精品| 亚洲人成在线播放网站岛国 | 欧美一区二区三区免费观看视频| 中文字幕av一区二区三区| 婷婷开心激情综合| a亚洲天堂av| 日韩欧美自拍偷拍| 一区二区三区在线观看欧美 | 国产网红主播福利一区二区| 亚洲777理论| aaa国产一区| 精品久久久久久久久久久久包黑料| 综合欧美亚洲日本| 国产一区视频网站| 欧美日韩午夜影院| 亚洲欧美日韩中文播放| 国产尤物一区二区| 9191精品国产综合久久久久久| 日韩毛片一二三区| 国产馆精品极品| 日韩欧美国产一区二区三区| 一区二区三国产精华液| www.久久精品| 国产性色一区二区| 久久国产精品99精品国产| 欧美日韩一本到| 亚洲视频网在线直播| 国产 日韩 欧美大片| 欧美videos大乳护士334| 亚洲成人黄色影院| 日本韩国欧美国产| 国产精品久久久久aaaa樱花 | 国产精品久久久久久妇女6080| 国产最新精品免费| 欧美一区二区三区在| 亚洲国产另类av| 欧美在线观看禁18| 亚洲日韩欧美一区二区在线| 粉嫩一区二区三区在线看| 精品动漫一区二区三区在线观看| 丝袜美腿亚洲一区二区图片| 欧美在线播放高清精品| 一区二区三区精品在线| 91美女片黄在线观看91美女| 国产精品美女久久福利网站| 国产麻豆精品在线| 久久久亚洲国产美女国产盗摄| 九九国产精品视频| 欧美成人综合网站| 蜜桃久久av一区| 欧美一区二区视频在线观看 | 精品国产一区a| 精一区二区三区| 久久久久久一二三区| 国产在线一区二区| 国产亚洲一区二区在线观看| 国产传媒一区在线| 中文字幕av一区 二区| 成人精品一区二区三区四区 | 欧美色图天堂网| 午夜av一区二区三区| 91精品欧美一区二区三区综合在| 日韩黄色片在线观看| 日韩视频永久免费| 国产精品一区二区你懂的| 国产日韩欧美制服另类| 丁香啪啪综合成人亚洲小说| 中文字幕欧美一| 色诱视频网站一区| 香港成人在线视频| 日韩欧美中文字幕一区| 国产精品一区二区黑丝| 国产精品毛片无遮挡高清| 99精品视频在线播放观看| 亚洲国产三级在线| 欧美成人福利视频| 成人性生交大合| 亚洲精品国产精品乱码不99| 欧美日韩精品欧美日韩精品| 久久精品99久久久| 国产精品国产三级国产普通话99| 一本久道久久综合中文字幕| 亚洲韩国一区二区三区| 精品国精品国产尤物美女| 国产成人精品午夜视频免费| 一区二区在线观看视频在线观看| 69成人精品免费视频| 国产一区二区精品久久| 亚洲精品伦理在线| 日韩欧美亚洲国产另类| 成人网在线免费视频| 亚洲午夜一区二区| 久久综合九色综合欧美98| 色一区在线观看| 久久国产精品99久久久久久老狼| 国产精品人成在线观看免费| 欧美日韩亚洲综合| 粉嫩一区二区三区在线看| 亚洲电影中文字幕在线观看| 精品第一国产综合精品aⅴ| 色综合久久综合| 久久国内精品自在自线400部| 国产精品伦一区| 日韩免费高清av| 91色在线porny| 老司机精品视频线观看86 | 色哦色哦哦色天天综合| 奇米影视一区二区三区| 国产精品女主播av| 日韩亚洲欧美在线| 99久久国产综合精品麻豆| 青青草伊人久久| 综合久久久久综合| 精品国一区二区三区| 色呦呦日韩精品| 国产一区视频导航| 亚洲综合免费观看高清完整版| 精品国产123| 欧美日韩不卡一区| caoporen国产精品视频| 青青青爽久久午夜综合久久午夜| 亚洲六月丁香色婷婷综合久久| 久久久亚洲精华液精华液精华液| 欧美猛男超大videosgay| eeuss鲁片一区二区三区在线看| 精品一区二区免费视频| 五月婷婷另类国产| 日韩理论片一区二区| 国产日韩欧美精品电影三级在线| 69久久99精品久久久久婷婷| 99久久精品国产网站| 韩国视频一区二区| 日韩国产在线观看一区| 亚洲女同一区二区| 国产日产欧美一区| 欧美成人三级在线| 91精品欧美一区二区三区综合在 | 午夜精品视频在线观看| 成人免费小视频| 国产女主播视频一区二区| 日韩视频一区二区三区在线播放 | 麻豆专区一区二区三区四区五区| 一区二区不卡在线播放 | 99精品久久只有精品| 粉嫩一区二区三区性色av| 国产一区二区三区黄视频| 九九国产精品视频| 免费看黄色91| 全国精品久久少妇| 五月天激情综合| 一区二区三区日韩在线观看| 自拍偷拍亚洲综合| 国产精品国产三级国产普通话三级 | 亚洲一区在线播放| 亚洲欧美日韩精品久久久久| 国产精品视频一区二区三区不卡| 久久免费午夜影院| 26uuu国产在线精品一区二区| 欧美老年两性高潮| 欧美精品在线观看播放| 欧美性大战久久久| 欧美日韩精品免费观看视频 | 麻豆成人91精品二区三区| 免费视频最近日韩| 久久电影网站中文字幕| 精品无人区卡一卡二卡三乱码免费卡| 免费一级片91| 国产精品一区在线观看乱码| 国产精品一卡二| 白白色 亚洲乱淫| 91免费版在线看| 91久久精品一区二区三区| 欧美影片第一页| 欧美一区二区成人6969| 精品国偷自产国产一区| 久久精品男人的天堂| 国产精品国产三级国产aⅴ中文 | 欧美在线999| 欧美一级xxx|