#include \#include \#include \#include \#include \#include \#include \#include \#include \#include \#include \#include \#include \ #include \#include \#include \#include \#include \
#include \ #include \
#include \ #include \
#include \
void Load_Drow_Dialog(void) {
LCD_Clear(WHITE);//清屏
POINT_COLOR=BLUE;//设置字体为蓝色
LCD_ShowString(lcddev.width-24,0,200,16,16,\显示清屏区域
}
POINT_COLOR=RED;//设置画笔蓝色
//////////////////////////////////////////////////////////////////////////////// //电容触摸屏专有部分 //画水平线 //x0,y0:坐标 //len:线长度 //color:颜色
void gui_draw_hline(u16 x0,u16 y0,u16 len,u16 color) { }
//画实心圆 //x0,y0:坐标 //r:半径 //color:颜色
void gui_fill_circle(u16 x0,u16 y0,u16 r,u16 color) {
u32 i;
u32 imax = ((u32)r*707)/1000+1; u32 sqmax = (u32)r*(u32)r+(u32)r/2; u32 x=r;
gui_draw_hline(x0-r,y0,2*r,color); for (i=1;i<=imax;i++) {
if ((i*i+x*x)>sqmax)// draw lines from outside {
if(len==0)return;
LCD_Fill(x0,y0,x0+len-1,y0,color);
}
}
}
if (x>imax) { } x--;
gui_draw_hline (x0-i+1,y0+x,2*(i-1),color); gui_draw_hline (x0-i+1,y0-x,2*(i-1),color);
// draw lines from inside (center) gui_draw_hline(x0-x,y0+i,2*x,color); gui_draw_hline(x0-x,y0-i,2*x,color);
//两个数之差的绝对值 //x1,x2:需取差值的两个数 //返回值:|x1-x2|
u16 my_abs(u16 x1,u16 x2) { }
//画一条粗线
//(x1,y1),(x2,y2):线条的起始坐标 //size:线条的粗细程度 //color:线条的颜色
void lcd_draw_bline(u16 x1, u16 y1, u16 x2, u16 y2,u8 size,u16 color) {
u16 t;
int xerr=0,yerr=0,delta_x,delta_y,distance;
if(x1>x2)return x1-x2; else return x2-x1;
int incx,incy,uRow,uCol;
if(x1 if(delta_x>0)incx=1; //设置单步方向 else if(delta_x==0)incx=0;//垂直线 else {incx=-1;delta_x=-delta_x;} if(delta_y>0)incy=1; else if(delta_y==0)incy=0;//水平线 else{incy=-1;delta_y=-delta_y;} if( delta_x>delta_y)distance=delta_x; //选取基本增量坐标轴 else distance=delta_y; for(t=0;t<=distance+1;t++ )//画线输出 { gui_fill_circle(uRow,uCol,size,color);//画点 xerr+=delta_x ; yerr+=delta_y ; if(xerr>distance) { } if(yerr>distance) { yerr-=distance; uCol+=incy; xerr-=distance; uRow+=incx; } } } //////////////////////////////////////////////////////////////////////////////// //5个触控点的颜色 const u16 POINT_COLOR_TBL[OTT_MAX_TOUCH]={RED,GREEN,BLUE,BROWN,GRED}; //电阻触摸屏测试函数 void rtp_test(void) { u8 key; u8 i=0; while(1) { key=KEY_Scan(0); tp_dev.scan(0); //触摸屏被按下 if(tp_dev.sta&TP_PRES_DOWN) { if(tp_dev.x[0] if(tp_dev.x[0]>(lcddev.width-24)&&tp_dev.y[0]<16)Load_Drow_Dialog();//清除 //画图 } else TP_Draw_Big_Point(tp_dev.x[0],tp_dev.y[0],RED); }else delay_ms(10); //没有按键按下的时候 if(key==KEY_RIGHT) //KEY_RIGHT按下,则执行校准程序 { LCD_Clear(WHITE);//清屏 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库触摸屏实验在线全文阅读。
相关推荐: