📄 lin15.c
字号:
ioctl (fd, 4, &m_chinese); m_chinese.x0 += 16; s += 2; } close(fd); return 0;}main(int argc, char **argv){ int fd1; // int rt, i; // unsigned char val; // int temp; int j=0; int a=320; int b=240; int entx[40],enty[40]; int n=0; int m=0; int t=0; if ((fd1 = open("/dev/kbd7312", 0)) < 0) { printf("cannot open /dev/kbd7312\n"); exit(0); }; menu(); for (;;) { value=ioctl(fd1, 0, 0); switch(value) { case 10: /*上移光标*/ if (m==0) break; if (t==1) lcdlin(10); else if (t==2) { clean(); color=11; a=320; b=240; rudder(a,b,color,n); t=0;} else { rudder(a,b,1,n); if (n==0) { if (b>=240) b=b-220; else b=b+20;} else { if (b>=240) b=b-238; else b=b+2;} rudder(a,b,color,n); } break; case 14: /*下移光标*/ if (m==0) { clean(); color=2; lcd_fillrect(0, 0, 320, 60,color); english("file",40,20); english("function",240,20); color=4; lcd_fillrect(110,0,210,60,color); english("direction",120,20); english(s[9],120,80); english(s[12],120,110); english(s[13],120,150); english(s[14],120,180); english(s[11],120,210); break; } if (t==1) lcdlin(14); else { rudder(a,b,1,n); if (n==0) { if (b<=20) b=b+220; else b=b-20; } else { if (b<=5) b=b+238; else b=b-2; } rudder(a,b,color,n); } break; case 13: /*左移光标*/ if (m==0) { clean(); color=2; lcd_fillrect(0, 0, 320, 60,color); english("direction",120,20); english("function",240,20); color=4; lcd_fillrect(0, 0, 100, 60,color); english("file",40,20); english(s[0],40,100); english(s[6],40,130); english(s[15],40,160); break; } if (t==1) lcdlin(13); else { rudder(a,b,1,n); if (n==0) { if(a>=320) a-=310; else a=a+10;} else { if(a>=320) a-=318; else a=a+2;} rudder(a,b,color,n); } break; case 15: /*右移光标*/ if (m==0) { clean(); color=2; lcd_fillrect(0, 0, 320, 60,color); english("file",40,20); english("direction",120,20); color=4; lcd_fillrect(220,0,320,60,color); english("function",240,20); english(s[1],5,120); english(s[2],5,150); english(s[3],5,180); english(s[4],5,210); english(s[5],165,120); english(s[7],165,150); english(s[8],165,180); english(s[10],165,210); break; } if (t==1) lcdlin(15); else { rudder(a,b,1,n); if (n==0) { if(a<=10) a+=310; else a=a-10;} else { if(a<=5) a+=318; else a=a-2;} rudder(a,b,color,n); } break; case 12: /*enter键*/ if (m==0) break; if (t==1) lcdlin(12); else if (t==2) { clean(); color=13; a=320; b=240; rudder(a,b,color,n); t=0;} else { if(j==40) j-=40; entx[j]=a; enty[j]=b; rudder(a,b,1,n); rudder(a,b,color,1); a-=10; rudder(a,b,color,n); j++; } break; case 1: if (t==1) lcdlin(1); else if (t==2) { clean(); color=2; a=320; b=240; rudder(a,b,color,n); t=0;} else { clean(); color=2; rudder(a,b,color,n); m=1;} break; case 2: /*在两点间画直线*/ printf("%d, %d", m, t); if (m==0) break; if (t==1) lcdlin(2); else if (t==2) { clean(); color=3; a=320; b=240; rudder(a,b,color,n); t=0;} else { if (j<2) break; line(entx[j-2],enty[j-2],entx[j-1],enty[j-1]);} break; case 3: /*画矩形*/ if (m==0) break; if (t==1) lcdlin(3); else if (t==2) { clean(); color=4; a=320; b=240; rudder(a,b,color,n); t=0;} else { if (j<2) break; line(entx[j-2],enty[j-2],entx[j-2],enty[j-1]); line(entx[j-2],enty[j-2],entx[j-1],enty[j-2]); line(entx[j-2],enty[j-1],entx[j-1],enty[j-1]); line(entx[j-1],enty[j-2],entx[j-1],enty[j-1]); } break; case 4: /*circle*/ if (m==0) break; if (t==1) lcdlin(4); else if (t==2) { clean(); color=5; a=320; b=240; rudder(a,b,color,n); t=0;} else { if (j<2) break; circle(entx[j-2],enty[j-2],entx[j-1],enty[j-1]);} break; case 5: /*keyvalue*/ if (t==1) lcdlin(5); else if (t==2) { clean(); color=6; a=320; b=240; rudder(a,b,color,n); t=0;} else { clean(); t=1; m=1; } break; case 6: /*moving*/ if (t==1) lcdlin(6); else if (t==2) { clean(); color=7; a=320; b=240; rudder(a,b,color,n); t=0;} else { clean(); moving(fd1); } break; case 7: if (m==0) break; if (t==1) lcdlin(7); else if (t==2) { clean(); color=8; a=320; b=240; rudder(a,b,color,n); t=0;} else { clean(); } break; case 8: if (t==1) lcdlin(8); else if (t==2) { clean(); color=9; a=320; b=240; rudder(a,b,color,n); t=0;} else chinese1(); break; case 9: if (t==1) lcdlin(9); else if (t==2) { clean(); color=10; a=320; b=240; rudder(a,b,color,n); t=0;} else { m=1; n++; if (n==1) clean(); else if (n>1) n=n-2; } break; case 11: if (t==1) lcdlin(11); else if (t==2) { clean(); color=12; a=320; b=240; rudder(a,b,color,n); t=0;} else { t=2; m=1; clean(); lcd_fillrect(240,160,280,200,2); lcd_fillrect(180,160,220,200,3); lcd_fillrect(120,160,160,200,4); lcd_fillrect(60,160,100,200,5); lcd_fillrect(240,100,280,140,6); lcd_fillrect(180,100,220,140,7); lcd_fillrect(120,100,160,140,8); lcd_fillrect(60,100,100,140,9); lcd_fillrect(240,40,280,80,10); lcd_fillrect(180,40,220,80,11); lcd_fillrect(120,40,160,80,12); lcd_fillrect(60,40,100,80,13);} break; case 16: menu(fd1); m=0; t=0; n=0; j=0; a=320; b=240; break; } } close(fd);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -